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 PISA (Python Input System for AMS) object.
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.input_classes.drivers.SimpleActiveLearning
PISA object 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.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]
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_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 simple_active_learning.rkf.
- property input¶
PISA format 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.