API

The complete set of object models and relations implemented by QCPortal. Every class shown here is its own model and the attributes shown are valid kwargs and values which can be fed into the construction.

class qcportal.models.KeywordSet(*, id: qcportal.models.common_models.ObjectId = None, hash_index: str, values: Dict[str, Optional[Any]], lowercase: bool = True, exact_floats: bool = False, comments: str = None)[source]

A key:value storage object for Keywords.

Parameters
  • id (ObjectId, Optional) – The Id of this object, will be automatically assigned when added to the database.

  • hash_index (str, Default: Ellipsis) – The hash of this keyword set to store and check for collisions. This string is automatically computed.

  • values (Dict[str, Optional[Any]], Default: Ellipsis) – The key-value pairs which make up this KeywordSet. There is no direct relation between this dictionary and applicable program/spec it can be used on.

  • lowercase (bool, Default: True) – String keys are in the values dict are normalized to lowercase if this is True. Assists in matching against other KeywordSet objects in the database.

  • exact_floats (bool, Default: False) – All floating point numbers are rounded to 1.e-10 if this is False.Assists in matching against other KeywordSet objects in the database.

  • comments (str, Optional) – Additional comments for this KeywordSet. Intended for pure human/user consumption and clarity.

class qcportal.models.Molecule(orient: bool = False, validate: Optional[bool] = None, *, schema_name: qcelemental.models.molecule.ConstrainedStrValue = 'qcschema_molecule', schema_version: int = 2, validated: bool = False, symbols: qcelemental.models.types.Array, geometry: qcelemental.models.types.Array, name: str = None, identifiers: qcelemental.models.molecule.Identifiers = None, comment: str = None, molecular_charge: float = 0.0, molecular_multiplicity: int = 1, masses: qcelemental.models.types.Array = None, real: qcelemental.models.types.Array = None, atom_labels: qcelemental.models.types.Array = None, atomic_numbers: qcelemental.models.types.Array = None, mass_numbers: qcelemental.models.types.Array = None, connectivity: types.ConstrainedListValue[Tuple[qcelemental.models.molecule.NonnegativeInt, qcelemental.models.molecule.NonnegativeInt, qcelemental.models.molecule.BondOrderFloat]] = None, fragments: List[qcelemental.models.types.Array] = None, fragment_charges: List[float] = None, fragment_multiplicities: List[int] = None, fix_com: bool = False, fix_orientation: bool = False, fix_symmetry: str = None, provenance: qcelemental.models.common_models.Provenance = None, id: Any = None, extras: Dict[str, Any] = None)[source]

The physical Cartesian representation of the molecular system.

A QCSchema representation of a Molecule. This model contains data for symbols, geometry, connectivity, charges, fragmentation, etc while also supporting a wide array of I/O and manipulation capabilities.

Molecule objects geometry, masses, and charges are truncated to 8, 6, and 4 decimal places respectively to assist with duplicate detection.

Notes

All arrays are stored flat but must be reshapable into the dimensions in attribute shape, with abbreviations as follows:

nat: number of atomic = calcinfo_natom nfr: number of fragments <varies>: irregular dimension not systematically reshapable

class qcportal.models.OptimizationRecord(*, client: Any = None, cache: Dict[str, Any] = {}, id: qcportal.models.common_models.ObjectId = None, hash_index: str = None, procedure: qcportal.models.records.ConstrainedStrValue = 'optimization', program: str, version: int = 1, protocols: qcelemental.models.procedures.OptimizationProtocols = OptimizationProtocols(trajectory=<TrajectoryProtocolEnum.all: 'all'>), extras: Dict[str, Any] = {}, stdout: qcportal.models.common_models.ObjectId = None, stderr: qcportal.models.common_models.ObjectId = None, error: qcportal.models.common_models.ObjectId = None, manager_name: str = None, status: qcportal.models.records.RecordStatusEnum = <RecordStatusEnum.incomplete: 'INCOMPLETE'>, modified_on: datetime.datetime = None, created_on: datetime.datetime = None, provenance: qcelemental.models.common_models.Provenance = None, schema_version: int = 1, initial_molecule: qcportal.models.common_models.ObjectId, qc_spec: qcportal.models.common_models.QCSpecification, keywords: Dict[str, Any] = {}, energies: List[float] = None, final_molecule: qcportal.models.common_models.ObjectId = None, trajectory: List[qcportal.models.common_models.ObjectId] = None)[source]

A OptimizationRecord for all optimization procedure data.

