Support functions for Structure property manipulation functions in the
propeditor script.
Structures can be created by reading files in any supported
format.
Copyright Schrodinger, LLC. All rights reserved
|
fxnname()
Return a function's name |
|
|
|
checkCompatibleTypes(prop1,
prop2)
Check that the prop1 can be converted into a prop of type prop2 |
|
|
|
get_op_positions(formula,
allowed_operators=[ ' ** ' , ' = ' , ' + ' , ' - ' , ' * ' , ' / ' , ' ( ' , ' ) ' ] )
Get a list of tuples of start and end positions for all operators. |
|
|
|
checkCT(ct,
ranges)
Checks individual structure (ct) for compliance with user input range
parameters. |
|
|
|
merge_op_positions(op_positions)
Merge individual operator positions into a list of all positions of
the formula string and whether they contain an operator The result is
a list of Boolean values for each character in the formula string
indicating if that character is a known operator. |
|
|
|
generate_groups(formula)
Build 'groups' of the formula pieces, marking each as an operator or
not |
|
|
|
check_formula(formula,
existing_properties=[ ] )
Does some basic checking of the formula |
|
|
|
generate_eval_string(groups,
group_types,
ct_str=' ct ' )
Generate a string to use in eval for calculation from the groups |
|
|
|
generate_eval_string_all(formula_part,
ct_str=' ct ' )
Generate a string to use in eval for calculation from the formula |
|
|
|
calcProperty(ct,
formula,
tocheck_formula=True)
Calculate and set a new property based on calculation from a function
of existing properties. |
|
|
|
listProps(prop_dict)
Print the values for a set of properties. |
|
|
|
listElements(structure)
Sorts the elements in a list and displays them with a count as the
first line |
|
|
|
sliceProp(ct,
propn,
newn,
startval,
endval)
Takes a property, slices its value according to input endpoints and
creates a new property with the sliced portion as the value. |
|
|
|
merge(ct,
prop1,
prop2,
delim,
newname)
Merges the value of two properties according a specified delimiter
and creates a new property with the merged value and the name
'newname'. |
|
|
|
addProperty(ct,
prop,
val,
add,
num=-1)
Adds a property to the input structure with the given value. |
|
|
|
copyProperty(ct,
prop1,
prop2)
Copies the value of one property to another property. |
|
|
|
|
|
delete(ct,
prop)
Deletes a property from a structure |
|
|
|
clear(ct,
prop)
Clears the value of a property For integer and float property types
sets property value to zero. |
|
|
|
split(ct,
propn,
prop1,
prop2,
delim)
Splits the value of a property according to a given delimiter. |
|
|
|
conv_bool(value,
allow_onezero=True)
Convert a boolean string to True/False. |
|
|
|
get_type(value,
onezero_boolean=True)
Get the type of a string value |
|
|
|
readData(filename,
ct_key_prop,
csv_key_prop,
tab_delim=False,
data={ } ,
prop_group=' user ' ,
onezero_boolean=True,
use_first_value=False,
missing_key=' MISSINGENTRY ' )
Read the data of a .csv file into a dict using the csv package. |
|
|
|
exportFile(ct,
fileobj,
num,
props=[ ] ,
tab_delim=False)
Exports a .mae file into a .csv file |
|
|
|
printvals(props,
input_fn,
rules)
Given a list of properties and an input file prints out the values of
every property for every ct in the input file If a set of rules has
been entered, first checks if the CT abides by the rules and only
prints out property values if it does. |
|
|
|
_version = ' $Revision: 1.9 $ '
|
|
ranges = [ ]
|
|
compatible_types = { ' b ' : [ ' b ' , ' i ' , ' r ' , ' s ' ] , ' i ' : [ ' i ' , ' r ' , ...
|
|
stepdown_conv = { ' b ' : [ '
' ] , ' i ' : [ '
' , ' b ' ] , ' r ' : [ '
' , ' b ' , ' i ' ...
|
|
missing_values = { ' b ' : False, ' i ' : 0, ' r ' : 0.0, ' s ' : '
' }
|
|
number_regexs = [ ' ^[+-.]$ ' , ' [+-]?[0-9]+[.]?[0-9]*[eE][+-]?[0- ...
|
|
number_REs = [ re.compile(r'^[ \+- \.] $'), re.compile(r'[ \+-] ? [ 0- ...
|
|
prop_RE = re.compile(r'[ ribs] _.*? _')
|
|
numeric_prop_RE = re.compile(r'[ ri] _.*? _')
|
|
space_RE = re.compile(r'\s')
|
|
allowed_operators = [ ' ** ' , ' = ' , ' + ' , ' - ' , ' * ' , ' / ' , ' ( ' , ' ) ' ]
|
|
op_REs = [ re.compile(r'\*\*'), re.compile(r'='), re.compile(r'...
|
|
allowed_functions = [ <built-in function acos>, <built-in funct...
|
|
allowed_function_names = [ ' acos ' , ' asin ' , ' atan ' , ' cos ' , ' cosh ...
|
|
allowed_function_modules = { ' acos ' : ' math ' , ' asin ' : ' math ' , ' a ...
|
|
conv_functions = {'b': conv_bool, 'i': int, 'r': float, 's': str}
|
|
conv_keys = [ ' b ' , ' i ' , ' r ' , ' s ' ]
|
|
__package__ = ' schrodinger.infra '
|
|
re_str = ' [)] '
|
|
y = ' ) '
|