orthonym.data.amino_acids#
Note
Internal API. Names and behaviour may change between releases.
Amino acid data for trivial name lookups.
Standard amino acids (the 20 proteinogenic amino acids) have trivial names that are preferred as IUPAC PINs over systematic names.
Expanded in a phase-02 with 88 OPSIN simpleGroup amino acid entries. These are complete molecules with canonical SMILES directly from OPSIN’s aminoAcids.xml vocabulary.
Stereochemistry note: Most natural amino acids are L-configured (S in CIP), but IUPAC prefers R/S notation over D/L for PINs.
- orthonym.data.amino_acids.get_amino_acid_name(canonical_smiles, mol=None, with_descriptor=False)#
Get the trivial name for an amino acid if it’s a standard one.
- Parameters:
canonical_smiles (str) – Canonical SMILES of the amino acid.
mol – optional RDKit Mol (rebuilt from
canonical_smilesif None) — needed for the stereo-strip fallback / descriptor recovery.with_descriptor (bool) – when True (free-amino-acid naming path, -07), also recover and emit the L/D configurational descriptor; L implicit, D explicit) and DEFER (return None) for a diastereomer the bare retained name cannot represent. Default False preserves the bare-name contract used by
name_peptide(which adds its own stereo).
- Returns:
Trivial name (optionally with a D- descriptor) if found, None otherwise.
- Return type:
str | None
- orthonym.data.amino_acids.is_standard_amino_acid(canonical_smiles)#
Check if SMILES matches a standard amino acid.
- orthonym.data.amino_acids.get_amino_acid_acyl_name(trivial_name)#
Get the acyl (peptide linkage) form of an amino acid name.
- Parameters:
trivial_name (str) – Trivial name of the amino acid (e.g., “glycine”)
- Returns:
Acyl name (e.g., “glycyl”) if found, None otherwise
- Return type:
str | None
- orthonym.data.amino_acids.get_amino_acid_ate_stem(trivial_name)#
Get the ester ‘ate’ stem for an in-scope amino acid.
- Parameters:
trivial_name (str) – Bare (stereo-free) trivial name of the amino acid, e.g. “alanine” (NOT “L-alanine”).
- Returns:
The ‘ate’ stem (e.g. “alaninate”) if in scope, None otherwise (defer to the pre-existing systematic ester namer – diacid / 2-stereocentre AAs, and any non-standard amino acid, are never in this map).
- Return type:
str | None
- orthonym.data.amino_acids.GENERAL_ONLY_AMINO_ACIDS: Dict[str, str] = {'CC(C)C[C@H](N)[C@@H](O)CC(=O)O': 'statine', 'CC(NC(C)C(=O)O)C(=O)O': 'alanopine', 'CC(NC(CCCN)C(=O)O)C(=O)O': 'octopinic acid', 'CC(NC(CCCNC(=N)N)C(=O)O)C(=O)O': 'octopine', 'CC(NCC(=O)O)C(=O)O': 'strombine', 'CC(NCCC(=O)O)C(=O)O': 'beta-alanopine', 'CC(NCCS(=O)(=O)O)C(=O)O': 'tauropine', 'CN(CC(=O)O)C(=N)N': 'creatine', 'CNCC(=O)O': 'sarcosine', 'CN[C@@H](Cc1c[nH]c2ccccc12)C(=O)O': 'abrine', 'C[C@@H](N[C@@H](CCCCN)C(=O)O)C(=O)O': 'lysopine', 'N=C(N)NCCCC(NC(CCC(=O)O)C(=O)O)C(=O)O': 'nopaline', 'N=C(N)NCCS(=O)(=O)O': 'taurocyamine', 'N=C(N)NCCS(=O)O': 'hypotaurocyamine', 'NCCCS(=O)(=O)O': 'homotaurine', 'NCCS(=O)(=O)O': 'taurine', 'N[C@H](CCC[C@H](N)C(=O)O)C(=O)O': 'diaminopimelic acid', 'O=C(O)CNC(CO)(CO)CO': 'tricine'}#
Canonical SMILES -> trivial name for amino acids withdrawn from the PIN path.
- orthonym.data.amino_acids.record_if_non_pin_amino_acid_name(name)#
Record
nameas a non-PIN fragment when it is a kept trivial amino-acid name without Blue Book evidence (NON_PIN_AMINO_ACID_NAMES); no-op otherwise.