Parameters
  • client (Any, Optional) – The client object which the records are fetched from.

  • cache (Dict[str, Any], Default: {}) – Object cache from expensive queries. It should be very rare that this needs to be set manually by the user.

  • id (ObjectId, Optional) – Id of the object on the database. This is assigned automatically by the database.

  • hash_index (str, Optional) – Hash of this object used to detect duplication and collisions in the database.

  • procedure (ConstrainedStrValue, Default: optimization) – A fixed string indication this is a record for an “Optimization”.

  • program (str, Default: Ellipsis) – The quantum chemistry program which carries out the individual quantum chemistry calculations.

  • version (int, Default: 1) – Version of the OptimizationRecord Model which this data was created with.

  • protocols (OptimizationProtocols, Optional)

  • extras (Dict[str, Any], Default: {}) – Extra information to associate with this record.

  • stdout (ObjectId, Optional) – The Id of the stdout data stored in the database which was used to generate this record from the various programs which were called in the process.

  • stderr (ObjectId, Optional) – The Id of the stderr data stored in the database which was used to generate this record from the various programs which were called in the process.

  • error (ObjectId, Optional) – The Id of the error data stored in the database in the event that an error was generated in the process of carrying out the process this record targets. If no errors were raised, this field will be empty.

  • manager_name (str, Optional) – Name of the Queue Manager which generated this record.

  • status ({COMPLETE,INCOMPLETE,RUNNING,ERROR}, Default: INCOMPLETE) – The state of a record object. The states which are available are a finite set.

  • modified_on (datetime, Optional) – Last time the data this record points to was modified.

  • created_on (datetime, Optional) – Time the data this record points to was first created.

  • provenance (Provenance, Optional) – Provenance information tied to the creation of this record. This includes things such as every program which was involved in generating the data for this record.

  • schema_version (int, Default: 1) – The version number of QCSchema under which this record conforms to.

  • initial_molecule (ObjectId, Default: Ellipsis) – The Id of the molecule which was passed in as the reference for this Optimization.

  • qc_spec (QCSpecification, Default: Ellipsis) – The specification of the quantum chemistry calculation to run at each point.

  • keywords (Dict[str, Any], Default: {}) – The keyword options which were passed into the Optimization program. Note: These are a dictionary and not a KeywordSet object.

  • energies (List[float], Optional) – The ordered list of energies at each step of the Optimization.

  • final_molecule (ObjectId, Optional) – The ObjectId of the final, optimized Molecule the Optimization procedure converged to.

  • trajectory (List[ObjectId], Optional) – The list of Molecule Id’s the Optimization procedure generated at each step of the optimization.``initial_molecule`` will be the first index, and final_molecule will be the last index.

get_final_energy()float[source]

The final energy of the geometry optimization.

Returns

The optimization molecular energy.

Return type

float

get_final_molecule()Molecule[source]

Returns the optimized molecule

Returns

The optimized molecule

Return type

Molecule

get_initial_molecule()Molecule[source]

Returns the initial molecule

Returns

The initial molecule

Return type

Molecule

get_molecular_trajectory()List[Molecule][source]

Returns the Molecule at each gradient evaluation in the trajectory.

Returns

A ordered list of Molecules in the trajectory.

Return type

List[‘Molecule’]

get_trajectory()List[qcportal.models.records.ResultRecord][source]

Returns the Result records for each gradient evaluation in the trajectory.

Returns

A ordered list of Result record gradient computations.

Return type

List[‘ResultRecord’]

show_history(units: str = 'kcal/mol', digits: int = 3, relative: bool = True, return_figure: Optional[bool] = None)plotly.Figure[source]

Plots the energy of the trajectory the optimization took.

Parameters
  • units (str, optional) – Units to display the trajectory in.

  • digits (int, optional) – The number of valid digits to show.

  • relative (bool, optional) – If True, all energies are shifted by the lowest energy in the trajectory. Otherwise provides raw energies.

  • return_figure (Optional[bool], optional) – If True, return the raw plotly figure. If False, returns a hosted iPlot. If None, return a iPlot display in Jupyter notebook and a raw plotly figure in all other circumstances.

Returns

The requested figure.

Return type

plotly.Figure

class qcportal.models.QCSpecification(*, driver: qcportal.models.common_models.DriverEnum, method: str, basis: str = None, keywords: qcportal.models.common_models.ObjectId = None, protocols: qcelemental.models.results.ResultProtocols = ResultProtocols(wavefunction=<WavefunctionProtocolEnum.none: 'none'>, stdout=True, error_correction=ErrorCorrectionProtocol(default_policy=True, policies=None)), program: str)[source]

