schrodinger.application.matsci.order_parameter_mod module¶
Utilities for order parameter analysis.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.matsci.order_parameter_mod.Result(total_op, per_mol_op)¶
Bases:
tuple
- __contains__(key, /)¶
Return key in self.
- __len__()¶
Return len(self).
- count(value, /)¶
Return number of occurrences of value.
- index(value, start=0, stop=9223372036854775807, /)¶
Return first index of value.
Raises ValueError if the value is not present.
- per_mol_op¶
Alias for field number 1
- total_op¶
Alias for field number 0
- class schrodinger.application.matsci.order_parameter_mod.PerMolOP(mol_numbers, mol_ops)¶
Bases:
tuple
- __contains__(key, /)¶
Return key in self.
- __len__()¶
Return len(self).
- count(value, /)¶
Return number of occurrences of value.
- index(value, start=0, stop=9223372036854775807, /)¶
Return first index of value.
Raises ValueError if the value is not present.
- mol_numbers¶
Alias for field number 0
- mol_ops¶
Alias for field number 1
- schrodinger.application.matsci.order_parameter_mod.log(msg, **kwargs)¶
Add a message to the log file
- Parameters
msg (str) – The message to log
Additional keyword arguments are passed to the textlogger.log_msg function
- schrodinger.application.matsci.order_parameter_mod.get_name_w_mol_n(name, mol_n)¶
Return the name with the molecule number.
- Parameters
name (str) – the name
mol_n (int) – the molecule number
- Return type
str
- Returns
the name with the molecule number
- schrodinger.application.matsci.order_parameter_mod.get_name_wo_mol_n(name)¶
Return the name without the molecule number.
- Parameters
name (str) – the name
- Return type
(str, int) or (str, None)
- Returns
the name without the molecule number and the molecule number if there is one
- class schrodinger.application.matsci.order_parameter_mod.ReduceVecMixin¶
Bases:
object
Manages reducing vectors.
- reduce_vec(n, m)¶
Specify how to reduce the reference director vector, n, and all of the description vectors, m, into an order parameter.
- Parameters
n (numpy.array) – the reference director vector (row vector of length 3)
m (numpy.array) – the description vectors (matrix of size N X 3), where N is the number of molecules
- Return type
float
- Returns
the order parameter
- schrodinger.application.matsci.order_parameter_mod.get_trj_from_cms_file(cms_file)¶
Return the trajectory from the given .cms file.
- Parameters
cms_file (str) – the .cms file (can be a path)
- Return type
list
- Returns
contains the trajectory as a list of schrodinger.application.desmond.packages.traj.Frame
- exception schrodinger.application.matsci.order_parameter_mod.AslException¶
Bases:
Exception
- __init__(*args, **kwargs)¶
- args¶
- with_traceback()¶
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
- exception schrodinger.application.matsci.order_parameter_mod.SmartsException¶
Bases:
Exception
- __init__(*args, **kwargs)¶
- args¶
- with_traceback()¶
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
- class schrodinger.application.matsci.order_parameter_mod.DipoleDirector(*args, **kwargs)¶
Bases:
schrodinger.application.desmond.packages.analysis.DipoleDirector
,schrodinger.application.matsci.order_parameter_mod.ReduceVecMixin
Manage a dipole director.
- __init__(msys_model, cms_model, asl)¶
- disableDyncalc()¶
Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
- isDynamic()¶
- reduce_vec(n, m)¶
Specify how to reduce the reference director vector, n, and all of the description vectors, m, into an order parameter.
- Parameters
n (numpy.array) – the reference director vector (row vector of length 3)
m (numpy.array) – the description vectors (matrix of size N X 3), where N is the number of molecules
- Return type
float
- Returns
the order parameter
- class schrodinger.application.matsci.order_parameter_mod.MomentOfInertiaDirector(*args, **kwargs)¶
Bases:
schrodinger.application.desmond.packages.analysis.MomentOfInertiaDirector
,schrodinger.application.matsci.order_parameter_mod.ReduceVecMixin
Manage a moment of inertia director.
- __init__(msys_model, cms_model, asl)¶
- disableDyncalc()¶
Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
- isDynamic()¶
- reduce_vec(n, m)¶
Specify how to reduce the reference director vector, n, and all of the description vectors, m, into an order parameter.
- Parameters
n (numpy.array) – the reference director vector (row vector of length 3)
m (numpy.array) – the description vectors (matrix of size N X 3), where N is the number of molecules
- Return type
float
- Returns
the order parameter
- class schrodinger.application.matsci.order_parameter_mod.UniqueSmartsDirector(*args, **kwargs)¶
Bases:
schrodinger.application.desmond.packages.analysis.SmartsDirector
,schrodinger.application.matsci.order_parameter_mod.ReduceVecMixin
Manage a unique SMARTS director.
- __init__(msys_model, cms_model, asl, smarts)¶
Create an instance.
- Parameters
msys_model (Desmond msys .System) – the msys object (from msys.LoadMAE)
cms_model (schrodinger.application.desmond.cms.Cms) – the cms object
asl (str) – the ASL for the descriptor
smarts (str) – the SMARTS for the descriptor
- reduce_vec(n, m)¶
Specify how to reduce the reference director vector, n, and all of the description vectors, m, into an order parameter.
- Parameters
n (numpy.array) – the reference director vector (row vector of length 3)
m (numpy.array) – the description vectors (matrix of size N X 3), where N is the number of molecules
- Return type
float
- Returns
the order parameter
- disableDyncalc()¶
Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
- isDynamic()¶
- class schrodinger.application.matsci.order_parameter_mod.SmartsDirector(*args, **kwargs)¶
Bases:
schrodinger.application.desmond.packages.analysis.SmartsDirector
,schrodinger.application.matsci.order_parameter_mod.ReduceVecMixin
Manage a SMARTS director.
- __init__(msys_model, cms_model, asl, smarts)¶
- disableDyncalc()¶
Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
- isDynamic()¶
- reduce_vec(n, m)¶
Calculate Legendre polynomial P2 using the inner product of n and m as the input.
- Parameters
m (N’x3
numpy.array
where N’ is the number of chemical bonds.) – Output ofSmartsDirector
for one frame
- class schrodinger.application.matsci.order_parameter_mod.Descriptor(name, group=None, asl=None, atype=None, smarts=None)¶
Bases:
object
Manage a descriptor.
- DIPOLE = 'dipole'¶
- MOMENT_OF_INERTIA = 'moment_of_inertia'¶
- SMARTS_NONUNIQUE_BONDS = 'SMARTS_nonunique_bonds'¶
- SMARTS_UNIQUE_PAIR = 'SMARTS_unique_pair'¶
- SMARTS_UNIQUE_TRIPLE_NORMAL = 'SMARTS_unique_triple_normal'¶
- TYPES_TO_CLASSES = {'SMARTS_nonunique_bonds': <class 'schrodinger.application.matsci.order_parameter_mod.SmartsDirector'>, 'SMARTS_unique_pair': <class 'schrodinger.application.matsci.order_parameter_mod.UniqueSmartsDirector'>, 'SMARTS_unique_triple_normal': <class 'schrodinger.application.matsci.order_parameter_mod.UniqueSmartsDirector'>, 'dipole': <class 'schrodinger.application.matsci.order_parameter_mod.DipoleDirector'>, 'moment_of_inertia': <class 'schrodinger.application.matsci.order_parameter_mod.MomentOfInertiaDirector'>}¶
- GROUP_KWARG = 'group'¶
- ASL_KWARG = 'asl'¶
- ATYPE_KWARG = 'atype'¶
- SMARTS_KWARG = 'smarts'¶
- __init__(name, group=None, asl=None, atype=None, smarts=None)¶
Create an instance.
- Parameters
name (str) – the name of the descriptor
group (str or None) – the group of the descriptor or None if there isn’t one
asl (str) – the ASL for the descriptor or None if there isn’t one
atype (str) – the type of descriptor or None if there isn’t one
smarts (str or None) – the SMARTS for the descriptor or None if there isn’t one
- getDescriptor(msys_obj, cms_obj)¶
Get the descriptor.
- Parameters
msys_obj (Desmond msys .System) – the msys object (from msys.LoadMAE)
cms_obj (schrodinger.application.desmond.cms.Cms) – the cms object
- Return type
schrodinger.application.desmond.packages.staf.CompositeDynamicAslAnalyzer
- Returns
descriptor subclasses of the given type
- getFileName(basename)¶
Return a file name for this descriptor using the given base name.
- Parameters
basename (str) – base name to use in naming the file
- Return type
str
- Returns
the descriptor file name
- getPerMolFileName(basename)¶
Return a per molecule file name for this descriptor using the given base name.
- Parameters
basename (str) – base name to use in naming the file
- Return type
str
- Returns
the descriptor per molecule file name
- schrodinger.application.matsci.order_parameter_mod.get_descriptors_from_file(descriptors_file, logger=None)¶
Return a list of descriptors from the given descriptors file.
- Parameters
descriptors_file (str) – .json file containing specifications for descriptors, i.e. ways to determine vectors used in computing the order parameters with respect to the director, a specification includes information like name, group, ASL, type, and SMARTS (can be a path)
logger (logging.Logger or None) – output logger or None if there isn’t one
- Return type
list
- Returns
contains Descriptor
- class schrodinger.application.matsci.order_parameter_mod.Director(*args, **kwargs)¶
Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBase
Manage a director.
- __init__(vec)¶
Create an instance.
- Parameters
vec (numpy.array) – the director vector
- disableDyncalc()¶
Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
- isDynamic()¶
- class schrodinger.application.matsci.order_parameter_mod.OrderParameter(cms_file, director_abc_coeffs, descriptors_file, logger=None)¶
Bases:
object
Manage order parameter analysis.
- __init__(cms_file, director_abc_coeffs, descriptors_file, logger=None)¶
Create an instance.
- Parameters
cms_file (str) – the .cms file for the simulation on which to run the order parameter analysis (can be a path)
director_abc_coeffs (tuple) – coefficients of the static reference director vector in the lattice vector basis, for example (0, 0, 1) for the c-lattice vector or z-axis of a cubic cell
descriptors_file (str) – .json file containing specifications for descriptors, i.e. ways to determine vectors used in computing the order parameters with respect to the director, a specification includes information like name, group, ASL, type, and SMARTS (can be a path) (see get_descriptors_from_file for more information)
logger (logging.Logger or None) – output logger or None if there isn’t one
- static getDirector(cms_obj, director_abc_coeffs)¶
Return the unit director vector object for the given cms (in Angstrom).
- Parameters
cms_obj (schrodinger.application.desmond.cms.Cms) – the cms object
director_abc_coeffs (tuple) – coefficients of the static reference director vector in the lattice vector basis, for example (0, 0, 1) for the c-lattice vector or z-axis of a cubic cell
- Return type
- Returns
the unit director vector object
- run()¶
Run the order parameter analysis.