Non-physical species model¶
TCKDB backend app models non-physical species (np_species) module
- class tckdb.backend.app.models.np_species.NonPhysicalSpecies(**kwargs)[source]¶
A class for representing a TCKDB NonPhysicalSpecies item.
Note
All atom indices in these arguments are 1-indexed unless explicitly stated otherwise.
- id¶
The primary key (not a user input).
- Type
int
- label¶
A free user label for the species (maximum 255 characters).
- Type
Optional[str]
- # provenance
- timestamp¶
The UTC timestamp of uploading the data to TCKDB (not a user input).
- Type
float
- retracted¶
A reason for retracting this object. Default:
None
(not a user input).- Type
str
- # review
- reviewed¶
Whether this entry was reviewed (not a user input).
- Type
bool
- approved¶
If reviewed, whether it was approved (not a user input).
- Type
bool
- reviewer_flags¶
Backend flags to assist the review process (automatically determined, but users may add notes to flag items for the reviewer).
Example:
{'general': 'This species has a shallow (1.5 kJ/mol) well along the 4-8-7-10 torsional mode.'}
- Type
Dict[str, str]
- # chemical identifiers
- smiles¶
The canonical SMILES descriptor with chirality information.
Note
Either
smiles
,inchi
, orgraph
must be specified.- Type
Optional[str]
- inchi¶
The InChI descriptor with an explicit H layer and chirality information.
Note
Either
smiles
,inchi
, orgraph
must be specified.- Type
Optional[str]
- inchi_key¶
The InChI key descriptor. Automatically assigned if not given by the user.
- Type
Optional[str]
- charge¶
The net molecular charge.
- Type
int
- multiplicity¶
The spin multiplicity.
- Type
int
- electronic_state¶
The species electronic state at CIS level. Default:
'X'
(denoting ground state).- Type
Optional[str]
- # geometry and connectivity
- coordinates¶
Cartesian coordinates in standard orientation. Keys (values) are:
- ‘symbols’ (Tuple[str])
Chemical element symbols
- ‘isotopes’ (Tuple[int])
The respective isotopes
- ‘coords’ (Tuple[Tuple[float]])
The respective coordinates
Example for methane:
{'symbols': ('C', 'H', 'H', 'H', 'H'), 'isotopes': (12, 1, 1, 1, 1), 'coords': ((0.0, 0.0, 0.0), (0.6300326, 0.6300326, 0.6300326), (-0.6300326, -0.6300326, 0.6300326), (-0.6300326, 0.6300326, -0.6300326), (0.6300326, -0.6300326, -0.6300326))}
- Type
Dict[str, Union[Tuple[Tuple[float, float, float], …], Tuple[int, …], Tuple[str, …]]]
- graph¶
A 2D connectivity graph in an RMG adjacency list format. Note that this graph represents a single Lewis structure (resonance structure). These graphs can be generated using RMG’s API or online at https://rmg.mit.edu/molecule_search.
Note
Either
smiles
,inchi
, orgraph
must be specified.Example for methane:
multiplicity 1 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 H u0 p0 c0 {1,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S}
- Type
Optional[str]
- fragments¶
Fragments represented by this species, e.g., VdW wells. Entries are atom index lists of all atoms in a fragment. Default:
None
(denoting there’s only one fragment).- Type
Optional[List[List[int]]]
- fragment_orientation¶
Relative orientation of fragments, starting from the heaviest one. All fragments must be in standard Cartesian orientation prior to determining the following parameters. Entries are dictionaries with the following keys (values):
- ‘cm’ (List[float])
A vector pointing from a fragment’s center to the center of mass of the next fragment.
- Units:
Angstrom
- ‘x’ (float)
The X axis rotational angle in degrees.
- ‘y’ (float)
The Y axis rotational angle in degrees.
- ‘z’ (float)
The Z axis rotational angle in degrees.
- Type
Optional[List[Dict[str, Union[float, List[float]]]]]
- chirality¶
The species’ chiral centers, following the Cahn–Ingold–Prelog (CIP) notation (
'R'
or'S'
for atom centers,'E'
or'Z'
for double bond centers). Keys are tuples of atom indices of a chiral center, values are string representations of the respective chiral center.Note: Non-radical valance 3 nitrogen atoms are also considered chiral if connected to three different groups (considering the lone pair to always be a unique fourth group). In such cases, use a
'NR'
or'NS'
notation.Example
A double bond with chirality
'E'
between atoms 1-2, an'S'
chiral center on atom 3, and an'S'
chiral center on atom 6 which is a nitrogen are represented as:{(1, 2): 'E', (3,): 'S', (6,): 'NS'})
- Type
Optional[Dict[Tuple[int], str]]
- conformation_method¶
The method used to determine the lowest energy conformer. Required if the species has 4 or more atoms.
- Type
Optional[str]
- is_well¶
Whether this conformer represents a local well (at the opt level used).
- Type
bool
- is_global_min¶
If this conformer is a well, whether it is meant to represents the global minimum energy well.
- Type
bool
- global_min_geometry¶
If this species does not represent the global minimum well, this argument must contain the coordinates of the global minimum energy conformer at the same opt level.
- Type
Optional[Dict[str, tuple]]
- # TS
- is_ts¶
Whether this species represents a transition state. Default:
False
.- Type
bool
- irc_trajectories¶
The two IRC trajectories. Each trajectory is a list of coordinates dictionaries. Required if the species is a transition state. Cannot be specified for non-TS species.
- Type
Optional[List[List[Dict[str, tuple]]]]
- # relationships - Many to One
- literature_id¶
The literature reference from the Literature table.
- Type
int
- literature¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Literature table, where the “reverse” side is a Many to One data model.
- Type
relationship
- bot¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Bot table, where the “reverse” side is a Many to One data model.
- Type
relationship
- opt_level¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Level table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- freq_level¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Level table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- scan_level¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Level table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- irc_level¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Level table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- sp_level¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the Level table, where the “reverse” side is a Many to One data model. Required.
- Type
Optional[relationship]
- opt_ess¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the ESS table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- freq_ess¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the ESS table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- scan_ess¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the ESS table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- irc_ess¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the ESS table, where the “reverse” side is a Many to One data model.
- Type
Optional[relationship]
- sp_ess¶
An attribute that establishes a bidirectional relationship in a One to Many data model with the ESS table, where the “reverse” side is a Many to One data model. Required.
- Type
Optional[relationship]
- # relationships - Many to Many
- authors¶
An attribute that establishes a bidirectional relationship in a Many to Many data model with the Person table representing authors of this object.
- Type
relationship
- reviewers¶
An attribute that establishes a bidirectional relationship in a Many to Many data model with the Person table representing reviewers of this object.
- Type
relationship
- # paths
- opt_path¶
The path to the optimization output file. Required for polyatomic species (with 2 or more atoms).
- Type
Optional[str]
- freq_path¶
The path to the frequencies calculation output file. Required for polyatomic species (with 2 or more atoms).
- Type
Optional[str]
- scan_paths¶
Paths to the torsion scan calculation output files. Keys are tuples of tuples. The number of inner-level tuples corresponds to the torsion dimension. Entries of the inner-level tuple are torsion atom indices. Values are paths to the respective scan calculation log file.
- Type
Optional[Dict[Tuple[Tuple[int, int, int, int], …], str]]
- irc_paths¶
Entries are paths to the IRC calculation output files. Required for transition states. Either a single path to a forward+reverse IRC, or two respective paths.
- Type
Optional[List[str]]
- sp_path¶
The path to the single point energy output file. Unlike the
Species
object, heresp_path
is optional.- Type
Optional[str]
- # unconverged jobs
- unconverged_jobs¶
Any relevant unconverged jobs that were troubleshooted while calculating this Species. Entries are dictionaries, keys (values) are:
‘job type’ (str):
'opt'
,'freq'
,'scan'
,'irc'
, or'sp'
‘issue’ (str): The identified issue
‘troubleshooting’ (str): Description of the troubleshooting method(s) that solved the issue
‘comment’ (str): An optional comment explaining the troubleshooting approach
‘path’ (str): The path to the relevant unconverged ESS log file
- Type
Optional[List[Dict[str, str]]]
- # misc
- extras¶
Any additional information in the form of a dictionary Unlike the
Species
object, hereextras
is required and should at least contain a reason for declaring this species non-physical.- Type
Dict[str, Any]