cosmolkit-core 0.3.0

Redesigned COSMolKit core with value-style molecule state and explicit topology operation contracts
Documentation
// @generated from pinned RDKit 2026.03.1 tautomerTransforms.in files.
// The source order and strings are chemistry behavior. Regenerate; do not
// hand-edit individual rows.

use super::tautomer::TautomerTransformDefinition;

pub(super) const CURRENT_TAUTOMER_TRANSFORM_DEFINITIONS: &[TautomerTransformDefinition<'_>] = &[
    (
        "1,3 (thio)keto/enol f",
        "[CX4!H0R{0-2}]-[C;z{1-2}]=[O,S,Se,Te;X1]",
        "",
        "",
    ),
    (
        "1,3 (thio)keto/enol r",
        "[O,S,Se,Te;X2!H0]-[#6;z{1-2}]=[C,cz{0-1}R{0-1}]",
        "",
        "",
    ),
    (
        "1,5 (thio)keto/enol f",
        "[CX4z0,NX3;!H0]-[C]=[C][Cz1H0]=[O,S,Se,Te;X1]",
        "",
        "",
    ),
    (
        "1,5 (thio)keto/enol r",
        "[O,S,Se,Te;X2!H0]-[Cz1H0]=[C]-[C]=[Cz0,N]",
        "",
        "",
    ),
    (
        "aliphatic imine f",
        "[CX4R{0-2}!H0]-[Cz1]=[NX2;N!H0,$(N-a)]",
        "",
        "",
    ),
    (
        "aliphatic imine r",
        "[NX3;NH2,$([NH1]-a)]-[C;z{1-2}]=[CX3]",
        "",
        "",
    ),
    ("special imine f", "[Nz0!H0]-[C]=[Cz0X3R0]", "", ""),
    ("special imine r", "[Cz0R0X4!H0]-[c]=[nz0]", "", ""),
    (
        "special imine r2",
        "[Cz0R0X4!H0]-[cr6](=[cr6])-[nr6H0z0]",
        "==-",
        "",
    ),
    (
        "1,3 aromatic heteroatom H shift f",
        "[#7+0!H0]-[#6R1]=[O,#7X2+0]",
        "",
        "",
    ),
    (
        "1,3 aromatic heteroatom H shift ",
        "[O,#7+0;!H0]-[#6R1]=[#7+0X2]",
        "",
        "",
    ),
    (
        "1,3 heteroatom H shift",
        "[#7+0,S,O,Se,Te;!H0]-[#7X2,#6,#15X3H0]=[#7+0,#16,#8,Se,Te]",
        "",
        "",
    ),
    (
        "1,5 aromatic heteroatom H shift",
        "[#7+0,#16,#8;!H0]-[#6,#7]=[#6]-[#6,#7]=[#7+0,#16,#8;H0]",
        "",
        "",
    ),
    (
        "1,5 aromatic heteroatom H shift ",
        "[#7+0,#16,#8,Se,Te;!H0]-[#6,nX2]=[#6,nX2]-[#6,#7X2]=[#7X2+0,S,O,Se,Te]",
        "",
        "",
    ),
    (
        "1,5 aromatic heteroatom H shift r",
        "[#7+0,S,O,Se,Te;!H0]-[#6,#7X2]=[#6,nX2]-[#6,nX2]=[#7+0,#16,#8,Se,Te]",
        "",
        "",
    ),
    (
        "1,7 aromatic heteroatom H shift f",
        "[#7+0,#8,#16,Se,Te;!H0]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6]-[#6,#7X2]=[#7X2+0,S,O,Se,Te,Cz0X3]",
        "",
        "",
    ),
    (
        "1,7 aromatic heteroatom H shift r",
        "[#7+0,S,O,Se,Te,Cz0X4;!H0]-[#6,#7X2]=[#6]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[NX2,S,O,Se,Te]",
        "",
        "",
    ),
    (
        "1,9 aromatic heteroatom H shift f",
        "[#7+0,O;!H0]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#7+0,O]",
        "",
        "",
    ),
    (
        "1,11 aromatic heteroatom H shift f",
        "[#7+0,O;!H0]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#7X2+0,O]",
        "",
        "",
    ),
    (
        "furanone f",
        "[O,S,N;!H0]-[#6z2r5]=,:[#6X3r5;$([#6]([#6;r5])=,:[#6X3r5])]",
        "",
        "",
    ),
    (
        "furanone r",
        "[#6r5!H0;$([#6]([#6r5])[#6r5])][#6z2r5]=[O,S,N]",
        "",
        "",
    ),
    ("keten/ynol f", "[C!H0]=[C]=[O,S,Se,Te;X1]", "#-", ""),
    ("keten/ynol r", "[O,S,Se,Te;!H0X2]-[C]#[C]", "==", ""),
    (
        "ionic nitro/aci-nitro f",
        "[C!H0]-[N+;$([N][O-])]=[O]",
        "",
        "",
    ),
    (
        "ionic nitro/aci-nitro r",
        "[O!H0]-[N+;$([N][O-])]=[C]",
        "",
        "",
    ),
    ("oxim/nitroso f", "[O!H0]-[Nz1]=[C]", "", ""),
    ("oxim/nitroso r", "[C!H0]-[Nz1]=[O]", "", ""),
    (
        "oxim/nitroso via phenol f",
        "[O!H0]-[N]=[C]-[C]=[C]-[C]=[OH0]",
        "",
        "",
    ),
    (
        "oxim/nitroso via phenol r",
        "[O!H0]-[c]=,:[c][c]=,:[c]-[N]=[OH0]",
        "",
        "",
    ),
    ("cyano/iso-cyanic acid f", "[O!H0]-[C]#[N]", "==", ""),
    ("cyano/iso-cyanic acid r", "[N!H0]=[C]=[O]", "#-", ""),
    (
        "formamidinesulfinic acid f",
        "[O,N;!H0]-[C]=[S,Se,Te;v6]=[O]",
        "=--",
        "",
    ),
    (
        "formamidinesulfinic acid r",
        "[O!H0]-[S,Se,Te;v4]-[C]=[O,N]",
        "==-",
        "",
    ),
    ("isocyanide f", "[C-0!H0]#[N+0]", "#", "-+"),
    ("isocyanide r", "[N+!H0]#[C-]", "#", "-+"),
    ("phosphonic acid f", "[OH]-[PX3H0]", "=", ""),
    ("phosphonic acid r", "[PX4H]=[O]", "-", ""),
];

