orthonym.rules.metal_macrocycles#
Note
Internal API. Names and behaviour may change between releases.
The macrocyclic ligand of a complex of a metal that the scope table admits to MACROCYCLE.
A metal complex drawn as ions (the porphyrin dianion beside the metal cation) is named as a salt or an
adduct of its ions, and the ligand is an ion of its own. The general engine names the dianion of a
porphyrin as a von Baeyer cage; the porphyrin parent names it as the anion of that parent hydride:
5,10,15,20-tetraphenylporphyrin-21,23-diide Anions derived from parent hydrides and
their derivatives, the Blue Book-40902; rules/porphyrin.name_porphyrin_dianion).
The producer is metal-blind. This module is the scope: the name is cited only in an assembly whose
every true metal is admitted to MACROCYCLE in data/metal_scope.py (zinc), so the complexes of
the other metals keep the names they have. The Blue Book gives the name no PIN INTRODUCTION:
“Preferred IUPAC names (PINs) are not identified for the compounds in this Chapter”,:50943), and the callers
read it at the tiers that name ions only, so the default tier is unchanged.
- orthonym.rules.metal_macrocycles.assembly_admits_macrocycle(mol)#
True when
molholds a true metal and every true metal of it is admitted toMACROCYCLE.The guard reads the whole assembly: one metal outside the table keeps the rest of the assembly outside it, as for
metal_atoms.ammine_component_names.
- orthonym.rules.metal_macrocycles.macrocycle_ion_fragments(mol)#
The fragments of
molthat are porphyrin ions of an assembly admitted toMACROCYCLE: a fragment with the 24-atom core of the porphyrin parent (rules.porphyrin) and a net charge below zero. Empty for an assembly outside the table.The test reads the structure alone.
macrocycle_anion_namedecides which of these ions have a porphyrin name, and its answer depends on the naming call it runs in (the name of a fused-ring substituent of the ion is built at the best-effort tier only), so the label of a name cannot read it.
- orthonym.rules.metal_macrocycles.macrocycle_anion_name(ion_mol, assembly_mol)#
The name of the macrocyclic anion
ion_molof the assemblyassembly_mol, or None: the porphyrin parent’s name of the dianion (rules.porphyrin.name_porphyrin_dianion) when the assembly is admitted toMACROCYCLE.
- orthonym.rules.metal_macrocycles.macrocycle_component_names(mol)#
{canonical SMILES of a fragment: its name}for every macrocyclic anion ofmolthatmacrocycle_anion_namenames;{}for an assembly outsideMACROCYCLE.