Core scientific concepts
A short reference for the recurring nouns in the TCKDB schema and API. The schema separates identity (what something is), structure (its geometry), calculation (how a number was produced), scientific product (the resulting quantity), and provenance and trust (who/what/when, and review state).
For full field-level detail see backend/schema_spec.md.
For the design rationale behind splitting identity from results, see
the design docs under backend/docs/.
Identity vs entry
TCKDB consistently distinguishes a chemical "thing" from a specific scientific form of that thing.
species vs species_entry
speciesis the graph-level molecular identity — the connectivity that defines "ethanol" or "the OH radical", keyed by(canonical_smiles, charge, multiplicity). InChIKey is derived and stored for cross-notation search but is not part of the dedup key — standard InChI can't represent spin state and over-merges some tautomers (DR-0031). Two equally valid Gaussian and Orca optimizations of ethanol refer to the samespecies.species_entryis a resolved scientific form of a species: a particular stereochemistry, electronic state, isotopologue label, or stationary-point kind (minimum, transition state, conformer observation, etc.). Aspeciesmay have manyspecies_entryrows.
chem_reaction vs reaction_entry
chem_reactionis the bare reactants → products identity (the participant species plus reaction family and direction); stoichiometric coefficients live here. Atom mapping is not stored at the reaction level — reaction identity is participant species + stoichiometry + direction.reaction_entryis a scientific instance of that reaction — reactants and products attached as specificspecies_entryrows (chirality, electronic state, …), with attached kinetics, transport, and review state.
transition_state vs transition_state_entry
The same split applies to transition states: transition_state
captures the saddle-point identity for a reaction, and
transition_state_entry is a specific scientific instance with
geometry, frequencies, IRC linkage, and review state.
Structure
geometry
A coordinate set — element symbols and Cartesians (Angstrom),
optionally with charges/multiplicities and atom labels. Geometries are
referenced from species_entry, transition_state_entry, conformer
observations, and as inputs/outputs of calculations.
Geometries are addressed by public handle (a geom_… ref).
Coordinate payloads are fetched explicitly via
/api/v1/scientific/geometries/{geometry_handle}.
conformer_group vs conformer_observation
conformer_groupclusters observations of the same conformer identity — typically keyed by topology and a canonical pose.conformer_observationis a single observed conformer: a geometry produced by a specific calculation, attached to aspecies_entry. Multiple observations of one conformer share a group; cross-method consistency lives at the group level, not in individual observations.
Calculations
calculation
The hub table for any computed result — sp, opt, freq, scan,
irc, neb, composite, … It records what was run, by which
software at which level of theory, on which input geometry, with which
parameters. Specific result rows (calc_sp_result, calc_opt_result,
calc_freq_result, …) attach to the hub.
Calculation dependencies
Calculations are linked into a small DAG so a downstream result can point back at the upstream calculations it consumed. A frequency calculation cites the optimization that produced its geometry; a composite single-point cites the underlying sub-calculations. Dependencies are opportunistic enrichment — they are not required for a calculation to be valid, but they are what makes a result reproducible from inside the database.
Calculation parameters and artifacts
- Parameters record ESS execution settings (basis set keywords, solvent, SCF thresholds, integrator, …) under a controlled vocabulary. Parameters are observations from parsed jobs, not a general dictionary of every possible flag.
- Artifacts are raw output blobs (output files, logs) stored in S3-compatible object storage. They are reachable through the API by artifact handle, not by direct URL.
Scientific products
statmech
Per-species partition-function data — rotational constants, vibrational
frequencies, electronic state energies, hindered-rotor scans, symmetry.
Statmech rows are computed from freq and scan calculations and feed
thermo and kinetics generation.
thermo
Temperature-dependent thermodynamic quantities: Cp(T), H(T), S(T), and
fitted NASA polynomials (NASA-7 and NASA-9) or a Wilhoit form; the
representation is tagged explicitly by thermo.model_kind.
Each row carries provenance back to the underlying statmech (via the
statmech_id FK, for computed thermo) or the literature it was
lifted from.
kinetics
Rate-coefficient records — Arrhenius, modified Arrhenius, and
pressure-dependent models (Chebyshev, PLOG, …). Each model kind stores
its parameters with units expressed by enum (ArrheniusAUnits,
ArrheniusEaUnits) and applicability range (T, P). Provenance points
back at the reaction entry, level of theory, and any underlying
network or transition state.
transport
Lennard-Jones and related transport parameters per species/species entry.
network
Pressure-dependent kinetic networks — sets of wells and transition states feeding a master-equation calculation. Network kinetics (typically Chebyshev/PLOG) link back to the network they were derived from.
Provenance and trust
Public refs vs internal IDs
Every read-API response uses public refs as the addressable
handle for a record — species_…, species_entry_…, geom_…,
reaction_…, reaction_entry_…, lot_…, … Public refs are stable
across reseeds, safe to log, and the only form clients should depend
on. Integer primary keys (id columns) are an internal database
concern and are hidden from responses by default; they can only be
surfaced under an explicit include=internal_ids request on
deployments that permit it.
See docs/specs/public_identifier_policy.md
and docs/specs/internal_ids_visibility_policy.md.
Levels of theory, software, workflow tools
level_of_theorycaptures method + basis + dispersion + solvent- auxiliary settings under one stable ref (
lot_…). software/software_releaseidentifies the ESS code and version (Gaussian 16.A.03, Orca 5.0.4, …).workflow_tool/workflow_tool_releaseidentifies the high-level pipeline that produced the records (ARC, a custom RMG pipeline, …). TCKDB itself is workflow-tool agnostic.
Literature
Records may cite one or more literature entries (with author
links) when their values were lifted from a paper. DOI/ISBN metadata
is fetched and cached; see
docs/literature_policy.md
if present.
Submissions and reviews
submissiongroups records uploaded together as one logical contribution. Uploads are submission-scoped and self-contained.record_reviewcaptures human moderation state per record —not_reviewed,under_review,approved,rejected,deprecated(theRecordReviewStatusenum). Read endpoints default to filtering bymin_review_status, so anonymous readers see curated data unless they explicitly opt into raw drafts.