The quantum chemistry metadata specification for individual computations such as energy, gradient, and Hessians.

Parameters
  • driver ({energy,gradient,hessian,properties}, Default: Ellipsis) – The type of calculation that is being performed (e.g., energy, gradient, Hessian, …).

  • method (str, Default: Ellipsis) – The quantum chemistry method to evaluate (e.g., B3LYP, PBE, …).

  • basis (str, Optional) – The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, …). Can be None for methods without basis sets.

  • keywords (ObjectId, Optional) – The Id of the KeywordSet registered in the database to run this calculation with. This Id must exist in the database.

  • protocols (ResultProtocols, Optional) – None

  • program (str, Default: Ellipsis) – The quantum chemistry program to evaluate the computation with. Not all quantum chemistry programs support all combinations of driver/method/basis.

class qcportal.models.GridOptimizationInput(*, program: qcportal.models.gridoptimization.ConstrainedStrValue = 'qcfractal', procedure: qcportal.models.gridoptimization.ConstrainedStrValue = 'gridoptimization', initial_molecule: Union[qcportal.models.common_models.ObjectId, qcelemental.models.molecule.Molecule], keywords: qcportal.models.gridoptimization.GOKeywords, optimization_spec: qcportal.models.common_models.OptimizationSpecification, qc_spec: qcportal.models.common_models.QCSpecification)[source]

The input to create a GridOptimization Service with.

Parameters
  • program (ConstrainedStrValue, Default: qcfractal) – The name of the source program which initializes the Grid Optimization. This is a constant and is used for provenance information.

  • procedure (ConstrainedStrValue, Default: gridoptimization) – The name of the procedure being run. This is a constant and is used for provenance information.

  • initial_molecule (Union[ObjectId, Molecule], Default: Ellipsis) – The Molecule to begin the Grid Optimization with. This can either be an existing Molecule in the database (through its ObjectId) or a fully specified Molecule model.

  • keywords (GOKeywords, Default: Ellipsis) – The keyword options to run the Grid Optimization.

  • optimization_spec (OptimizationSpecification, Default: Ellipsis) – The specification to run the underlying optimization through at each grid point.

  • qc_spec (QCSpecification, Default: Ellipsis) – The specification for each of the quantum chemistry calculations run in each geometry optimization.

class qcportal.models.GridOptimizationRecord(*, client: Any = None, cache: Dict[str, Any] = {}, id: qcportal.models.common_models.ObjectId = None, hash_index: str = None, procedure: qcportal.models.gridoptimization.ConstrainedStrValue = 'gridoptimization', program: qcportal.models.gridoptimization.ConstrainedStrValue = 'qcfractal', version: int = 1, protocols: Dict[str, Any] = None, extras: Dict[str, Any] = {}, stdout: qcportal.models.common_models.ObjectId = None, stderr: qcportal.models.common_models.ObjectId = None, error: qcportal.models.common_models.ObjectId = None, manager_name: str = None, status: qcportal.models.records.RecordStatusEnum = <RecordStatusEnum.incomplete: 'INCOMPLETE'>, modified_on: datetime.datetime = None, created_on: datetime.datetime = None, provenance: qcelemental.models.common_models.Provenance = None, initial_molecule: qcportal.models.common_models.ObjectId, keywords: qcportal.models.gridoptimization.GOKeywords, optimization_spec: qcportal.models.common_models.OptimizationSpecification, qc_spec: qcportal.models.common_models.QCSpecification, starting_molecule: qcportal.models.common_models.ObjectId, final_energy_dict: Dict[str, float], grid_optimizations: Dict[str, qcportal.models.common_models.ObjectId], starting_grid: tuple)[source]

The record of a GridOptimization service result.

A GridOptimization is a type of constrained optimization in which a set of dimension are scanned over. An is to compute the

