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), or a name that the curated PIN list denies and these tables keep (apin: falserow withhc_overrideindata/iupac_2013_pin_list.json: ‘glycine’, PS lane 1 a performance pass, user decision 2026-10-20; the JSON stays the single home); no-op otherwise. A name the list denies WITHOUThc_overrideis withdrawn from the tables (GENERAL_ONLY_AMINO_ACIDS) and never reaches this function.
- orthonym.data.amino_acids.is_retained_amino_acid_name(name)#
True when
nameis a retained amino-acid name (‘glycine’, ‘L-proline’, ‘D-allothreonine’): a name of this module’s tables, with the descriptor that it carries.Derivatives formed by substitution (the Blue Book): “Retained names are used
to indicate carbon, nitrogen, oxygen and sulfur substitution.” The locant ‘N’ of such a derivative cites the nitrogen of a retained name. Systematic substitutive names (:54247): “When not denoted by a retained name, amino acids receive systematic substitutive names” (‘2-amino-3-methylbutanoic acid’), which cite their nitrogen as the prefix ‘amino’ or by a numerical locant (‘pyrrolidine-2-carboxylic acid’, N = 1), never as ‘N’.