Reactions Discovery in Python (PLAMS)¶
An example of how to use Reactions Discovery with Python (PLAMS) can be found in the Python Examples documentation.
The scm.reactions_discovery.plams_job Python module contains the below classes.
- class ReactionsDiscoveryResults(job)[source]¶
Results class for ReactionsDiscoveryJob
- get_errormsg()[source]¶
Returns the error message of this calculation if any were raised.
- Returns:
String containing the error message.
- Return type:
str
- get_md_jobs()[source]¶
Returns the AMSJobs used during the calculation.
- Returns:
List of AMSJobs used during the calculation.
- Return type:
List[AMSJob]
- rkfpath()[source]¶
Returns path to reactions_discovery.rkf
- Returns:
Path to reactions_discovery.rkf
- Return type:
str
- get_network_rd()[source]¶
Returns the reaction network represented by Reactions Discovery CombinedMol and CombinedReaction classes.
- Raises:
KFError – If the KF file associated with this result does not contain the required information.
- Returns:
Graph representing the reaction network, a dictionairy of categories and lists of CombinedMol, a dictionairy of categories and CombinedReaction and a list of categories.
- Return type:
Tuple[DiGraph, Dict[str, List[CombinedMol]], Dict[int, CombinedReaction], List[str]]
- get_network()[source]¶
- Returns the reaction network represented by a DiGraph and a dictionairy of lists of PLAMS molecules.
Each key in the dictionary is a category.
- Returns:
graph of the reaction network, dictionary of categories and lists of Molecules, and a list of categories.
- Return type:
Tuple[DiGraph, Dict[str, List[Molecule]], List[str]]
- get_num_md_simulations()[source]¶
Returns the number of MD simulations used during the Molecular Dynamics stage.
- Raises:
KFError – If the KF file associated with this result does not contain the right information.
- Returns:
The number of MD simulations used during the Molecular Dynamics stage.
- Return type:
int
- class ReactionsDiscoveryJob(name='reactions_discovery_job', driver=None, settings=None, molecule=None, **kwargs)[source]¶
PLAMS Job class for running Reactions Discovery.
This class inherits from the PLAMS SingleJob class. For usage, see the SingleJob documentation.
If you supply a Settings object to the constructor, it will be converted to a scm.inputs model.
Attributes:
input: an alias for self.settings.inputbuilder: an alias for self.settings.input.MolecularDynamics.BuildSystem
- __init__(name='reactions_discovery_job', driver=None, settings=None, molecule=None, **kwargs)[source]¶
Initialize the ReactionsDiscoveryJob.
- namestr
The name of the job
- driverscm.inputs.ReactionsDiscovery
scm.inputs model describing the input to the ReactionsDiscovery program
- settings: scm.plams.Settings
All settings for the job. Input settings in the PLAMS settings format under
settings.inputare automatically converted to a scm.inputs model. You can specifysettings.runscript.nprocto set the total number of cores to run on.- molecule: scm.plams.Molecule or Dict[str, scm.plams.Molecule]
Two possibilities:
moleculeis of type Molecule - it should then be the complete system as a PLAMS Molecule . Cannot be combined with thedriver.input.MolecularDynamics.BuildSystemorsettings.input.ams.MolecularDynamics.BuildSystem. It will be written to the main System block in the input.moleculeis a dictionary with string keys and Molecule values - the keys should then be given in thedriver.input.MolecularDynamics.BuildSystem.Molecule[i].SystemIDinput option. The molecules will then be used to build the system before the MD.
- classmethod from_rkf(path)[source]¶
Initialize a job from a reactions_discovery.rkf file.
- Parameters:
path (str) – Path to a reactions_discovery.rkf file
- Returns:
A new ReactionsDiscoveryJob instance based on the information found in path.
- Return type:
- classmethod from_input(text_input)[source]¶
Initialize a job from text input.
- Parameters:
text_input (str) – A multiline text input
- Returns:
A ReactionsDiscoveryJob
- Return type:
- static _extract_mol_from_input(model)[source]¶
Move any System block out of the ReactionsDiscovery input and return it as the job’s system(s).
- get_errormsg()[source]¶
Returns the contents of the jobname.err file if it exists. If the file does not exist an empty string is returned.
- Returns:
The error message
- Return type:
str
- get_runscript()[source]¶
Generates the runscript. Use
self.settings.runscript.preamble_lines = ['line1', 'line2']or similarly forself.settings.runscript.postamble_linesto set custom settings.self.settings.runscript.nproccontrols the total number of cores to run on.
- check()[source]¶
Returns True if “NORMAL TERMINATION” is given in the General section of reactions_discovery.rkf, AND all molecular dynamics jobs also have finished successfully.
- property input¶
scm.inputs model input
- classmethod load_external(path, finalize=False)[source]¶
Load a previous ReactionsDiscovery job from disk.
- Parameters:
path (Union[str, Path]) – A reactions discovery results folder.
finalize (bool, optional) – See SingleJob, defaults to False
- Raises:
FileError – When the path does not exist.
- Returns:
An initialized ReactionsDiscoveryJob
- Return type: