OptimizationResultCollection

pydantic model openff.qcsubmit.results.OptimizationResultCollection[source]

A class which stores a reference to, and allows the retrieval of, data from a single optimization result record stored in a QCFractal instance.

Show JSON schema
{
   "title": "OptimizationResultCollection",
   "description": "A class which stores a reference to, and allows the retrieval of, data from\na single optimization result record stored in a QCFractal instance.",
   "type": "object",
   "properties": {
      "entries": {
         "title": "Entries",
         "description": "The entries stored in this collection in a dictionary of the form ``collection.entries['qcfractal_address'] = [record_1, ..., record_N]``.",
         "type": "object",
         "additionalProperties": {
            "type": "array",
            "items": {
               "$ref": "#/definitions/OptimizationResult"
            }
         }
      },
      "provenance": {
         "title": "Provenance",
         "description": "A dictionary which can contain provenance information about how and why this collection was curated.",
         "default": {},
         "type": "object"
      },
      "type": {
         "title": "Type",
         "default": "OptimizationResultCollection",
         "enum": [
            "OptimizationResultCollection"
         ],
         "type": "string"
      }
   },
   "required": [
      "entries"
   ],
   "definitions": {
      "OptimizationResult": {
         "title": "OptimizationResult",
         "description": "A class which stores a reference to, and allows the retrieval of, data from\na single optimization result record stored in a QCFractal instance.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "default": "optimization",
               "enum": [
                  "optimization"
               ],
               "type": "string"
            },
            "record_id": {
               "title": "Record Id",
               "description": "The unique id assigned to the record referenced by this result.",
               "type": "integer"
            },
            "cmiles": {
               "title": "Cmiles",
               "description": "The canonical, isomeric, explicit hydrogen, mapped SMILES representation of the molecule that this record was created for.",
               "type": "string"
            },
            "inchi_key": {
               "title": "Inchi Key",
               "description": "The fixed hydrogen layer InChI key generated from the ``cmiles`` representation. This may be used as a hash for the molecule referenced by this record.",
               "type": "string"
            }
         },
         "required": [
            "record_id",
            "cmiles",
            "inchi_key"
         ]
      }
   }
}

Fields
  • entries (Dict[str, List[openff.qcsubmit.results.results.OptimizationResult]])

  • provenance (Dict[str, Any])

  • type (Literal['OptimizationResultCollection'])

Validators
  • _validate_entries » entries

field type: Literal['OptimizationResultCollection'] = 'OptimizationResultCollection'
field entries: Dict[str, List[openff.qcsubmit.results.results.OptimizationResult]] [Required]

The entries stored in this collection in a dictionary of the form collection.entries['qcfractal_address'] = [record_1, ..., record_N].

Validated by
  • _validate_entries

classmethod from_datasets(datasets, spec_name='default')[source]

Retrieve the COMPLETE record ids referenced by the specified datasets.

Parameters
  • datasets (Union[qcportal.optimization.dataset_models.OptimizationDataset, Iterable[qcportal.optimization.dataset_models.OptimizationDataset]]) – The datasets to retrieve the records from.

  • spec_name (str) – The name of the QC specification that the records to retrieve should have been computed using.

Returns

A results collection object containing the record ids and a minimal amount of associated metadata such as the CMILES of the associated molecule.

Return type

openff.qcsubmit.results.results.OptimizationResultCollection

classmethod from_server(client, datasets, spec_name='default')[source]

Retrieve (and deduplicate) the COMPLETE record ids referenced by the specified datasets.

Parameters
  • client (qcportal.client.PortalClient) – The fractal client that should be used to interface with the running QCFractal instance which stores the datasets and their associated results records.

  • datasets (Union[str, Iterable[str]]) – The names of the datasets

  • spec_name (str) – The name of the QC specification that the records to retrieve should have been computed using.

Returns

A results collection object containing the record ids and a minimal amount of associated metadata such as the CMILES of the associated molecule.

Return type

openff.qcsubmit.results.results.OptimizationResultCollection

to_records()[source]

Returns the native QCPortal record objects for each of the records referenced in this collection along with a corresponding OpenFF molecule object.

Each molecule will contain the minimum energy conformer referenced by the record.

Return type

List[Tuple[qcportal.optimization.record_models.OptimizationRecord, openff.toolkit.topology.molecule.Molecule]]

to_basic_result_collection(driver)[source]

Returns a basic results collection which references results records which were created from the final structure of one of the optimizations in this collection, and used the same program, method, and basis as the parent optimization record.

Returns

The results collection referencing records created from the final optimized structures referenced by this collection.

Return type

openff.qcsubmit.results.results.BasicResultCollection

create_basic_dataset(dataset_name, description, tagline, driver, metadata=None, qc_specifications=None)[source]

Create a basic dataset from the results of the current dataset.

Notes

  • This may be used, for example, to evaluate the hessians of each optimized geometry.

Parameters
  • dataset_name (str) – The name that will be given to the new dataset.

  • tagline (str) – The tagline that should be given to the new dataset.

  • description (str) – The description that should be given to the new dataset.

  • driver (qcportal.singlepoint.record_models.SinglepointDriver) – The driver to be used on the basic dataset.

  • metadata (Optional[openff.qcsubmit.common_structures.Metadata]) – The metadata for the new dataset.

  • qc_specifications (Optional[List[openff.qcsubmit.common_structures.QCSpec]]) – The QC specifications to be used on the new dataset. If no value is provided, the default OpenFF QCSpec will be added.

Returns

The created basic dataset.

Return type

openff.qcsubmit.datasets.datasets.BasicDataset

filter(*filters)

Filter this collection by applying a set of filters sequentially, returning a new collection containing only the retained entries.

Notes

Information about any applied filters will be stored in the provenance dictionary in the ‘applied-filters’ field. Any existing information in this field will be overwritten here.

Parameters

filters (ResultFilter) – The filters to apply, in the order to apply them in.

Returns

The collection containing only the retained entries.

Example:

>>> filtered_collection = self.filter(
>>>     RecordStatusFilter(status=RecordStatusEnum.complete),
>>>     ConnectivityFilter(tolerance=1.2),
>>>     UnperceivableStereoFilter(),
>>>     ElementFilter(allowed_elements=elements),
>>>     ConformerRMSDFilter(max_conformers=max_opt_conformers),
>>> )
property n_molecules: int

Returns the number of unique molecules referenced by this collection.

property n_results: int

Returns the number of results in this collection.

smirnoff_coverage(force_field, verbose=False)

Returns a summary of how many unique molecules within this collection would be assigned each of the parameters in a force field.

Notes

  • Parameters which would not be assigned to any molecules in the collection will not be included in the returned summary.

Parameters
Returns

A dictionary of the form coverage[handler_name][parameter_smirks] = count which stores the number of unique molecules within this collection that would be assigned to each parameter.

field provenance: Dict[str, Any] = {}

A dictionary which can contain provenance information about how and why this collection was curated.