API
Below is an outline of the API for openff-qcsubmit
. See the examples for details on how to use these objects.
Warning
The openff-qcsubmit
package is still pre-alpha, so the API is still in flux.
Datasets
The general QCFractal dataset class which contains all of the molecules and information about them prior to submission. |
|
A basic data class to construct the datasets which holds any information about the molecule and options used in the qcarchive calculation. |
|
An optimisation dataset class which handles submission of settings differently from the basic dataset, and creates optimization datasets in the public or local qcarchive instance. |
|
An optimization dataset specific entry class which can handle constraints. |
|
An torsiondrive dataset class which handles submission of settings differently from the basic dataset, and creates torsiondrive datasets in the public or local qcarchive instance. |
|
A Torsiondrive dataset specific class which can check dihedral indices and store torsiondrive specific settings with built in validation. |
|
A basic data class that contains information on components run in a workflow and the associated molecules which were removed by it. |
Factories
The Base factory which all other dataset factories should inherit from. |
|
Basic dataset generator factory used to build work flows using workflow components before executing them to generate a dataset. |
|
This factory produces OptimisationDatasets which include settings associated with geometric which is used to run the optimisation. |
|
This factory produces TorsiondriveDatasets which include settings associated with geometric which is used to run the optimisation. |
Procedures
This is a settings class controlling the various runtime options that can be used when running geometric. |
Constraints
Results
A class which stores a reference to, and allows the retrieval of, data from a single result record stored in a QCFractal instance. |
|
A class which stores a reference to, and allows the retrieval of, data from a single result record stored in a QCFractal instance. |
|
A class which stores a reference to, and allows the retrieval of, data from a single optimization result record stored in a QCFractal instance. |
|
A class which stores a reference to, and allows the retrieval of, data from a single optimization result record stored in a QCFractal instance. |
|
A class which stores a reference to, and allows the retrieval of, data from a single torsion drive result record stored in a QCFractal instance. |
|
A class which stores a reference to, and allows the retrieval of, data from a single torsion drive result record stored in a QCFractal instance. |
Filters
The base class for a filter which will retain selection of QC records based on a specific criterion. |
|
The base class for a filter which will retain selection of QC records based solely on the CMILES ( / InChI key) associated with the record itself, and not the actual record. |
|
A filter which will remove or retain records which were computed for molecules described by specific SMILES patterns. |
|
A filter which will remove or retain records which were computed for molecules which match specific SMARTS patterns. |
|
A filter which will only retain records if their formal charge matches allowed values or is not in the exclude list. |
|
A filter which will only retain records that contain the requested elements. |
|
A filter which will remove or retain records which were computed for molecules which match specific SMARTS patterns. |
|
A filter which will remove records whose corresponding molecules changed their connectivity during the computation, e.g. |
|
A filter which will only retain records if their status matches a specified value. |
|
A filter which will drop any records computed for molecules whose stereochemistry cannot be perceived from the associated 3D conformers when re-loading the molecule from an SDF file using the OpenFF toolkit. |
|
Filter the results collection and only keep the lowest energy entries. |
|
A filter which will retain up to a maximum number of conformers for each unique molecule (as determined by an entries InChI key) which are distinct to within a specified RMSD tolerance. |
|
A filter that will only retain molecules that have at least a specified number of conformers present in the result collection. |
Caching
Workflow Components
This is an abstract base class which should be used to create all workflow components, following the design of this class should allow users to easily create new work flow components with out needing to change any of the dataset factory code. |
|
A pydantic mixin class that adds toolkit settings and validation along with provenance information. |
Conformer Generation
Standard conformer generator using the OFFTK and the back end toolkits. |
Filters
Filter molecules if their formal charge is not in the charges_to_include list or is in the charges_to_exclude list. |
|
Filters molecules based on the requested force field parameter ids. |
|
Filter the molecules based on a list of allowed elements. |
|
Filters molecules based on the minimum and maximum allowed molecular weights. |
|
Prunes conformers from a molecule that are less than a specified RMSD from all other conformers |
|
Filters molecules based on the maximum and or minimum allowed number of rotatable bonds. |
|
Filters molecules based on if they contain certain smarts substructures. |
|
A filter to remove/include molecules from the workflow who have scans targeting the specified SMARTS. |
Fragmentation
The openff.fragmenter implementation of the Pfizer fragmenation method as described here (doi: 10.1021/acs.jcim.9b00373) |
|
Fragment molecules using the WBO fragmenter class of the fragmenter module. |
State Enumeration
Enumerate the formal charges of the input molecule using the backend toolkits through the OFFTK. |
|
Enumerate the stereo centers and bonds of a molecule using the backend toolkits through the OFFTK, only well defined molecules are returned by this component, this is check via a OFFTK round trip. |
|
Enumerate the tautomers of a molecule using the backend toolkits through the OFFTK. |
|
This module will tag any matching substructures for scanning, useful for torsiondrive datasets. |
Utils
Class to contain molecules after the execution of a workflow component. |
|
A class used to mark torsions that will be driven for torsiondrive datasets. |
|
A class used to mark coupled torsions which should be scanned. |
|
A class to keep track of improper torsions being scanned. |
|
A class to keep track of the torsions highlighted for scanning, with methods for combining and deduplication. |
|
A class to hold information on Improper scans to be computed. |
|
A class to hold information on 1D scans to be computed. |
|
A class to hold information on 2D scans to be computed. |
|
A class to keep track of the torsions highlighted for scanning, with methods for combining and deduplication. |
Common Structures
The basic configurations for all datasets. |
|
A basic config class for results structures. |
|
The workflow properties class which controls if the component can be used in multiprocessing or if the component produces duplicates. |
|
A replacement of the TDKeywords class in the QCFractal which drops the dihedrals field as this is moved up the model. |
|
A class to handle PCM settings which can be used with PSi4. |
|
A mixin class for handling the QCSpecification |
|
This class offers the ability to clean a molecule index that already has a numeric tag useful for datasets and results. |
|
A general metadata class which is required to be filled in before submitting a dataset to the qcarchive. |
|
A class to hold and validate the molecule attributes associated with a QCArchive entry, All attributes are required to be entered into a dataset. |
|
The type of SCF property that should be extracted from a single point calculation. |
|
A common base structure which the dataset and factory classes derive from. |
Exceptions
Base QCSubmit exception, should always use the appropriate subclass of this exception. |
|
The file type requested is not supported. |
|
The workflow component is invalid. |
|
The requested workflow component could not be found. |
|
A component with this name has already been registered with QCSubmit. |
|
The requested workflow component could not be added due to missing requirements. |
|
The requested client address could not be contacted. |
|
The requested driver is not valid. |
|
The information entered into the dataset is not valid or missing so component. |
|
The basis set selected does not contain element coverage for all atoms in the dataset. |
|
The tagged dihedral is not connected on this molecule and should not be driven. |
|
The tagged dihedral involves a linear bond which should not be driven. |
|
The molecule is a complex of two or more units. |
|
The types of dataset are not the same and can not be combined. |
|
The QCSpecification combination of method basis and program is not valid. |
|
The tagged angle is not connected in this molecule and the constraint or grid opt could be incorrect. |
|
The tagged bond is not connected in this molecule and the constraint or grid opt could be incorrect. |
|
A general connection error raised when a general connection check fails. |
|
A general error raised when an invalid PCM setting is entered. |
|
The dataset can not be registered as it is not valid sub class of the Dataset |
|
A dataset of this type has already been registered with qcsubmit |
|
A record was not of the expected type (e.g. |