TDP

class specatalog.models.molecules.TDP(**kwargs)[source]

Triplet–doublet–pair (TDP) molecular entry in the polymorphic molecule hierarchy.

This subclass of Molecule represents a molecular system composed of a doublet spin centre connected via a defined chemical linker to a chromophore (triplet).

The class participates in the SQLAlchemy polymorphic inheritance framework via polymorphic_identity='tdp'. Any record in the molecules table with group='tdp' is instantiated as a TDP object.

id

Primary key referencing molecules.id; cascades on deletion.

Type:

int

doublet

Short string describing the radical (doublet) centre in the TDP system.

Type:

str

linker

Short string specifying the chemical linker connecting doublet and chromophoric units.

Type:

str

chromophore

Short string defining the chromophoric unit capable of forming a triplet excited state.

Type:

str

name_suffix

A suffix for the molecular name giving addtional information on the molecule.

Type:

str

Notes

  • The tablename is tdp.

  • Inherits all common attributes from Molecule, including name, molecular_formula, structural_formula, timestamp fields, and relationships to associated measurements.

  • All TDP-specific attributes are required (non-nullable).

Examples

>>> from models import TDP
>>> tdp = TDP(
...     name="PDI2-co-TEMPO1",
...     molecular_formula="C34H28N2O2",
...     structural_formula="...",
...     group="tdp",
...     doublet="TEMPO1"
...     linker="co"
...     chromophore="PDI2",
... )
>>> session.add(tdp)
>>> session.commit()

Polymorphic loading:

>>> mol = session.query(Molecule).get(tdp.id)
>>> type(mol)
<class 'models.TDP'>