Parameters
  • client (Any, Optional) – The client object which the records are fetched from.

  • cache (Dict[str, Any], Default: {}) – Object cache from expensive queries. It should be very rare that this needs to be set manually by the user.

  • id (ObjectId, Optional) – Id of the object on the database. This is assigned automatically by the database.

  • hash_index (str, Optional) – Hash of this object used to detect duplication and collisions in the database.

  • procedure (ConstrainedStrValue, Default: gridoptimization) – The name of the procedure being run, which is Grid Optimization. This is a constant and is used for provenance information.

  • program (ConstrainedStrValue, Default: qcfractal) – The name of the source program which initializes the Grid Optimization. This is a constant and is used for provenance information.

  • version (int, Default: 1) – The version number of the Record.

  • protocols (Dict[str, Any], Optional) – Protocols that change the data stored in top level fields.

  • extras (Dict[str, Any], Default: {}) – Extra information to associate with this record.

  • stdout (ObjectId, Optional) – The Id of the stdout data stored in the database which was used to generate this record from the various programs which were called in the process.

  • stderr (ObjectId, Optional) – The Id of the stderr data stored in the database which was used to generate this record from the various programs which were called in the process.

  • error (ObjectId, Optional) – The Id of the error data stored in the database in the event that an error was generated in the process of carrying out the process this record targets. If no errors were raised, this field will be empty.

  • manager_name (str, Optional) – Name of the Queue Manager which generated this record.

  • status ({COMPLETE,INCOMPLETE,RUNNING,ERROR}, Default: INCOMPLETE) – The state of a record object. The states which are available are a finite set.

  • modified_on (datetime, Optional) – Last time the data this record points to was modified.

  • created_on (datetime, Optional) – Time the data this record points to was first created.

  • provenance (Provenance, Optional) – Provenance information tied to the creation of this record. This includes things such as every program which was involved in generating the data for this record.

  • initial_molecule (ObjectId, Default: Ellipsis) – Id of the initial molecule in the database.

  • keywords (GOKeywords, Default: Ellipsis) – The keywords for this Grid Optimization.

  • optimization_spec (OptimizationSpecification, Default: Ellipsis) – The specification of each geometry optimization.

  • qc_spec (QCSpecification, Default: Ellipsis) – The specification for each of the quantum chemistry computations used by the geometry optimizations.

  • starting_molecule (ObjectId, Default: Ellipsis) – Id of the molecule in the database begins the grid optimization. This will differ from the initial_molecule if preoptimization is True.

  • final_energy_dict (name=’final_energy_dict’ type=Mapping[str, float] required=True, Default: Ellipsis) – Map of the final energy from the grid optimization at each grid point.

  • grid_optimizations (name=’grid_optimizations’ type=Mapping[str, ObjectId] required=True, Default: Ellipsis) – The Id of each optimization at each grid point.

  • starting_grid (tuple, Default: Ellipsis) – Initial grid point from which the Grid Optimization started. This grid point is the closest in structure to the starting_molecule.

static deserialize_key(key: str)Tuple[int][source]

Unpacks a string key to a python object.

Parameters

key (str) – The input key

Returns

The unpacked key.

Return type

Tuple[int]

get_final_energies(key: Optional[Union[int, str]] = None)Dict[str, float][source]

Provides the final optimized energies at each grid point.

Parameters

key (Union[int, str, None], optional) – Specifies a single entry to pull from.

Returns

energy – Returns energies at each grid point in a dictionary or at a single point if a key is specified.

Return type

Dict[str, float]

Examples

>>> grid_optimization_record.get_final_energies()
{(-90,): -148.7641654446243, (180,): -148.76501336993732, (0,): -148.75056290106735, (90,): -148.7641654446148}
>>> grid_optimization_record.get_final_energies((-90,))
-148.7641654446243
get_final_molecules(key: Optional[Union[int, str]] = None)Dict[str, qcelemental.models.molecule.Molecule][source]

Provides the final optimized molecules at each grid point.

Parameters

key (Union[int, str, None], optional) – Specifies a single entry to pull from.

Returns

final_molecules – Returns energies at each grid point in a dictionary or at a single point if a key is specified.

Return type

Dict[str, ‘Molecule’]

Examples

>>> mols = grid_optimization_record.get_final_molecules()
>>> type(mols[(-90, )])
qcelemental.models.molecule.Molecule
>>> type(grid_optimization_record.get_final_molecules((-90,)))
qcelemental.models.molecule.Molecule
get_final_results(key: Union[int, Tuple[int, ], str] = None)Dict[str, ResultRecord][source]

Returns the final opt gradient result records at each grid point.

Parameters

key (Union[int, Tuple[int, …], str], optional) – Specifies a single entry to pull from.

Returns

final_results – Returns ResultRecord at each grid point in a dictionary or at a single point if a key is specified.

Return type

Dict[str, ‘ResultRecord’]

Examples

