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