pub(super) const V1_TAUTOMER_TRANSFORM_DEFINITIONS: &[TautomerTransformDefinition<'_>] = &[
    (
        "1,3 (thio)keto/enol f",
        "[CX4!H0]-[C]=[O,S,Se,Te;X1]",
        "",
        "",
    ),
    ("1,3 (thio)keto/enol r", "[O,S,Se,Te;X2!H0]-[C]=[C]", "", ""),
    (
        "1,5 (thio)keto/enol f",
        "[CX4,NX3;!H0]-[C]=[C][CH0]=[O,S,Se,Te;X1]",
        "",
        "",
    ),
    (
        "1,5 (thio)keto/enol r",
        "[O,S,Se,Te;X2!H0]-[CH0]=[C]-[C]=[C,N]",
        "",
        "",
    ),
    ("aliphatic imine f", "[CX4!H0]-[C]=[NX2]", "", ""),
    ("aliphatic imine r", "[NX3!H0]-[C]=[CX3]", "", ""),
    ("special imine f", "[N!H0]-[C]=[CX3R0]", "", ""),
    ("special imine r", "[CX4!H0]-[c]=[n]", "", ""),
    (
        "1,3 aromatic heteroatom H shift f",
        "[#7+0!H0]-[#6R1]=[O,#7X2+0]",
        "",
        "",
    ),
    (
        "1,3 aromatic heteroatom H shift ",
        "[O,#7+0;!H0]-[#6R1]=[#7+0X2]",
        "",
        "",
    ),
    (
        "1,3 heteroatom H shift",
        "[#7+0,S,O,Se,Te;!H0]-[#7X2,#6,#15]=[#7+0,#16,#8,Se,Te]",
        "",
        "",
    ),
    (
        "1,5 aromatic heteroatom H shift",
        "[#7+0,#16,#8;!H0]-[#6,#7]=[#6]-[#6,#7]=[#7+0,#16,#8;H0]",
        "",
        "",
    ),
    (
        "1,5 aromatic heteroatom H shift ",
        "[#7+0,#16,#8,Se,Te;!H0]-[#6,nX2]=[#6,nX2]-[#6,#7X2]=[#7X2+0,S,O,Se,Te]",
        "",
        "",
    ),
    (
        "1,5 aromatic heteroatom H shift r",
        "[#7+0,S,O,Se,Te;!H0]-[#6,#7X2]=[#6,nX2]-[#6,nX2]=[#7+0,#16,#8,Se,Te]",
        "",
        "",
    ),
    (
        "1,7 aromatic heteroatom H shift f",
        "[#7+0,#8,#16,Se,Te;!H0]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6]-[#6,#7X2]=[#7X2+0,S,O,Se,Te,CX3]",
        "",
        "",
    ),
    (
        "1,7 aromatic heteroatom H shift r",
        "[#7+0,S,O,Se,Te,CX4;!H0]-[#6,#7X2]=[#6]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[NX2,S,O,Se,Te]",
        "",
        "",
    ),
    (
        "1,9 aromatic heteroatom H shift f",
        "[#7+0,O;!H0]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#6,#7X2]-[#6,#7X2]=[#7+0,O]",
        "",
        "",
    ),
    (
        "1,11 aromatic heteroatom H shift f",
        "[#7+0,O;!H0]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#6,nX2]-[#6,nX2]=[#7X2+0,O]",
        "",
        "",
    ),
    (
        "furanone f",
        "[O,S,N;!H0]-[#6r5]=[#6X3r5;$([#6]([#6r5])=[#6r5])]",
        "",
        "",
    ),
    (
        "furanone r",
        "[#6r5!H0;$([#6]([#6r5])[#6r5])]-[#6r5]=[O,S,N]",
        "",
        "",
    ),
    ("keten/ynol f", "[C!H0]=[C]=[O,S,Se,Te;X1]", "#-", ""),
    ("keten/ynol r", "[O,S,Se,Te;!H0X2]-[C]#[C]", "==", ""),
    (
        "ionic nitro/aci-nitro f",
        "[C!H0]-[N+;$([N][O-])]=[O]",
        "",
        "",
    ),
    (
        "ionic nitro/aci-nitro r",
        "[O!H0]-[N+;$([N][O-])]=[C]",
        "",
        "",
    ),
    ("oxim/nitroso f", "[O!H0]-[N]=[C]", "", ""),
    ("oxim/nitroso r", "[C!H0]-[N]=[O]", "", ""),
    (
        "oxim/nitroso via phenol f",
        "[O!H0]-[N]=[C]-[C]=[C]-[C]=[OH0]",
        "",
        "",
    ),
    (
        "oxim/nitroso via phenol r",
        "[O!H0]-[c]=[c]-[c]=[c]-[N]=[OH0]",
        "",
        "",
    ),
    ("cyano/iso-cyanic acid f", "[O!H0]-[C]#[N]", "==", ""),
    ("cyano/iso-cyanic acid r", "[N!H0]=[C]=[O]", "#-", ""),
    (
        "formamidinesulfinic acid f",
        "[O,N;!H0]-[C]=[S,Se,Te;v6]=[O]",
        "=--",
        "",
    ),
    (
        "formamidinesulfinic acid r",
        "[O!H0]-[S,Se,Te;v4]-[C]=[O,N]",
        "==-",
        "",
    ),
    ("isocyanide f", "[C-0!H0]#[N+0]", "#", "-+"),
    ("isocyanide r", "[N+!H0]#[C-]", "#", "-+"),
    ("phosphonic acid f", "[OH]-[PH0]", "=", ""),
    ("phosphonic acid r", "[PH]=[O]", "-", ""),
];