Python API¶
Python APIs for the SimpleActiveLearningJob (a type of PLAMS Job) and SimpleActiveLearningResults classes.
Import it like this:
#!/usr/bin/env amspython
from scm.simple_active_learning import SimpleActiveLearningJob
See also
SimpleActiveLearningJob¶
- class SimpleActiveLearningJob(name='simple_active_learning_job', driver=None, settings=None, molecule=None, **kwargs)[source]¶
PLAMS Job class for running Simple Active Learning.
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.input
- __init__(name='simple_active_learning_job', driver=None, settings=None, molecule=None, **kwargs)[source]¶
Initialize the SimpleActiveLearningJob.
- namestr
The name of the job
- driverscm.inputs.SimpleActiveLearning
scm.inputs model describing the input to the SimpleActiveLearning 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]
The initial system in PLAMS Molecule format, or if the simulation requires multiple input system, given as a dictionary where the main system has an empty string
""as the key.
- classmethod load_external(path, finalize=False)[source]¶
Load a previous SimpleActiveLearning 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 SimpleActiveLearningJob
- Return type:
- classmethod from_rkf(path)[source]¶
Initialize a job from a simple_active_learning.rkf file.
- Parameters:
path (str) – Path to a simple_active_learning.rkf file
- Returns:
A new SimpleActiveLearningJob 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 SimpleActiveLearningJob
- Return type:
- classmethod restart_from(job, name='simple_active_learning_job', molecule=None, keep_initial_reference_data_settings=False, job_prefix=None)[source]¶
Returns a SimpleActiveLearningJob with LoadModel set appropriately.
- Parameters:
job (Union[SimpleActiveLearningJob, str, Path]) – A previously finished SimpleActiveLearningJob (or path to its results folder)
molecule (Optional[Molecule], default None) – Input molecule for the new job. If None, use the final molecule from
job.keep_initial_reference_data_settings (bool, default False) – Whether to keep the ActiveLearning%InitialReferenceData block from the original job.
- Returns:
Returns a new SimpleActiveLearningJob.
- Return type:
- 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 simple_active_learning.rkf.
- property input¶
scm.inputs model input
SimpleActiveLearningResults¶
Note
You should not initialize SimpleActiveLearningResults yourself. Instead always access it as job.results, where job is of type SimpleActiveLearningJob.
- class SimpleActiveLearningResults(job)[source]¶
Results class for SimpleActiveLearningJob
- get_errormsg()[source]¶
Returns the error message of this calculation if any were raised.
- Returns:
String containing the error message.
- Return type:
str
- rkfpath(file='simple_active_learning')[source]¶
Returns path to simple_active_learning.rkf
- Returns:
Path to simple_active_learning.rkf
- Return type:
str
- get_simulation_directory(step=None, attempt=None, allow_final=True)[source]¶
Returns the absolute path to a simulation directory.
- step: optional, int
The step number. If not specified will be autodetected to the last step.
- attempt: optional, int
The attempt number. If not specified will be autodetected to the last attempt.
- allow_final: bool
If True and step=None and attempt=None, then it will return final_production_simulation if it exists.
- get_main_molecule(allow_final=True)[source]¶
Returns AMSResults.get_main_molecule() on the main simulation job.
- Parameters:
allow_final (bool, optional) – _description_, defaults to True
- Returns:
_description_
- Return type:
Union[Molecule, Dict[str, Molecule], None]
- get_params_results_directory(step=None, attempt=None, allow_final=True)[source]¶
Returns the absolute path to a ParAMS results directory that can be loaded with ParAMSJob.load_external or used as LoadModel in ParAMS or SimpleActiveLearning input.
- step: optional, int
The step number. If not specified will be autodetected to the last step.
- attempt: optional, int
The attempt number. If not specified will be autodetected to the last attempt.
- allow_final: bool
If True and step=None and attempt=None, then it will return final_training/results if it exists.
- get_params_job(step=None, attempt=None, allow_final=True)[source]¶
Returns the latest ParAMSJob. This can be used to analyze results from the parametrization.
- Parameters:
step (Optional[int], optional) – _description_, defaults to None
attempt (Optional[int], optional) – _description_, defaults to None
allow_final (bool, optional) – _description_, defaults to True
- Returns:
_description_
- Return type:
ParAMSJob
- get_production_engine_settings(step=None, attempt=None, allow_final=True)[source]¶
Returns the production engine settings from the ParAMSJob
- get_reference_data_directory(step=None, attempt=None)[source]¶
Returns the absolute path to a reference data directory that can be opened in the ParAMS GUI or which lets you initialize a ParAMSJob with ParAMSJob.from_yaml()
- step: optional, int
The step number. If not specified will be autodetected to the last step.
- attempt: optional, int
The attempt number. If not specified will be autodetected to the last attempt.
- allow_final: bool
If True and step=None and attempt=None, then it will return final_training/results if it exists.