Torsiondrive calculations#
Stuff
Torsiondrive Record#
Stuff
Torsiondrive Dataset#
Stuff
Torsiondrive QCPortal API#
- class TorsiondriveRecord(client=None, base_url_prefix=None, *, id, record_type='torsiondrive', is_service, name=None, description=None, tags=None, properties, extras={}, status, manager_name, created_on, modified_on, creator_user, compute_history=None, task=None, service=None, comments=None, native_files=None, specification, initial_molecules_ids=None, initial_molecules=None, optimizations=None, minimum_optimizations=None, optimization_records=None)[source]#
Bases:
BaseRecordCreate a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
base_url_prefix (str | None)
id (int)
record_type (Literal['torsiondrive'])
is_service (bool)
name (str | None)
description (str | None)
tags (list[str] | None)
properties (dict[str, Any] | None)
extras (dict[str, Any])
status (RecordStatusEnum)
manager_name (str | None)
created_on (datetime)
modified_on (datetime)
creator_user (str | None)
compute_history (list[ComputeHistory] | None)
task (RecordTask | None)
service (RecordService | None)
comments (list[RecordComment] | None)
native_files (dict[str, NativeFile] | None)
specification (TorsiondriveSpecification)
initial_molecules_ids (list[int] | None)
initial_molecules (list[Molecule] | None)
optimizations (list[TorsiondriveOptimization] | None)
minimum_optimizations (dict[str, int] | None)
optimization_records (dict[str, list[OptimizationRecord]] | None)
- record_type: Literal['torsiondrive']#
- specification: TorsiondriveSpecification#
- initial_molecules_ids_: list[int] | None#
- initial_molecules_: list[Molecule] | None#
- optimizations_: list[TorsiondriveOptimization] | None#
- minimum_optimizations_: dict[str, int] | None#
- optimization_records_: dict[str, list[OptimizationRecord]] | None#
- propagate_client(client, base_url_prefix)[source]#
Propagates a client and related information to this record to any fields within this record that need it
This is expected to be called from derived class propagate_client functions as well
- Parameters:
base_url_prefix (str | None)
- get_cache_dict(**kwargs)[source]#
Returns a dictionary of the record meant for caching
When a record is stored in the cache, it is stored without child records (which are in the cache under their own keys). This function returns a dictionary that excludes those children.
kwargs are passed directly to the pydantic dict() function.
- Return type:
dict[str, Any]
- property initial_molecules: list[Molecule]#
- property optimizations: dict[str, list[OptimizationRecord]]#
- property minimum_optimizations: dict[tuple[float, ...], OptimizationRecord]#
- property final_energies: dict[tuple[float, ...], float]#
- property children_errors: list[BaseRecord]#
Returns errored child records
- property children_status: dict[RecordStatusEnum, int]#
Returns a dictionary of the status of all children of this record
- property comments: list[RecordComment] | None#
- property compute_history: list[ComputeHistory]#
- property error: dict[str, Any] | None#
- fetch_children(include=None, force_fetch=False)#
Fetches all children of this record recursively
- Parameters:
include (Iterable[str] | None)
force_fetch (bool)
- classmethod fetch_children_multi(records, include=None, force_fetch=False)#
Fetches all children of the given records
This tries to work efficiently, fetching larger batches of children that can span multiple records
- Parameters:
records (Iterable[BaseRecord | None])
include (Iterable[str] | None)
force_fetch (bool)
- classmethod get_subclass(record_type)#
Obtain a subclass of this class given its record_type
- Parameters:
record_type (str)
- Return type:
Type[BaseRecord]
- get_waiting_reason()#
- Return type:
dict[str, Any]
- model_config = {'extra': 'forbid', 'frozen': False, 'serialize_by_alias': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_post_init(context, /)#
This function is meant to behave like a BaseModel method to initialize private attributes.
It takes context as an argument since that’s what pydantic-core passes when calling it.
- Parameters:
self (BaseModel) – The BaseModel instance.
context (Any) – The context.
- Return type:
None
- property native_files: dict[str, NativeFile] | None#
- property offline: bool#
- property provenance: Provenance | None#
- property service: RecordService | None#
- property stderr: str | None#
- property stdout: str | None#
- sync_to_cache(detach=False)#
Syncs this record to the cache
If detach is True, then the record will be removed from the cache
- Parameters:
detach (bool)
- property task: RecordTask | None#
- id#
- is_service#
- name#
- description#
- tags#
- properties#
- extras#
- status#
- manager_name#
- created_on#
- modified_on#
- creator_user#
- compute_history_#
- task_#
- service_#
- comments_#
- native_files_#
- class TorsiondriveSpecification(*, program='torsiondrive', optimization_specification, keywords)[source]#
Bases:
BaseModelCreate a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
program (Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None, ascii_only=None)])
optimization_specification (OptimizationSpecification)
keywords (TorsiondriveKeywords)
- model_config = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- program: LowerStr#
- optimization_specification: OptimizationSpecification#
- keywords: TorsiondriveKeywords#