Reactions Discovery in Python (PLAMS)¶
An example of how to use Reactions Discovery with Python (PLAMS) can be found in the examples section of the PLAMS 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 PISA (Python Input System for AMS) object.
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.input_classes.drivers.ReactionsDiscovery
PISA object 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.input
are automatically converted to the PISA format. You can specifysettings.runscript.nproc
to set the total number of cores to run on.- molecule: scm.plams.Molecule or Dict[str, scm.plams.Molecule]
Two possibilities:
molecule
is of type Molecule - it should then be the complete system as a PLAMS Molecule . Cannot be combined with thedriver.input.MolecularDynamics.BuildSystem
orsettings.input.ams.MolecularDynamics.BuildSystem
. It will be written to the main System block in the input.molecule
is a dictionary with string keys and Molecule values - the keys should then be given in thedriver.input.MolecularDynamics.BuildSystem.Molecule[i].SystemID
input 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_pisa(pisa)[source]¶
Remove a molecule from a System block in the ReactionsDiscovery PISA object and return it as molecule(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_lines
to set custom settings.self.settings.runscript.nproc
controls 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¶
PISA format 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: