Пример #1
0
def test_heterocyclic_canonicalization():
    """heterocyclic tautomer"""
    assert canonicalize_tautomer("n1ccc2ccc[nH]c12") == "c1cnc2[nH]ccc2c1"
    assert canonicalize_tautomer(
        "c1cc(=O)[nH]c2nccn12") == "O=c1ccn2cc[nH]c2n1"
    assert canonicalize_tautomer("c1cnc2c[nH]ccc12") == "c1cc2cc[nH]c2cn1"
    assert canonicalize_tautomer("n1ccc2c[nH]ccc12") == "c1cc2[nH]ccc2cn1"
    assert canonicalize_tautomer("c1cnc2ccc[nH]c12") == "c1cnc2cc[nH]c2c1"
Пример #2
0
def test_1_3_heteroatom_canonicalization():
    """1,3 heteroatom H shift"""
    assert canonicalize_tautomer("OC(C)=NC") == "CNC(C)=O"
    assert canonicalize_tautomer("CNC(C)=O") == "CNC(C)=O"
    assert canonicalize_tautomer("S=C(N)N") == "NC(N)=S"
    assert canonicalize_tautomer("SC(N)=N") == "NC(N)=S"
    assert canonicalize_tautomer("N=c1[nH]ccn(C)1") == "Cn1cc[nH]c1=N"
    assert canonicalize_tautomer("CN=c1[nH]cncc1") == "CN=c1cc[nH]cn1"
Пример #3
0
def test_furanone_canonicalization():
    """furanone tautomer"""
    assert canonicalize_tautomer("C1=CC=C(O1)O") == "Oc1ccco1"
    assert canonicalize_tautomer("O=C1CC=CO1") == "Oc1ccco1"
Пример #4
0
def test_1_11_aromatic_heteroatom_canonicalization():
    """1,11 aromatic heteroatom H shift"""
    assert (canonicalize_tautomer("Nc1ccc(C=C2C=CC(=O)C=C2)cc1") ==
            "Nc1ccc(C=C2C=CC(=O)C=C2)cc1")
    assert (canonicalize_tautomer("N=C1C=CC(=Cc2ccc(O)cc2)C=C1") ==
            "Nc1ccc(C=C2C=CC(=O)C=C2)cc1")
Пример #5
0
def test_acetophenone_keto_enol_canonicalization():
    """Acetophenone keto/enol tautomer"""
    assert canonicalize_tautomer("C(=C)(O)C1=CC=CC=C1") == "CC(=O)c1ccccc1"
Пример #6
0
def test_isocyanide_canonicalization():
    """isocyanide tautomer"""
    assert canonicalize_tautomer("C#N") == "C#N"
    assert canonicalize_tautomer("[C-]#[NH+]") == "C#N"
Пример #7
0
def test_cyano_iso_cyanic_acid_canonicalization():
    """cyano/iso-cyanic acid tautomer"""
    assert canonicalize_tautomer("C(#N)O") == "N=C=O"
    assert canonicalize_tautomer("C(=N)=O") == "N=C=O"
Пример #8
0
def test_oxim_nitroso_canonicalization():
    """oxim nitroso tautomer"""
    assert canonicalize_tautomer("CC(C)=NO") == "CC(C)=NO"
    assert canonicalize_tautomer("CC(C)N=O") == "CC(C)=NO"
Пример #9
0
def test_special_imine_canonicalization():
    """special imine tautomer"""
    assert canonicalize_tautomer("C1(C=CC=CN1)=CC") == "CCc1ccccn1"
    assert canonicalize_tautomer("C1(=NC=CC=C1)CC") == "CCc1ccccn1"
Пример #10
0
def test_1_5_keto_enol_canonicalization():
    """1,5 keto/enol tautomer"""
    assert (canonicalize_tautomer("Oc1nccc2cc[nH]c(=N)c12") ==
            "N=c1[nH]ccc2cc[nH]c(=O)c12")
    assert canonicalize_tautomer("C1(C=CCCC1)=O") == "O=C1C=CCCC1"
    assert canonicalize_tautomer("C1(=CC=CCC1)O") == "O=C1C=CCCC1"
Пример #11
0
def test_aliphatic_imine_canonicalization():
    """aliphatic imine tautomer"""
    assert canonicalize_tautomer("C1(CCCCC1)=N") == "N=C1CCCCC1"
    assert canonicalize_tautomer("C1(=CCCCC1)N") == "N=C1CCCCC1"
Пример #12
0
def test_phenylpropanone_keto_enol_canonicalization():
    """1-phenyl-2-propanone enol/keto"""
    assert canonicalize_tautomer("c1(ccccc1)CC(=O)C") == "CC(=O)Cc1ccccc1"
Пример #13
0
def test_keto_enol_canonicalization():
    """keto/enol tautomer"""
    assert canonicalize_tautomer("OC(C)=C(C)C") == "CC(=O)C(C)C"
Пример #14
0
def test_acetone_keto_enol_canonicalization():
    """Acetone keto/enol tautomer"""
    assert canonicalize_tautomer("CC(C)=O") == "CC(C)=O"
Пример #15
0
def test_keten_ynol_canonicalization():
    """keten/ynol tautomer"""
    assert canonicalize_tautomer("CC=C=O") == "CC=C=O"
    assert canonicalize_tautomer("CC#CO") == "CC=C=O"
Пример #16
0
def test_1_5_aromatic_heteroatom_canonicalization():
    """1,5 aromatic heteroatom H shift"""
    assert canonicalize_tautomer("Oc1cccc2ccncc12") == "Oc1cccc2ccncc12"
    assert canonicalize_tautomer("O=c1cccc2cc[nH]cc1-2") == "Oc1cccc2ccncc12"
    assert canonicalize_tautomer("Cc1n[nH]c2ncnn12") == "Cc1n[nH]c2ncnn12"
    assert canonicalize_tautomer("Cc1nnc2nc[nH]n12") == "Cc1n[nH]c2ncnn12"
    assert canonicalize_tautomer("Oc1ccncc1") == "O=c1cc[nH]cc1"
    assert (canonicalize_tautomer("Oc1c(cccc3)c3nc2ccncc12") ==
            "O=c1c2ccccc2[nH]c2ccncc12")
    assert (canonicalize_tautomer("C2(=C1C(=NC=N1)[NH]C(=N2)N)O") ==
            "N=c1[nH]c(=O)c2[nH]cnc2[nH]1")
    assert (canonicalize_tautomer("C2(C1=C([NH]C=N1)[NH]C(=N2)N)=O") ==
            "N=c1[nH]c(=O)c2[nH]cnc2[nH]1")
    assert canonicalize_tautomer("Oc1n(C)ncc1") == "Cn1[nH]ccc1=O"
    assert canonicalize_tautomer("O=c1nc2[nH]ccn2cc1") == "O=c1ccn2cc[nH]c2n1"
    assert canonicalize_tautomer("N=c1nc[nH]cc1") == "N=c1cc[nH]cn1"
    assert canonicalize_tautomer(
        "N=c(c1)ccn2cc[nH]c12") == "N=c1ccn2cc[nH]c2c1"
    assert canonicalize_tautomer("CN=c1nc[nH]cc1") == "CN=c1cc[nH]cn1"
Пример #17
0
def test_ionic_nitro_aci_nitro_canonicalization():
    """ionic nitro/aci-nitro tautomer"""
    assert canonicalize_tautomer("C([N+](=O)[O-])C") == "CC[N+](=O)[O-]"
    assert canonicalize_tautomer("C(=[N+](O)[O-])C") == "CC[N+](=O)[O-]"
Пример #18
0
def test_1_3_1_5_aromatic_heteroatom_canonicalization():
    """1,3 and 1,5 aromatic heteroatom H shift"""
    assert canonicalize_tautomer("Oc1ncncc1") == "O=c1cc[nH]cn1"
Пример #19
0
def test_oxim_nitroso_phenol_canonicalization():
    """oxim/nitroso tautomer via phenol"""
    assert canonicalize_tautomer("O=Nc1ccc(O)cc1") == "O=Nc1ccc(O)cc1"
    assert canonicalize_tautomer("O=C1C=CC(=NO)C=C1") == "O=Nc1ccc(O)cc1"
Пример #20
0
def test_1_7_aromatic_heteroatom_canonicalization():
    """1,7 aromatic heteroatom H shift"""
    assert (canonicalize_tautomer("c1ccc2[nH]c(-c3nc4ccccc4[nH]3)nc2c1") ==
            "c1ccc2[nH]c(-c3nc4ccccc4[nH]3)nc2c1")
    assert (canonicalize_tautomer("c1ccc2c(c1)NC(=C1N=c3ccccc3=N1)N2") ==
            "c1ccc2[nH]c(-c3nc4ccccc4[nH]3)nc2c1")
Пример #21
0
def test_formamidinesulfinic_acid_canonicalization():
    """formamidinesulfinic acid tautomer"""
    assert canonicalize_tautomer("N=C(N)S(=O)O") == "N=C(N)S(=O)O"
Пример #22
0
def test_1_9_aromatic_heteroatom_canonicalization():
    """1,9 aromatic heteroatom H shift"""
    assert canonicalize_tautomer("CNc1ccnc2ncnn21") == "CN=c1cc[nH]c2ncnn12"
    assert canonicalize_tautomer(
        "CN=c1ccnc2nc[nH]n21") == "CN=c1cc[nH]c2ncnn12"
Пример #23
0
def test_phosphonic_acid_canonicalization():
    """phosphonic acid tautomer"""
    assert canonicalize_tautomer("[PH](=O)(O)(O)") == "O=[PH](O)O"
    assert canonicalize_tautomer("P(O)(O)O") == "O=[PH](O)O"
Пример #24
0
def test_1_3_keto_enol_canonicalization():
    """1,3 keto/enol tautomer"""
    assert canonicalize_tautomer("C1(=CCCCC1)O") == "O=C1CCCCC1"
    assert canonicalize_tautomer("C1(CCCCC1)=O") == "O=C1CCCCC1"