>>> mols = grid_optimization_record.get_final_results()
>>> type(mols[(-90, )])
qcfractal.interface.models.records.ResultRecord
>>> type(grid_optimization_record.get_final_results((-90,)))
qcfractal.interface.models.records.ResultRecord
get_history(key: Optional[Union[int, str]] = None)Dict[str, Optimization][source]

Pulls the optimization history of the computation.

Parameters

key (Union[int, str, None], optional) – Specifies a single entry to pull from.

Returns

Return the optimizations in the computed history.

Return type

Dict[str, ‘Optimization’]

get_scan_dimensions()Tuple[float, ][source]

Returns the overall dimensions of the scan.

Returns

The size of each dimension in the scan.

Return type

Tuple[float, ..]

get_scan_value(scan_number: Union[str, int, Tuple[int]])Tuple[float, ][source]

Obtains the scan parameters at a given grid point.

Parameters

scan_number (Union[str, int, Tuple[int]]) – The key of the scan.

Returns

Description

Return type

Tuple[float, ..]

static serialize_key(key: Union[int, Tuple[int]])str[source]

Serializes the key to map to the internal keys.

Parameters

key (Union[int, Tuple[int]]) – A integer or list of integers denoting the position in the grid to find.

Returns

The internal key value.

Return type

str

class qcportal.models.OptimizationSpecification(*, program: str, keywords: Dict[str, Any] = None, protocols: qcelemental.models.procedures.OptimizationProtocols = OptimizationProtocols(trajectory=<TrajectoryProtocolEnum.all: 'all'>))[source]

Metadata describing a geometry optimization.

Parameters
  • program (str, Default: Ellipsis) – Optimization program to run the optimization with

  • keywords (Dict[str, Any], Optional) – Dictionary of keyword arguments to pass into the program when the program runs. Note that unlike QCSpecification this is a dictionary of keywords, not the Id for a KeywordSet.

  • protocols (OptimizationProtocols, Optional) – Protocols regarding the manipulation of a Optimization output data.

class qcportal.models.OptimizationProtocols(*, trajectory: qcelemental.models.procedures.TrajectoryProtocolEnum = <TrajectoryProtocolEnum.all: 'all'>)[source]

Protocols regarding the manipulation of a Optimization output data.

Parameters

trajectory ({all,initial_and_final,final,none}, Default: all) – Which gradient evaluations to keep in an optimization trajectory.

class qcportal.models.ResultProtocols(*args, wavefunction: qcelemental.models.results.WavefunctionProtocolEnum = <WavefunctionProtocolEnum.none: 'none'>, stdout: bool = True, error_correction: qcelemental.models.results.ErrorCorrectionProtocol = None)[source]
Parameters
  • wavefunction ({all,orbitals_and_eigenvalues,return_results,none}, Default: none) – Wavefunction to keep from a computation.

  • stdout (bool, Default: True) – Primary output file to keep from the computation

  • error_correction (ErrorCorrectionProtocol, Optional) – Policies for error correction

class qcportal.models.TorsionDriveInput(*, program: qcportal.models.torsiondrive.ConstrainedStrValue = 'torsiondrive', procedure: qcportal.models.torsiondrive.ConstrainedStrValue = 'torsiondrive', initial_molecule: List[Union[qcportal.models.common_models.ObjectId, qcelemental.models.molecule.Molecule]], keywords: qcportal.models.torsiondrive.TDKeywords, optimization_spec: qcportal.models.common_models.OptimizationSpecification, qc_spec: qcportal.models.common_models.QCSpecification)[source]

A TorsionDriveRecord Input base class

Parameters
  • program (ConstrainedStrValue, Default: torsiondrive) – The name of the program. Fixed to ‘torsiondrive’ since this input model is only valid for it.

  • procedure (ConstrainedStrValue, Default: torsiondrive) – The name of the Procedure. Fixed to ‘torsiondrive’ since this input model is only valid for it.

  • initial_molecule (List[Union[ObjectId, Molecule]], Default: Ellipsis) – The Molecule(s) to begin the TorsionDrive with. This can either be an existing Molecule in the database (through its ObjectId) or a fully specified Molecule model.

  • keywords (TDKeywords, Default: Ellipsis) – TorsionDrive-specific input arguments to pass into the TorsionDrive Procedure

  • optimization_spec (OptimizationSpecification, Default: Ellipsis) – The settings which describe how to conduct the energy optimizations at each step of the torsion scan.

  • qc_spec (QCSpecification, Default: Ellipsis) – The settings which describe the individual quantum chemistry calculations at each step of the optimization.

