orthonym.rules.metal_atoms#

Note

Internal API. Names and behaviour may change between releases.

Names of the atom, the ions and the isotopes of a metal, and of the hydride ion beside a metal.

One home for the element names of the metals. A metal atom takes its element name; a metal cation adds its charge number in parentheses, the notation of ‘pentaammine(ethanido)osmium(1+) chloride’ , the Blue Book); a nuclide goes in parentheses before the element name, “enclosed in parentheses… before the part of the compound that is isotopically substituted”, :43718). Two callers read the names:

  • the adduct of rules/adducts.py, which cites a one-atom metal component by them at the best-effort tier (metal_atom_name): “preferred IUPAC names cannot be assigned to mixed adducts” (:4667), so such a name is never a PIN;

  • the class METAL_ATOM of the dispatch table, for a molecule that is one atom of a metal admitted to the mechanism ELEMENT of data/metal_scope.py (admitted_metal_atom_name). The name is a verified systematic name and no PIN: PREFERRED IUPAC NAMES (:2056) labels “the names of compounds whose parent hydride contains at least one of the following elements: B, Si,… At, and that also contain at least one carbon atom in their structure”, and zinc is none of them (rules/metal_labels.is_metal_atom_or_ion_name_without_pin sets the label).

inorganic_anion_word gives the word of a one-atom or oxo anion in a salt: the table of retained inorganic anions, and ‘hydride’ for the hydride ion beside metals admitted to CARBANION_SALTS. ammine_component_names gives the one-atom component ‘ammonia’ of an adduct beside metals admitted to AMMINE.

orthonym.rules.metal_atoms.HYDRIDE_ION = '[H-]'#

the canonical SMILES of the hydride ion, the fragment inorganic_anion_word cites as ‘hydride’

orthonym.rules.metal_atoms.AMMINE_COMPONENT_NAMES: Dict[str, str] = {'N': 'ammonia'}#

the neutral one-atom components that an adduct of an ammine complex cites besides the table of rules/adducts.SINGLE_ATOM_COMPONENT_NAMES, by the canonical SMILES of the fragment. Retained names (the Blue Book): “The common names water, ammonia,… are used in these recommendations”; the table of the other components cites ‘water’ and ‘hydrogen chloride’ alike.

orthonym.rules.metal_atoms.metal_atom_name(frag_mol)#

The name of a one-atom metal component, or None.

‘nickel’ for [Ni], ‘iron(2+)’ for [Fe+2], ‘(99Tc)technetium’ for [99Tc] (the nuclide descriptor of in front of the element name). None for a non-metal, a metal carrying hydrogen ([NaH] is a hydride, not a metal atom) or a negative metal ion (an ‘-ide’ of a metal is not built here).

orthonym.rules.metal_atoms.admitted_metal_atom_name(mol)#

The name of mol when it is one atom of a metal admitted to ELEMENT in data/metal_scope.py (‘zinc’, ‘zinc(2+)’, ‘(65Zn)zinc’), else None.

A pure function of the structure: the predicate and the handler of the dispatch class METAL_ATOM both call it. The name is read back by OPSIN 2.9.0 to the standard InChIKey of the atom or ion (the gate of the namer); this function builds it only.

orthonym.rules.metal_atoms.inorganic_anion_word(smiles, cation_frags)#

The word of the anion fragment smiles (canonical SMILES) in a salt, or None.

The table of retained inorganic anions (data/ion_retained_names.INORGANIC_ANIONS: chloride, sulfate,…), and ‘hydride’ for the hydride ion when every cation of the salt is one atom of a metal admitted to CARBANION_SALTS (‘zinc dihydride’): (the Blue Book), “binary names formed by citing the name of the cation followed by that of the anion”. A hydride beside any other cation has no word here, so the salts of the other metals keep their names.

orthonym.rules.metal_atoms.ammine_component_names(mol)#

The one-atom components that mol may cite beside its metals, besides the table of rules/adducts.SINGLE_ATOM_COMPONENT_NAMES: AMMINE_COMPONENT_NAMES when mol holds a true metal and every true metal of it is admitted to AMMINE in data/metal_scope.py, else {}.

A bare nitrogen is the ammonia of an ammine complex only beside a metal that the table admits; beside any other metal, and in an assembly with no metal, it stays a fragment that no producer names, as before. The guard reads the whole assembly: one metal outside the table keeps the rest of the assembly outside it.