class qcportal.models.TorsionDriveRecord(*, client: Any = None, cache: Dict[str, Any] = {}, id: qcportal.models.common_models.ObjectId = None, hash_index: str = None, procedure: qcportal.models.torsiondrive.ConstrainedStrValue = 'torsiondrive', program: qcportal.models.torsiondrive.ConstrainedStrValue = 'torsiondrive', version: int = 1, protocols: Dict[str, Any] = None, extras: Dict[str, Any] = {}, stdout: qcportal.models.common_models.ObjectId = None, stderr: qcportal.models.common_models.ObjectId = None, error: qcportal.models.common_models.ObjectId = None, manager_name: str = None, status: qcportal.models.records.RecordStatusEnum = <RecordStatusEnum.incomplete: 'INCOMPLETE'>, modified_on: datetime.datetime = None, created_on: datetime.datetime = None, provenance: qcelemental.models.common_models.Provenance = None, initial_molecule: List[qcportal.models.common_models.ObjectId], keywords: qcportal.models.torsiondrive.TDKeywords, optimization_spec: qcportal.models.common_models.OptimizationSpecification, qc_spec: qcportal.models.common_models.QCSpecification, final_energy_dict: Dict[str, float], optimization_history: Dict[str, List[qcportal.models.common_models.ObjectId]], minimum_positions: Dict[str, int])[source]

A interface to the raw JSON data of a TorsionDriveRecord torsion scan run.

Parameters
  • client (Any, Optional) – The client object which the records are fetched from.

  • cache (Dict[str, Any], Default: {}) – Object cache from expensive queries. It should be very rare that this needs to be set manually by the user.

  • id (ObjectId, Optional) – Id of the object on the database. This is assigned automatically by the database.

  • hash_index (str, Optional) – Hash of this object used to detect duplication and collisions in the database.

  • procedure (ConstrainedStrValue, Default: torsiondrive) – The name of the procedure. Fixed to ‘torsiondrive’ since this is the Record explicit to TorsionDrive.

  • program (ConstrainedStrValue, Default: torsiondrive) – The name of the program. Fixed to ‘torsiondrive’ since this is the Record explicit to TorsionDrive.

  • version (int, Default: 1) – The version number of the Record.

  • protocols (Dict[str, Any], Optional) – Protocols that change the data stored in top level fields.

  • extras (Dict[str, Any], Default: {}) – Extra information to associate with this record.

  • stdout (ObjectId, Optional) – The Id of the stdout data stored in the database which was used to generate this record from the various programs which were called in the process.

  • stderr (ObjectId, Optional) – The Id of the stderr data stored in the database which was used to generate this record from the various programs which were called in the process.

  • error (ObjectId, Optional) – The Id of the error data stored in the database in the event that an error was generated in the process of carrying out the process this record targets. If no errors were raised, this field will be empty.

  • manager_name (str, Optional) – Name of the Queue Manager which generated this record.

  • status ({COMPLETE,INCOMPLETE,RUNNING,ERROR}, Default: INCOMPLETE) – The state of a record object. The states which are available are a finite set.

  • modified_on (datetime, Optional) – Last time the data this record points to was modified.

  • created_on (datetime, Optional) – Time the data this record points to was first created.

  • provenance (Provenance, Optional) – Provenance information tied to the creation of this record. This includes things such as every program which was involved in generating the data for this record.

  • initial_molecule (List[ObjectId], Default: Ellipsis) – Id(s) of the initial molecule(s) in the database.

  • keywords (TDKeywords, Default: Ellipsis) – The TorsionDrive-specific input arguments used for this operation.

  • optimization_spec (OptimizationSpecification, Default: Ellipsis) – The settings which describe how the energy optimizations at each step of the torsion scan used for this operation.

  • qc_spec (QCSpecification, Default: Ellipsis) – The settings which describe how the individual quantum chemistry calculations are handled for this operation.

  • final_energy_dict (name=’final_energy_dict’ type=Mapping[str, float] required=True, Default: Ellipsis) – The final energy at each angle of the TorsionDrive scan.

  • optimization_history (Dict[str, List[qcportal.models.common_models.ObjectId]], Default: Ellipsis) – The map of each angle of the TorsionDrive scan to each optimization computations. Each value of the dict maps to a sequence of ObjectId strings which each point to a single computation in the Database.

  • minimum_positions (name=’minimum_positions’ type=Mapping[str, int] required=True, Default: Ellipsis) – A map of each TorsionDrive angle to the integer index of that angle’s optimization trajectory which has the minimum-energy of the trajectory.