diff --git a/pyproject.toml b/pyproject.toml index cab822a..3036365 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,63 +14,6 @@ testpaths = [ markers = [ "UNIFAC: classic UNIFAC model tests", "PSRK: predictive SRK model tests", - "CH2: CH3, CH2, CH, C", - "CeqC: CH2=CH, CH=CH, CH2=C, CH=C, C=C", - "ACH: ACH, AC", - "ACCH2: ACCH3, ACCH2, ACCH", - "OH: OH, CH3OH", - "CH3OH: CH3OH", - "H2O: H2O", - "ACOH: ACOH", - "CH2CO: CH3CO, CH2CO", - "CHO: CHO", - "CCOO: CH3COO, CH2COO", - "HCOO: HCOO", - "CH2O: CH3O, CH2O, CH-O, THF", - "CH3NH2: CH3NH2, CH2NH2, CHNH2", - "CNH: CH3NH, CH2NH, CHNH", - "C3N: CH3N, CH2N", - "ACNH2: ACNH2", - "pyridine: C5H5N, C5H4N, C5H3N", - "CCN: CH3CN, CH2CN", - "COOH: COOH, HCOOH", - "CCL: CH2CL, CHCL, CCL", - "CCL2: CH2CL2, CHCL2, CCL2", - "CCL3: CHCL3, CCL3", - "CCL4: CCL4", - "ACCL: ACCL", - "CNO2: CH3NO2, CH2NO2, CHNO2", - "ACNO2: ACNO2", - "CS2: CS2", - "CH3SH: CH3SH, CH2SH", - "FURFURAL: FURFURAL", - "DOH: DOH", - "I: I", - "BR: Br", - "alquine: CH=-C", - "DMSO: DMSO", - "ACRY: ACRY", - "CLCeqC: CL-(C=C)", - "ACF: ACF", - "DMF: DMF, HCON(..", - "CF2: CF3, CF2, CF", - "COO: COO", - "SIH2: SIH3, SIH2, SIH, SI", - "SIO: SIH2O, SIHO, SIO", - "NMP: NMP", - "CCLF: CCL3F, CCL2F, HCCL2F, HCCLF, CCLF2, HCCLF2, CCLF3, CCL2F2", - "CON: CONH2, CONHCH3, CONHCH2, CON(CH3)2, CONCH3CH2, CON(CH2)2", - "OCCOH: C2H2O2, C2H4O2", - "CH2S: CH3S, CH2S, CHS", - "morpholine: MORPH", - "thiophene: C4H4S, C4H3S, C4H2S", - "NCO: NCO", - "sulfones: (CH2)2SU, CH2CHSU", - "IMIDAZOL: IMIDAZOL", - "BTI: BTI", - "composed: composed structures", - "impossibles: impossible structures", - "epoxy: epoxides groups." ] [project] @@ -90,7 +33,7 @@ classifiers = [ "Topic :: Scientific/Engineering", ] -urls = {Homepage = "https://github.com/SalvadorBrandolin/ugrupy"} +urls = {Homepage = "https://github.com/SalvadorBrandolin/ugropy"} dependencies = [ 'numpy >= 1.25.1', diff --git a/tests/classic_unifac_groups/test_10_cho.py b/tests/classic_unifac_groups/test_10_cho.py index a616a57..e58a2bf 100644 --- a/tests/classic_unifac_groups/test_10_cho.py +++ b/tests/classic_unifac_groups/test_10_cho.py @@ -4,48 +4,48 @@ # ============================================================================= -# 10- CHO Main group (aldehyde): CHO +# 10- HCO Main group (aldehyde): HCO # ============================================================================= # UNIFAC trials_unifac = [ - ("C(=O)C=O", {"CHO": 2}, "smiles"), + ("C(=O)C=O", {"HCO": 2}, "smiles"), # salicylaldehyde ( "C1=CC=C(C(=C1)C=O)O", - {"ACH": 4, "ACOH": 1, "AC": 1, "CHO": 1}, + {"ACH": 4, "ACOH": 1, "AC": 1, "HCO": 1}, "smiles", ), # 2-Methyl-3-butenal - ("CC(C=C)C=O", {"CH3": 1, "CH": 1, "CH2=CH": 1, "CHO": 1}, "smiles"), + ("CC(C=C)C=O", {"CH3": 1, "CH": 1, "CH2=CH": 1, "HCO": 1}, "smiles"), # Cinnamaldehyde ( "C1=CC=C(C=C1)C=CC=O", - {"ACH": 5, "AC": 1, "CH=CH": 1, "CHO": 1}, + {"ACH": 5, "AC": 1, "CH=CH": 1, "HCO": 1}, "smiles", ), # benzaldehyde - ("C1=CC=C(C=C1)C=O", {"ACH": 5, "AC": 1, "CHO": 1}, "smiles"), + ("C1=CC=C(C=C1)C=O", {"ACH": 5, "AC": 1, "HCO": 1}, "smiles"), # cyclohexanecarbaldehyde ( "C1CCC(CC1)C=O", { "CH2": 5, "CH": 1, - "CHO": 1, + "HCO": 1, }, "smiles", ), # pentanal - ("CCCCC=O", {"CH3": 1, "CH2": 3, "CHO": 1}, "smiles"), + ("CCCCC=O", {"CH3": 1, "CH2": 3, "HCO": 1}, "smiles"), # 3-methylbutanal - ("CC(C)CC=O", {"CH3": 2, "CH2": 1, "CH": 1, "CHO": 1}, "smiles"), + ("CC(C)CC=O", {"CH3": 2, "CH2": 1, "CH": 1, "HCO": 1}, "smiles"), # acetaldehyde - ("CC=O", {"CH3": 1, "CHO": 1}, "smiles"), + ("CC=O", {"CH3": 1, "HCO": 1}, "smiles"), # 2-Hexyl-3-Phenyl-2-Propenal ( r"CCCCCC\C(C=O)=C/C1=CC=CC=C1", - {"ACH": 5, "AC": 1, "CH=C": 1, "CH2": 5, "CH3": 1, "CHO": 1}, + {"ACH": 5, "AC": 1, "CH=C": 1, "CH2": 5, "CH3": 1, "HCO": 1}, "smiles", ), ] @@ -54,6 +54,6 @@ @pytest.mark.UNIFAC @pytest.mark.PSRK @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) -def test_cho_unifac(identifier, result, identifier_type): +def test_HCO_unifac(identifier, result, identifier_type): assert ug.get_unifac_groups(identifier, identifier_type) == result assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_13_ch2o.py b/tests/classic_unifac_groups/test_13_ch2o.py index 3b098fd..4bc0d14 100644 --- a/tests/classic_unifac_groups/test_13_ch2o.py +++ b/tests/classic_unifac_groups/test_13_ch2o.py @@ -4,7 +4,7 @@ # ============================================================================= -# 13- CH2O Main group: CH3O, CH2O, CH-O, THF +# 13- CH2O Main group: CH3O, CH2O, CHO, THF # ============================================================================= # UNIFAC @@ -12,7 +12,7 @@ # 4-flavanol ( "OC1CC(OC2=CC=CC=C12)C1=CC=CC=C1", - {"ACH": 9, "AC": 2, "ACCH": 1, "CH-O": 1, "CH2": 1, "OH": 1}, + {"ACH": 9, "AC": 2, "ACCH": 1, "CHO": 1, "CH2": 1, "OH": 1}, "smiles", ), ( @@ -28,7 +28,7 @@ # tetrahydrofuran ("C1CCOC1", {"THF": 1}, "smiles"), # diisopropyl ether - ("CC(C)OC(C)C", {"CH3": 4, "CH": 1, "CH-O": 1}, "smiles"), + ("CC(C)OC(C)C", {"CH3": 4, "CH": 1, "CHO": 1}, "smiles"), # diethyl ether ("CCOCC", {"CH3": 2, "CH2": 1, "CH2O": 1}, "smiles"), # dimethyl ether @@ -36,7 +36,7 @@ # 2H-Pyran, 2-(cyclohexyloxy)tetrahydro- ( "C1CCC(CC1)OC2CCCCO2", - {"CH2": 8, "CH": 1, "CH2O": 1, "CH-O": 1}, + {"CH2": 8, "CH": 1, "CH2O": 1, "CHO": 1}, "smiles", ), # Problematic ones @@ -80,20 +80,20 @@ ("COCOC(C)OCOC", {"CH3O": 2, "CH2O": 2, "CH": 1, "CH3": 1}, "smiles"), ( "CC(C)OCOC(C)OCOC(C)C", - {"CH3": 5, "CH": 1, "CHO": 2, "CH2O": 2}, + {"CH3": 5, "CH": 1, "HCO": 2, "CH2O": 2}, "smiles", ), ( "CC(C)OCOCC(OCOC(C)C)OCOC(C)C", - {"CH3": 6, "CH": 2, "CH2O": 4, "CHO": 2}, + {"CH3": 6, "CH": 2, "CH2O": 4, "HCO": 2}, "smiles", ), ( "CC(C)OCOC(OCOC(C)C)OCOC(C)C", - {"CH3": 6, "CHO": 3, "CH2O": 3, "CH": 1}, + {"CH3": 6, "HCO": 3, "CH2O": 3, "CH": 1}, "smiles", ), - ("CC(C)OCOC(C)C", {"CH3": 4, "CHO": 1, "CH2O": 1, "CH": 1}, "smiles"), + ("CC(C)OCOC(C)C", {"CH3": 4, "HCO": 1, "CH2O": 1, "CH": 1}, "smiles"), ("CCOCOCC", {"CH3": 2, "CH2O": 2, "CH2": 1}, "smiles"), ("COCOC", {"CH3O": 2, "CH2": 1}, "smiles"), # Impossibles diff --git a/tests/classic_unifac_groups/test_41_coo.py b/tests/classic_unifac_groups/test_41_coo.py index 5e0036b..915b150 100644 --- a/tests/classic_unifac_groups/test_41_coo.py +++ b/tests/classic_unifac_groups/test_41_coo.py @@ -49,10 +49,9 @@ ] -@pytest.mark.COO @pytest.mark.UNIFAC +@pytest.mark.PSRK @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_coo_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_42_sih2.py b/tests/classic_unifac_groups/test_42_sih2.py index b6d861e..54d631e 100644 --- a/tests/classic_unifac_groups/test_42_sih2.py +++ b/tests/classic_unifac_groups/test_42_sih2.py @@ -22,10 +22,9 @@ ] -@pytest.mark.SIH2 @pytest.mark.UNIFAC +@pytest.mark.PSRK @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_sih2_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_43_sio.py b/tests/classic_unifac_groups/test_43_sio.py index 8cdb9a3..7e9186e 100644 --- a/tests/classic_unifac_groups/test_43_sio.py +++ b/tests/classic_unifac_groups/test_43_sio.py @@ -13,9 +13,9 @@ ("C[SiH2]O[Si](C)(C)C", {"CH3": 4, "SIH2O": 1, "SI": 1}, "smiles"), ("C[SiH](C)O[Si](C)(C)C", {"CH3": 5, "SIHO": 1, "SI": 1}, "smiles"), ("CC(C)(C)O[Si](C)(C)C", {"CH3": 6, "SIO": 1, "C": 1}, "smiles"), - ("CC(C)O[Si](C)(C)C", {"CH3": 5, "CH-O": 1, "SI": 1}, "smiles"), - ("CC(C)O[SiH](C)C", {"CH3": 4, "SIH": 1, "CH-O": 1}, "smiles"), - ("C[SiH2]OC(C)C", {"CH3": 3, "SIH2": 1, "CH-O": 1}, "smiles"), + ("CC(C)O[Si](C)(C)C", {"CH3": 5, "CHO": 1, "SI": 1}, "smiles"), + ("CC(C)O[SiH](C)C", {"CH3": 4, "SIH": 1, "CHO": 1}, "smiles"), + ("C[SiH2]OC(C)C", {"CH3": 3, "SIH2": 1, "CHO": 1}, "smiles"), ("CCO[SiH2]C", {"CH3": 2, "SIH2": 1, "CH2O": 1}, "smiles"), ("CO[SiH2]C", {"CH3": 1, "SIH2": 1, "CH3O": 1}, "smiles"), ( @@ -125,22 +125,22 @@ ), ( "CC(C)OC(=O)O[SiH3]", - {"CH-O": 1, "COO": 1, "SIH3": 1, "CH3": 2}, + {"CHO": 1, "COO": 1, "SIH3": 1, "CH3": 2}, "smiles", ), ( "C[SiH2]OC(=O)OC(C)C", - {"CH-O": 1, "COO": 1, "SIH2": 1, "CH3": 3}, + {"CHO": 1, "COO": 1, "SIH2": 1, "CH3": 3}, "smiles", ), ( "CC(C)OC(=O)O[SiH](C)C", - {"CH-O": 1, "COO": 1, "SIH": 1, "CH3": 4}, + {"CHO": 1, "COO": 1, "SIH": 1, "CH3": 4}, "smiles", ), ( "CC(C)OC(=O)O[Si](C)(C)C", - {"CH-O": 1, "COO": 1, "SI": 1, "CH3": 5}, + {"CHO": 1, "COO": 1, "SI": 1, "CH3": 5}, "smiles", ), ( @@ -232,7 +232,7 @@ ), ( "CC(C)OCO[SiH2][SiH3]", - {"SIH3": 1, "SIH2": 1, "CH2O": 1, "CH-O": 1, "CH3": 2}, + {"SIH3": 1, "SIH2": 1, "CH2O": 1, "CHO": 1, "CH3": 2}, "smiles", ), ( @@ -262,7 +262,7 @@ ), ( "CC(C)OCO[SiH]([SiH3])[SiH3]", - {"SIH3": 2, "CH3": 2, "CH-O": 1, "SIH": 1, "CH2O": 1}, + {"SIH3": 2, "CH3": 2, "CHO": 1, "SIH": 1, "CH2O": 1}, "smiles", ), ( @@ -292,82 +292,82 @@ ), ( "CC(C)OCO[Si]([SiH3])([SiH3])[SiH3]", - {"SIH3": 3, "SI": 1, "CH2O": 1, "CH-O": 1, "CH3": 2}, + {"SIH3": 3, "SI": 1, "CH2O": 1, "CHO": 1, "CH3": 2}, "smiles", ), ( "CC(O[SiH3])O[SiH2][SiH3]", - {"SIH3": 2, "CH3": 1, "CH-O": 1, "SIH2O": 1}, + {"SIH3": 2, "CH3": 1, "CHO": 1, "SIH2O": 1}, "smiles", ), ( "CC(O[SiH2][SiH3])O[SiH](C)C", - {"SIH3": 1, "SIH": 1, "CH3": 3, "CH-O": 1, "SIH2O": 1}, + {"SIH3": 1, "SIH": 1, "CH3": 3, "CHO": 1, "SIH2O": 1}, "smiles", ), ( "CC(O[SiH2][SiH3])OC(C)(C)C", - {"SIH3": 1, "C": 1, "CH3": 4, "CH-O": 1, "SIH2O": 1}, + {"SIH3": 1, "C": 1, "CH3": 4, "CHO": 1, "SIH2O": 1}, "smiles", ), ( "COC(C)O[SiH2][SiH3]", - {"SIH3": 1, "CH3": 1, "CH3O": 1, "CH-O": 1, "SIH2": 1}, + {"SIH3": 1, "CH3": 1, "CH3O": 1, "CHO": 1, "SIH2": 1}, "smiles", ), ( "CC(C)OC(C)O[SiH2][SiH3]", - {"SIH3": 1, "CH3": 3, "CH-O": 2, "SIH2": 1}, + {"SIH3": 1, "CH3": 3, "CHO": 2, "SIH2": 1}, "smiles", ), ( "CCOC(C)O[SiH2][SiH3]", - {"SIH3": 1, "CH3": 2, "CH-O": 1, "CH2O": 1, "SIH2": 1}, + {"SIH3": 1, "CH3": 2, "CHO": 1, "CH2O": 1, "SIH2": 1}, "smiles", ), ( "CC(O[SiH](C)C)O[SiH]([SiH3])[SiH3]", - {"SIH3": 2, "CH3": 3, "CH-O": 1, "SIHO": 1, "SIH": 1}, + {"SIH3": 2, "CH3": 3, "CHO": 1, "SIHO": 1, "SIH": 1}, "smiles", ), ( "CC(O[SiH3])O[SiH]([SiH3])[SiH3]", - {"SIH3": 3, "CH3": 1, "CH-O": 1, "SIHO": 1}, + {"SIH3": 3, "CH3": 1, "CHO": 1, "SIHO": 1}, "smiles", ), ( "CC(O[SiH]([SiH3])[SiH3])OC(C)(C)C", - {"SIH3": 2, "CH3": 4, "CH-O": 1, "SIHO": 1, "C": 1}, + {"SIH3": 2, "CH3": 4, "CHO": 1, "SIHO": 1, "C": 1}, "smiles", ), ( "CC(C)OC(C)O[SiH]([SiH3])[SiH3]", - {"SIH3": 2, "CH3": 3, "CH-O": 2, "SIH": 1}, + {"SIH3": 2, "CH3": 3, "CHO": 2, "SIH": 1}, "smiles", ), ( "COC(C)O[SiH]([SiH3])[SiH3]", - {"SIH3": 2, "CH3": 1, "CH3O": 1, "CH-O": 1, "SIH": 1}, + {"SIH3": 2, "CH3": 1, "CH3O": 1, "CHO": 1, "SIH": 1}, "smiles", ), ( "CC(O[SiH3])O[Si]([SiH3])([SiH3])[SiH3]", - {"SIH3": 4, "CH3": 1, "CH-O": 1, "SIO": 1}, + {"SIH3": 4, "CH3": 1, "CHO": 1, "SIO": 1}, "smiles", ), ( "CC(OC(C)(C)C)O[Si]([SiH3])([SiH3])[SiH3]", - {"SIH3": 3, "CH3": 4, "CH-O": 1, "SIO": 1, "C": 1}, + {"SIH3": 3, "CH3": 4, "CHO": 1, "SIO": 1, "C": 1}, "smiles", ), ( "CC(C)OC(C)O[Si]([SiH3])([SiH3])[SiH3]", - {"SIH3": 3, "CH3": 3, "CH-O": 2, "SI": 1}, + {"SIH3": 3, "CH3": 3, "CHO": 2, "SI": 1}, "smiles", ), ( "COC(C)O[Si]([SiH3])([SiH3])[SiH3]", - {"SIH3": 3, "CH3": 1, "CH3O": 1, "CH-O": 1, "SI": 1}, + {"SIH3": 3, "CH3": 1, "CH3O": 1, "CHO": 1, "SI": 1}, "smiles", ), # quadtruplets @@ -376,10 +376,9 @@ ] -@pytest.mark.SIO +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_sio_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_44_nmp.py b/tests/classic_unifac_groups/test_44_nmp.py index f7637c6..62ac194 100644 --- a/tests/classic_unifac_groups/test_44_nmp.py +++ b/tests/classic_unifac_groups/test_44_nmp.py @@ -13,10 +13,9 @@ ] -@pytest.mark.NMP @pytest.mark.UNIFAC +@pytest.mark.PSRK @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_npm_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_45_cclf.py b/tests/classic_unifac_groups/test_45_cclf.py index 879924e..07bb08c 100644 --- a/tests/classic_unifac_groups/test_45_cclf.py +++ b/tests/classic_unifac_groups/test_45_cclf.py @@ -29,10 +29,9 @@ ] -@pytest.mark.CCLF +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_cclf_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_46_con.py b/tests/classic_unifac_groups/test_46_con.py index f2fcc38..c33ec31 100644 --- a/tests/classic_unifac_groups/test_46_con.py +++ b/tests/classic_unifac_groups/test_46_con.py @@ -62,10 +62,9 @@ ] -@pytest.mark.CON +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_con_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_47_occoh.py b/tests/classic_unifac_groups/test_47_occoh.py index 2d9b696..573902d 100644 --- a/tests/classic_unifac_groups/test_47_occoh.py +++ b/tests/classic_unifac_groups/test_47_occoh.py @@ -16,10 +16,9 @@ ] -@pytest.mark.OCCOH +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_occoh_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_48_ch2s.py b/tests/classic_unifac_groups/test_48_ch2s.py index 5f7f3a0..146b475 100644 --- a/tests/classic_unifac_groups/test_48_ch2s.py +++ b/tests/classic_unifac_groups/test_48_ch2s.py @@ -18,10 +18,9 @@ ] -@pytest.mark.CH2S +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_ch2s_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_49_morpholine.py b/tests/classic_unifac_groups/test_49_morpholine.py index 1f4fa3e..8787995 100644 --- a/tests/classic_unifac_groups/test_49_morpholine.py +++ b/tests/classic_unifac_groups/test_49_morpholine.py @@ -14,10 +14,9 @@ ] -@pytest.mark.morpholine +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_morpholine_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_50_thiophene.py b/tests/classic_unifac_groups/test_50_thiophene.py index 38f8f21..d11f050 100644 --- a/tests/classic_unifac_groups/test_50_thiophene.py +++ b/tests/classic_unifac_groups/test_50_thiophene.py @@ -23,10 +23,9 @@ ] -@pytest.mark.thiophene +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_thiophene_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_51_nco.py b/tests/classic_unifac_groups/test_51_nco.py index 494a71c..da01399 100644 --- a/tests/classic_unifac_groups/test_51_nco.py +++ b/tests/classic_unifac_groups/test_51_nco.py @@ -18,9 +18,9 @@ ] -@pytest.mark.NCO +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_thiophene_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == {} diff --git a/tests/classic_unifac_groups/test_55_sulfones.py b/tests/classic_unifac_groups/test_55_sulfones.py index dc38ed0..a11c302 100644 --- a/tests/classic_unifac_groups/test_55_sulfones.py +++ b/tests/classic_unifac_groups/test_55_sulfones.py @@ -20,10 +20,9 @@ ] -@pytest.mark.sulfones +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_sulfones_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result - assert groups.psrk_groups == {} + assert ug.get_unifac_groups(identifier, identifier_type) == result + assert ug.get_psrk_groups(identifier, identifier_type) == {} diff --git a/tests/classic_unifac_groups/test_84_imidazol.py b/tests/classic_unifac_groups/test_84_imidazol.py index aaf7033..09001ee 100644 --- a/tests/classic_unifac_groups/test_84_imidazol.py +++ b/tests/classic_unifac_groups/test_84_imidazol.py @@ -14,9 +14,7 @@ ] -@pytest.mark.IMIDAZOL @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_thiophene_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_85_bti.py b/tests/classic_unifac_groups/test_85_bti.py index fae09af..3be6f05 100644 --- a/tests/classic_unifac_groups/test_85_bti.py +++ b/tests/classic_unifac_groups/test_85_bti.py @@ -14,9 +14,7 @@ ] -@pytest.mark.BTI @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_thiophene_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result diff --git a/tests/classic_unifac_groups/test_composed.py b/tests/classic_unifac_groups/test_composed.py index 3ffeba4..20980e0 100644 --- a/tests/classic_unifac_groups/test_composed.py +++ b/tests/classic_unifac_groups/test_composed.py @@ -11,7 +11,7 @@ trials_unifac = [ ( "CC(C)CC1=CC=C(C=C1)C(C)OC(C)(C)C", - {"CH3": 6, "CH": 1, "C": 1, "ACH": 4, "ACCH2": 1, "AC": 1, "CH-O": 1}, + {"CH3": 6, "CH": 1, "C": 1, "ACH": 4, "ACCH2": 1, "AC": 1, "CHO": 1}, "smiles", ), # two solutions @@ -61,24 +61,23 @@ ), ( "C1(=CC=CC=C1)C(OC(C)(C)C)C", - {"ACH": 5, "AC": 1, "CH-O": 1, "CH3": 4, "C": 1}, + {"ACH": 5, "AC": 1, "CHO": 1, "CH3": 4, "C": 1}, "smiles", ), ("C12=CC=CC=C1COC2", {"ACH": 4, "AC": 1, "CH2O": 1, "ACCH2": 1}, "smiles"), ] -@pytest.mark.composed +@pytest.mark.PSRK @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_composed_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) + unifac_result = ug.get_unifac_groups(identifier, identifier_type) + psrk_result = ug.get_psrk_groups(identifier, identifier_type) try: - assert groups.unifac_groups == result - assert groups.psrk_groups == result + assert unifac_result == result + assert psrk_result == result except ValueError: - for uni, psrk, sol in zip( - groups.unifac_groups, groups.psrk_groups, result - ): + for uni, psrk, sol in zip(unifac_result, psrk_result, result): assert uni == sol assert psrk == sol diff --git a/tests/classic_unifac_groups/test_impossibles.py b/tests/classic_unifac_groups/test_impossibles.py index 8948a2d..e301c37 100644 --- a/tests/classic_unifac_groups/test_impossibles.py +++ b/tests/classic_unifac_groups/test_impossibles.py @@ -15,12 +15,10 @@ ] -@pytest.mark.impossibles @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_impossibles_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result # PSRK @@ -30,9 +28,7 @@ def test_impossibles_unifac(identifier, result, identifier_type): ] -@pytest.mark.impossibles @pytest.mark.PSRK @pytest.mark.parametrize("identifier, result, identifier_type", trials_psrk) def test_impossibles_psrk(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.psrk_groups == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/original_dortmund.csv b/tests/original_dortmund.csv index 5717df8..05f8238 100644 --- a/tests/original_dortmund.csv +++ b/tests/original_dortmund.csv @@ -18,13 +18,13 @@ No.|Subgroup Name|Main Group No.|Main Group Name|R|Q 17|ACOH|8|ACOH|1.08|0.975 18|CH3CO|9|CH2CO|1.7048|1.67 19|CH2CO|9|CH2CO|1.7048|1.5542 -20|CHO|10|CHO|0.7173|0.771 +20|HCO|10|HCO|0.7173|0.771 21|CH3COO|11|CCOO|1.27|1.6286 22|CH2COO|11|CCOO|1.27|1.4228 23|HCOO|12|HCOO|1.9|1.8 24|CH3O|13|CH2O|1.1434|1.6022 25|CH2O|13|CH2O|1.1434|1.2495 -26|CH-O|13|CH2O|1.1434|0.8968 +26|CHO|13|CH2O|1.1434|0.8968 27|THF|43|CY-CH2O|1.7023|1.8784 28|CH3NH2|14|CH2NH2|1.6607|1.6904 29|CH2NH2|14|CH2NH2|1.6607|1.3377 @@ -71,7 +71,7 @@ No.|Subgroup Name|Main Group No.|Main Group Name|R|Q 70|C=C|2|C=C|1.2832|0.4582 71|ACF|38|ACF|0.8814|0.7269 72|DMF|39|DMF|2|2.093 -73|HCON(..|39|DMF|2.381|1.522 +73|HCON(CH2)2|39|DMF|2.381|1.522 74|CF3|40|CF2|1.284|1.266 75|CF2|40|CF2|1.284|1.098 76|CF|40|CF2|0.8215|0.5135 diff --git a/tests/original_psrk.csv b/tests/original_psrk.csv index 61a3687..b74b62e 100644 --- a/tests/original_psrk.csv +++ b/tests/original_psrk.csv @@ -18,13 +18,13 @@ No.|Subgroup name|Main group|R|Q 17|ACOH|[8] ACOH|0.8952|0.68 18|CH3CO|[9] CH2CO|1.6724|1.488 19|CH2CO|[9] CH2CO|1.4457|1.18 -20|CHO|[10] CHO|0.998|0.948 +20|HCO|[10] HCO|0.998|0.948 21|CH3COO|[11] CCOO|1.9031|1.728 22|CH2COO|[11] CCOO|1.6764|1.42 23|HCOO|[12] HCOO|1.242|1.188 24|CH3O|[13] CH2O|1.145|1.088 25|CH2O|[13] CH2O|0.9183|0.78 -26|CH-O|[13] CH2O|0.6908|0.468 +26|CHO|[13] CH2O|0.6908|0.468 27|THF|[13] CH2O|0.9183|1.1 28|CH3NH2|[14] CNH2|1.5959|1.544 29|CH2NH2|[14] CNH2|1.3692|1.236 @@ -71,7 +71,7 @@ No.|Subgroup name|Main group|R|Q 70|C=C|[2] C=C|0.6605|0.485 71|ACF|[38] ACF|0.6948|0.524 72|DMF|[39] DMF|3.0856|2.736 -73|HCON(..|[39] DMF|2.6322|2.12 +73|HCON(CH2)2|[39] DMF|2.6322|2.12 74|CF3|[40] CF2|1.406|1.38 75|CF2|[40] CF2|1.0105|0.92 76|CF|[40] CF2|0.615|0.46 diff --git a/tests/original_unifac.csv b/tests/original_unifac.csv index 6b4f3fe..1aebba0 100644 --- a/tests/original_unifac.csv +++ b/tests/original_unifac.csv @@ -18,13 +18,13 @@ No.|Subgroup Name|Maingroup|R|Q 17|ACOH|[8]ACOH|0.8952|0.68 18|CH3CO|[9]CH2CO|1.6724|1.488 19|CH2CO|[9]CH2CO|1.4457|1.18 -20|CHO|[10]CHO|0.998|0.948 +20|HCO|[10]HCO|0.998|0.948 21|CH3COO|[11]CCOO|1.9031|1.728 22|CH2COO|[11]CCOO|1.6764|1.42 23|HCOO|[12]HCOO|1.242|1.188 24|CH3O|[13]CH2O|1.145|1.088 25|CH2O|[13]CH2O|0.9183|0.78 -26|CH-O|[13]CH2O|0.6908|0.468 +26|CHO|[13]CH2O|0.6908|0.468 27|THF|[13]CH2O|0.9183|1.1 28|CH3NH2|[14]CNH2|1.5959|1.544 29|CH2NH2|[14]CNH2|1.3692|1.236 @@ -71,7 +71,7 @@ No.|Subgroup Name|Maingroup|R|Q 70|C=C|[2]C=C|0.6605|0.485 71|ACF|[38]ACF|0.6948|0.524 72|DMF|[39]DMF|3.0856|2.736 -73|HCON(..|[39]DMF|2.6322|2.12 +73|HCON(CH2)2|[39]DMF|2.6322|2.12 74|CF3|[40]CF2|1.406|1.38 75|CF2|[40]CF2|1.0105|0.92 76|CF|[40]CF2|0.615|0.46 diff --git a/tests/psrk_new_groups/test_29_ch2sh.py b/tests/psrk_new_groups/test_29_ch2sh.py index d05a6c5..8aa520f 100644 --- a/tests/psrk_new_groups/test_29_ch2sh.py +++ b/tests/psrk_new_groups/test_29_ch2sh.py @@ -16,9 +16,6 @@ @pytest.mark.PSRK -@pytest.mark.CH3SH @pytest.mark.parametrize("identifier, result, identifier_type", trials_psrk) def test_29_ch3sh(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == {} - assert groups.psrk_groups == result + assert ug.get_psrk_groups(identifier, identifier_type) == result diff --git a/tests/psrk_new_groups/test_51_epoxy.py b/tests/psrk_new_groups/test_51_epoxy.py index d4e59c9..387e977 100644 --- a/tests/psrk_new_groups/test_51_epoxy.py +++ b/tests/psrk_new_groups/test_51_epoxy.py @@ -24,11 +24,9 @@ @pytest.mark.PSRK -@pytest.mark.epoxy @pytest.mark.parametrize("identifier, result, identifier_type", trials_psrk) def test_51_epoxy_psrk(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.psrk_groups == result + assert ug.get_psrk_groups(identifier, identifier_type) == result # ============================================================================= @@ -38,9 +36,9 @@ def test_51_epoxy_psrk(identifier, result, identifier_type): # propyleneoxide ("CC1CO1", {"CH2O": 1, "CH": 1, "CH3": 1}, "smiles"), # 2,3-epoxybutane - ("CC1C(O1)C", {"CH3": 2, "CH-O": 1, "CH": 1}, "smiles"), + ("CC1C(O1)C", {"CH3": 2, "CHO": 1, "CH": 1}, "smiles"), # 2-methyl-2,3-epoxybutane - ("CC1OC1(C)C", {"CH3": 3, "CH-O": 1, "C": 1}, "smiles"), + ("CC1OC1(C)C", {"CH3": 3, "CHO": 1, "C": 1}, "smiles"), # 2-methyl-1,2-epoxypropane ("CC1(CO1)C", {"CH3": 2, "CH2O": 1, "C": 1}, "smiles"), # 2,3-dimethyl-2,3-epoxybutane @@ -49,8 +47,6 @@ def test_51_epoxy_psrk(identifier, result, identifier_type): @pytest.mark.UNIFAC -@pytest.mark.epoxy @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_51_epoxy_unfiac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type) - assert groups.unifac_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result diff --git a/tests/psrk_new_groups/test_one_group_molecules.py b/tests/psrk_new_groups/test_one_group_molecules.py index 71cfadb..cc82c2c 100644 --- a/tests/psrk_new_groups/test_one_group_molecules.py +++ b/tests/psrk_new_groups/test_one_group_molecules.py @@ -84,8 +84,7 @@ @pytest.mark.PSRK @pytest.mark.parametrize("identifier, result, identifier_type", trials_psrk) def test_one_group_molecules(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type, unifac=False) - assert groups.psrk_groups == result + assert ug.get_psrk_groups(identifier, identifier_type) == result # ============================================================================= @@ -100,5 +99,4 @@ def test_one_group_molecules(identifier, result, identifier_type): @pytest.mark.UNIFAC @pytest.mark.parametrize("identifier, result, identifier_type", trials_unifac) def test_one_group_molecules_unifac(identifier, result, identifier_type): - groups = ug.Groups(identifier, identifier_type, psrk=False) - assert groups.unifac_groups == result + assert ug.get_unifac_groups(identifier, identifier_type) == result diff --git a/tests/test_csv_equals.py b/tests/test_csv_equals.py index e49fd64..526ce9f 100644 --- a/tests/test_csv_equals.py +++ b/tests/test_csv_equals.py @@ -26,57 +26,3 @@ def test_unifac_psrk_equal(): constants.unifac_subgroups.loc[group, "molecular_weight"] == constants.psrk_subgroups.loc[group, "molecular_weight"] ) - - -def test_unifac_dortmund_equal(): - """check if the same subgroup appears in 2 models, both xxx_subgroups.csv - rows must be the same. - """ - for group in constants.unifac_subgroups.index: - if group in constants.dortmund_subgroups.index: - assert ( - constants.unifac_subgroups.loc[group, "smarts"] - == constants.dortmund_subgroups.loc[group, "smarts"] - ) - - assert ( - constants.unifac_subgroups.loc[group, "contribute"] - == constants.dortmund_subgroups.loc[group, "contribute"] - ) - - assert ( - constants.unifac_subgroups.loc[group, "composed"] - == constants.dortmund_subgroups.loc[group, "composed"] - ) - - assert ( - constants.unifac_subgroups.loc[group, "molecular_weight"] - == constants.dortmund_subgroups.loc[group, "molecular_weight"] - ) - - -def test_psrk_dortmund_equal(): - """check if the same subgroup appears in 2 models, both xxx_subgroups.csv - rows must be the same. - """ - for group in constants.psrk_subgroups.index: - if group in constants.dortmund_subgroups.index: - assert ( - constants.psrk_subgroups.loc[group, "smarts"] - == constants.dortmund_subgroups.loc[group, "smarts"] - ) - - assert ( - constants.psrk_subgroups.loc[group, "contribute"] - == constants.dortmund_subgroups.loc[group, "contribute"] - ) - - assert ( - constants.psrk_subgroups.loc[group, "composed"] - == constants.dortmund_subgroups.loc[group, "composed"] - ) - - assert ( - constants.psrk_subgroups.loc[group, "molecular_weight"] - == constants.dortmund_subgroups.loc[group, "molecular_weight"] - ) diff --git a/tests/test_groups_data.py b/tests/test_groups_data.py index 0606f25..5144d4e 100644 --- a/tests/test_groups_data.py +++ b/tests/test_groups_data.py @@ -58,17 +58,23 @@ def test_dormund_data(): df = pd.read_csv(f, sep="|", index_col="Subgroup Name", comment="?") for group in df.index: - assert ( - df.loc[group, "R"] == constants.dortmund_subgroups.loc[group, "R"] - ) - assert ( - df.loc[group, "Q"] == constants.dortmund_subgroups.loc[group, "Q"] - ) - assert ( - df.loc[group, "No."] - == constants.dortmund_subgroups.loc[group, "subgroup_number"] - ) - assert ( - df.loc[group, "Main Group No."] - == constants.dortmund_subgroups.loc[group, "main_group"] - ) + try: + assert ( + df.loc[group, "R"] + == constants.dortmund_subgroups.loc[group, "R"] + ) + assert ( + df.loc[group, "Q"] + == constants.dortmund_subgroups.loc[group, "Q"] + ) + assert ( + df.loc[group, "No."] + == constants.dortmund_subgroups.loc[group, "subgroup_number"] + ) + assert ( + df.loc[group, "Main Group No."] + == constants.dortmund_subgroups.loc[group, "main_group"] + ) + except KeyError: + # TODO: Dortmund in development some groups are commented. + ... diff --git a/tools/build_dortmund_matrix.ipynb b/tools/build_dortmund_matrix.ipynb index 0b1558c..79a7ece 100644 --- a/tools/build_dortmund_matrix.ipynb +++ b/tools/build_dortmund_matrix.ipynb @@ -15,7 +15,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ diff --git a/tools/build_psrk_matrix.ipynb b/tools/build_psrk_matrix.ipynb index cf1dd8e..826c1c5 100644 --- a/tools/build_psrk_matrix.ipynb +++ b/tools/build_psrk_matrix.ipynb @@ -71,7 +71,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.6" + "version": "3.10.12" }, "orig_nbformat": 4 }, diff --git a/tools/build_unifac_matrix.ipynb b/tools/build_unifac_matrix.ipynb index 785bfa7..753e57a 100644 --- a/tools/build_unifac_matrix.ipynb +++ b/tools/build_unifac_matrix.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -15,7 +15,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ diff --git a/ugropy/core/model_getters.py b/ugropy/core/model_getters.py index 04ebb09..79fd5c5 100644 --- a/ugropy/core/model_getters.py +++ b/ugropy/core/model_getters.py @@ -25,7 +25,7 @@ def instantiate_chem_object( identifier: str, identifier_type: str ) -> Chem.rdchem.Mol: - """Instantiates a rdkit Mol object from molecule's name or SMILES. + """Instantiate a rdkit Mol object from molecule's name or SMILES. Parameters ---------- diff --git a/ugropy/groupscsv/dortmund/dortmund_main_groups.csv b/ugropy/groupscsv/dortmund/dortmund_main_groups.csv index deed8c5..38cf143 100644 --- a/ugropy/groupscsv/dortmund/dortmund_main_groups.csv +++ b/ugropy/groupscsv/dortmund/dortmund_main_groups.csv @@ -8,7 +8,7 @@ No.|Main Group Name|List of Subgroups 7|H2O|[16]H2O 8|ACOH|[17]ACOH 9|CH2CO|[18]CH3CO [19]CH2CO -10|CHO|[20]CHO +10|HCO|[20]HCO 11|CCOO|[21]CH3COO [22]CH2COO 12|HCOO|[23]HCOO 13|CH2O|[24]CH3O [25]CH2O [26]CHO diff --git a/ugropy/groupscsv/dortmund/dortmund_matrix.csv b/ugropy/groupscsv/dortmund/dortmund_matrix.csv index 66ddf06..adeb6bb 100644 --- a/ugropy/groupscsv/dortmund/dortmund_matrix.csv +++ b/ugropy/groupscsv/dortmund/dortmund_matrix.csv @@ -1,91 +1,90 @@ -group|CH3|CH2|CH|C|CH2=CH|CH=CH|CH2=C|CH=C|ACH|AC|ACCH3|ACCH2|ACCH|OH (P)|CH3OH|H2O|ACOH|CH3CO|CH2CO|CHO|CH3COO|CH2COO|HCOO|CH3O|CH2O|CH-O|THF|CH3NH2|CH2NH2|CHNH2|CH3NH|CH2NH|CHNH|CH3N|CH2N|ACNH2|CH3CN|CH2CN|COOH|HCOOH|CH2CL|CHCL|CCL|CH2CL2|CHCL2|CCL2|CHCL3|CCL3|CCL4|ACCL|CH3NO2|CH2NO2|CHNO2|ACNO2|CS2|CH3SH|CH2SH|FURFURAL|DOH|I|BR|CH=-C|C=-C|DMSO|ACRY|CL-(C=C)|C=C|ACF|DMF|HCON(..|CF3|CF2|CF|COO|OH (S)|OH (T)|CNH2|NMP|AM(CH3)2|AMCH3CH2|AM(CH2)2|H2COCH|HCOCH|(CH2)2SU|CH2SUCH|H2COCH2|CH3S|CH2S|CHS|H2COC -CH3|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -C|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2=CH|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH=CH|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2=C|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH=C|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACH|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -AC|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACCH3|-1|0|0|0|0|0|0|0|0|-1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACCH2|0|-1|0|0|0|0|0|0|0|-1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACCH|0|0|-1|0|0|0|0|0|0|-1|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -OH (P)|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3OH|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -H2O|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACOH|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3CO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2CO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3COO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2COO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -HCOO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3O|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2O|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH-O|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -THF|0|-3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3NH2|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2NH2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHNH2|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3NH|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2NH|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHNH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3N|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2N|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACNH2|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3CN|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2CN|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -COOH|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -HCOOH|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2CL|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHCL|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CCL|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2CL2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHCL2|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CCL2|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHCL3|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CCL3|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CCL4|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACCL|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3NO2|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2NO2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHNO2|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACNO2|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CS2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH3SH|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH2SH|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -FURFURAL|0|0|1|0|0|0|0|0|-3|-1|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -DOH|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -I|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -BR|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH=-C|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -C=-C|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -DMSO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0 -ACRY|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CL-(C=C)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -C=C|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -ACF|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -DMF|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -HCON(..|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CF3|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CF2|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CF|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -COO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -OH (S)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -OH (T)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CNH2|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0 -NMP|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|-1|0|0|0|0|0|0|0|0|0|0 -AM(CH3)2|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0 -AMCH3CH2|-1|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0 -AM(CH2)2|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0 -H2COCH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0 -HCOCH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0 -(CH2)2SU|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|-1|0|0 -CH2SUCH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0 -H2COCH2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0 -CH3S|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0 -CH2S|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0 -CHS|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0 -H2COC|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1 +group|CH3|CH2|CH|C|CH2=CH|CH=CH|CH2=C|CH=C|ACH|AC|ACCH3|ACCH2|ACCH|OH (P)|CH3OH|H2O|ACOH|CH3CO|CH2CO|HCO|CH3COO|CH2COO|HCOO|CH3O|CH2O|CHO|CH3NH2|CH2NH2|CHNH2|CH3NH|CH2NH|CHNH|CH3N|CH2N|ACNH2|CH3CN|CH2CN|COOH|HCOOH|CH2CL|CHCL|CCL|CH2CL2|CHCL2|CCL2|CHCL3|CCL3|CCL4|ACCL|CH3NO2|CH2NO2|CHNO2|ACNO2|CS2|CH3SH|CH2SH|FURFURAL|DOH|I|BR|CH=-C|C=-C|DMSO|ACRY|CL-(C=C)|C=C|ACF|DMF|HCON(CH2)2|CF3|CF2|CF|COO|OH (S)|OH (T)|CNH2|NMP|AM(CH3)2|AMCH3CH2|AM(CH2)2|H2COCH|HCOCH|(CH2)2SU|CH2SUCH|H2COCH2|CH3S|CH2S|CHS|H2COC +CH3|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +C|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2=CH|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH=CH|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2=C|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH=C|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACH|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +AC|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACCH3|-1|0|0|0|0|0|0|0|0|-1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACCH2|0|-1|0|0|0|0|0|0|0|-1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACCH|0|0|-1|0|0|0|0|0|0|-1|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +OH (P)|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3OH|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +H2O|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACOH|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3CO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2CO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +HCO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3COO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2COO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +HCOO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3O|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2O|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHO|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3NH2|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2NH2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHNH2|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3NH|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2NH|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHNH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3N|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2N|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACNH2|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3CN|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2CN|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +COOH|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +HCOOH|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2CL|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHCL|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CCL|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2CL2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHCL2|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CCL2|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHCL3|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CCL3|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CCL4|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACCL|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3NO2|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2NO2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHNO2|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACNO2|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CS2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH3SH|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH2SH|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +FURFURAL|0|0|1|0|0|0|0|0|-3|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +DOH|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +I|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +BR|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CH=-C|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +C=-C|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +DMSO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0 +ACRY|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CL-(C=C)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +C=C|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +ACF|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +DMF|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +HCON(CH2)2|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CF3|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CF2|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CF|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +COO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +OH (S)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +OH (T)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CNH2|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0 +NMP|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|-1|0|0|0|0|0|0|0|0|0|0 +AM(CH3)2|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0 +AMCH3CH2|-1|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0 +AM(CH2)2|0|-2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0 +H2COCH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0 +HCOCH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0 +(CH2)2SU|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|-1|0|0 +CH2SUCH|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0 +H2COCH2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0 +CH3S|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0 +CH2S|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0 +CHS|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0 +H2COC|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1 diff --git a/ugropy/groupscsv/dortmund/dortmund_subgroups.csv b/ugropy/groupscsv/dortmund/dortmund_subgroups.csv index 4ade83c..a0829d2 100644 --- a/ugropy/groupscsv/dortmund/dortmund_subgroups.csv +++ b/ugropy/groupscsv/dortmund/dortmund_subgroups.csv @@ -18,13 +18,13 @@ H2O|[OH2]|"{""H2O"": 1}"|n|16|7|1.7334|2.4561|18.015 ACOH|[cH0][OH]|"{""ACOH"": 1, ""OH (S)"": -1, ""AC"": -1}"|y|17|8|1.08|0.975|29.018 CH3CO|[CH3]C(=O)([#6,Si])|"{""CH3CO"": 1, ""CH3"" : -1}"|n|18|9|1.7048|1.67|43.045 CH2CO|[CH2]C(=O)[$([#6,Si]);!$([CH3])]|"{""CH2CO"": 1, ""CH2"": -1}"|n|19|9|1.7048|1.5542|42.037 -CHO|[CH](=O)([#6,Si])|"{""CHO"": 1}"|n|20|10|0.7173|0.771|29.018 +HCO|[CH](=O)([#6,Si])|"{""HCO"": 1}"|n|20|10|0.7173|0.771|29.018 CH3COO|[CH3][C](=O)[OH0]|"{""CH3COO"": 1, ""CH3"": -1, ""COO"": -1}"|y|21|11|1.27|1.6286|59.044 CH2COO|[CH2][C](=O)[OH0]|"{""CH2COO"": 1, ""CH2"": -1, ""COO"": -1}"|y|22|11|1.27|1.4228|58.036 HCOO|[CH](=O)[OH0]|"{""HCOO"": 1, ""COO"": -1}"|n|23|12|1.9|1.8|45.017 CH3O|[CH3]O[$([#6]);!$([CH](=O));!$(C(=O)[!O])]|"{""CH3O"": 1, ""CH3"": -1}"|n|24|13|1.1434|1.6022|31.034 CH2O|[CH2]O[$([#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3])]|"{""CH2O"": 1, ""CH2"": -1}"|n|25|13|1.1434|1.2495|30.026 -CH-O|[CH]O[$([#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CH-O"": 1, ""CH"": -1}"|n|26|13|1.1434|0.8968|29.018 +CHO|[CH]O[$([#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CHO"": 1, ""CH"": -1}"|n|26|13|1.1434|0.8968|29.018 ? THF|[CH2]1[CH2]O[CH2][CH2]1|"{""THF"": 1, ""CH2O"": -1, ""CH2"": -3}"|n|27|43|1.7023|1.8784|72.107 CH3NH2|[CH3][NH2]|"{""CH3NH2"": 1, ""CH3"": -1}"|n|28|14|1.6607|1.6904|31.058 CH2NH2|[CH2][NH2]|"{""CH2NH2"": 1, ""CH2"": -1}"|n|29|14|1.6607|1.3377|30.05 @@ -101,7 +101,7 @@ AM(CH2)2|[CH0](=O)([N]([CH2])[CH2])([!O])|"{""AM(CH2)2"": 1, ""CH2"": -2}"|n|103 ? AC2S||||106|52|1.4621|0.78| H2COCH|[CH2]([O]1)[CH]1|"{""H2COCH"": 1, ""CH2O"": -1, ""CH"": -1}"|n|107|53|1.3601|1.8031|43.0444 ? COCH||||108|53|0.683|0.3418| -HCOCH|[CH]([O]1)[CH]1|"{""HCOCH"": 1, ""CH-O"": -1, ""CH"": -1}"|n|109|53|0.9104|0.6538|42.0366 +HCOCH|[CH]([O]1)[CH]1|"{""HCOCH"": 1, ""CHO"": -1, ""CH"": -1}"|n|109|53|0.9104|0.6538|42.0366 (CH2)2SU|[CH2]S(=O)(=O)[CH2]|"{""(CH2)2SU"": 1, ""CH2"": -1, ""CH2S"": -1}"|n|110|56|2.687|2.12|92.1162 CH2SUCH|[CH2]S(=O)(=O)[CH]|"{""CH2CHSU"": 1, ""CH"": -1, ""CH2S"": -1}"|n|111|56|2.46|1.808|91.1084 ? (CH3)2CB||||112|55|2.42|2.4976| diff --git a/ugropy/groupscsv/problematic_structures.csv b/ugropy/groupscsv/problematic_structures.csv index 2530781..73be790 100644 --- a/ugropy/groupscsv/problematic_structures.csv +++ b/ugropy/groupscsv/problematic_structures.csv @@ -4,15 +4,15 @@ smarts|contribute ? ============================================================================= [CH3]OC(=O)O[CH3]|"{""COO"": -1, ""CH3O"": -1, ""CH3"": 1}" [CH3]OC(=O)O[CH2]|"{""COO"": -1, ""CH2O"": -1, ""CH2"": 1}" -[CH3]OC(=O)O[CH]|"{""COO"": -1, ""CH-O"": -1, ""CH"": 1}" +[CH3]OC(=O)O[CH]|"{""COO"": -1, ""CHO"": -1, ""CH"": 1}" [CH3]OC(=O)O[CH0,c]|"{""COO"": -1}" [CH2]OC(=O)O[CH2]|"{""COO"": -1, ""CH2O"": -1, ""CH2"": 1}" -[CH2]OC(=O)O[CH]|"{""COO"": -1, ""CH-O"": -1, ""CH"": 1}" +[CH2]OC(=O)O[CH]|"{""COO"": -1, ""CHO"": -1, ""CH"": 1}" [CH2]OC(=O)O[CH0,c]|"{""COO"": -1}" -[CH]OC(=O)O[CH]|"{""COO"": -1, ""CHO"": -1, ""CH"": 1}" +[CH]OC(=O)O[CH]|"{""COO"": -1, ""HCO"": -1, ""CH"": 1}" [CH]OC(=O)O[CH0,c]|"{""COO"": -1}" -[CH](=O)O[$([#6,Si]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CH-O"": -1}" -[CH]O[CH2]O[CH]|"{""CH2O"": -1, ""CH2"": 1, ""CHO"": 1, ""CH"": -1}" +[CH](=O)O[$([#6,Si]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CHO"": -1}" +[CH]O[CH2]O[CH]|"{""CH2O"": -1, ""CH2"": 1, ""HCO"": 1, ""CH"": -1}" ? ============================================================================= ? Aliphatic N ? ============================================================================= @@ -35,13 +35,13 @@ smarts|contribute ? Silicon-carbon eter ? ============================================================================= ? triplets -[CH]O[CH2]O[Si]|"{""CH2O"": -1, ""CH2"": 1, ""CH-O"": 1, ""CH"": -1}" +[CH]O[CH2]O[Si]|"{""CH2O"": -1, ""CH2"": 1, ""CHO"": 1, ""CH"": -1}" [SiH2]O[CH2]O[SiH3,SiH2,SiH,SiH0,CH0]|"{""CH2O"": -1, ""CH2"": 1, ""SIH2O"": 1, ""SIH2"": -1}" [SiH]O[CH2]O[SiH3,SiH,SiH0,CH0]|"{""CH2O"": -1, ""CH2"": 1, ""SIHO"": 1, ""SIH"": -1}" [SiH0]O[CH2]O[SiH3,SiH0,CH0]|"{""CH2O"": -1, ""CH2"": 1, ""SIO"": 1, ""SI"": -1}" -[SiH2]O[CH]O[SiH3,SiH2,SiH,SiH0,CH0]|"{""CH-O"": -1, ""CH"": 1, ""SIH2O"": 1, ""SIH2"": -1}" -[SiH]O[CH]O[SiH3,SiH,SiH0,CH0]|"{""CH-O"": -1, ""CH"": 1, ""SIHO"": 1, ""SIH"": -1}" -[SiH0]O[CH]O[SiH3,SiH0,CH0]|"{""CH-O"": -1, ""CH"": 1, ""SIO"": 1, ""SI"": -1}" +[SiH2]O[CH]O[SiH3,SiH2,SiH,SiH0,CH0]|"{""CHO"": -1, ""CH"": 1, ""SIH2O"": 1, ""SIH2"": -1}" +[SiH]O[CH]O[SiH3,SiH,SiH0,CH0]|"{""CHO"": -1, ""CH"": 1, ""SIHO"": 1, ""SIH"": -1}" +[SiH0]O[CH]O[SiH3,SiH0,CH0]|"{""CHO"": -1, ""CH"": 1, ""SIO"": 1, ""SI"": -1}" ? ============================================================================= ? Silicon - carbon carbonate groups ? ============================================================================= diff --git a/ugropy/groupscsv/psrk/ch_hideouts.csv b/ugropy/groupscsv/psrk/ch_hideouts.csv index 11e235c..99ba3b4 100644 --- a/ugropy/groupscsv/psrk/ch_hideouts.csv +++ b/ugropy/groupscsv/psrk/ch_hideouts.csv @@ -1,6 +1,6 @@ group ACCH -CH-O +CHO CHNH2 CHNH CHCL diff --git a/ugropy/groupscsv/psrk/psrk_main_groups.csv b/ugropy/groupscsv/psrk/psrk_main_groups.csv index b1df6b8..e7b003e 100644 --- a/ugropy/groupscsv/psrk/psrk_main_groups.csv +++ b/ugropy/groupscsv/psrk/psrk_main_groups.csv @@ -8,7 +8,7 @@ No.|Main group name|Subgroups 7|H2O|[16] H2O 8|ACOH|[17] ACOH 9|CH2CO|[18] CH3CO [19] CH2CO -10|CHO|[20] CHO +10|HCO|[20] HCO 11|CCOO|[21] CH3COO [22] CH2COO 12|HCOO|[23] HCOO 13|CH2O|[24] CH3O [25] CH2O [26] CHO [27] THF diff --git a/ugropy/groupscsv/psrk/psrk_matrix.csv b/ugropy/groupscsv/psrk/psrk_matrix.csv index 1fad0ab..f6836d6 100644 --- a/ugropy/groupscsv/psrk/psrk_matrix.csv +++ b/ugropy/groupscsv/psrk/psrk_matrix.csv @@ -1,4 +1,4 @@ -group|CH3|CH2|CH|C|CH2=CH|CH=CH|CH2=C|CH=C|ACH|AC|ACCH3|ACCH2|ACCH|OH|CH3OH|H2O|ACOH|CH3CO|CH2CO|CHO|CH3COO|CH2COO|HCOO|CH3O|CH2O|CH-O|THF|CH3NH2|CH2NH2|CHNH2|CH3NH|CH2NH|CHNH|CH3N|CH2N|ACNH2|C5H5N|C5H4N|C5H3N|CH3CN|CH2CN|COOH|HCOOH|CH2CL|CHCL|CCL|CH2CL2|CHCL2|CCL2|CHCL3|CCL3|CCL4|ACCL|CH3NO2|CH2NO2|CHNO2|ACNO2|CS2|CH3SH|CH2SH|FURFURAL|DOH|I|BR|CH=-C|C=-C|DMSO|ACRY|CL-(C=C)|C=C|ACF|DMF|HCON(CH2)2|CF3|CF2|CF|COO|SIH3|SIH2|SIH|SI|SIH2O|SIHO|SIO|NMP|CCL3F|CCL2F|HCCL2F|HCCLF|CCLF2|HCCLF2|CCLF3|CCL2F2|AMH2|AMHCH3|AMHCH2|AM(CH3)2|AMCH3CH2|AM(CH2)2|C2H5O2|C2H4O2|CH3S|CH2S|CHS|MORPH|C4H4S|C4H3S|C4H2S|H2C=CH2|CH=-CH|NH3|CO|H2S|N2|AR|CO2|CH4|O2|SO2|NO|N2O|SF6|HE|NE|KR|XE|HF|HCL|HBR|HI|COS|CHSH|CSH|H2COCH|HCOCH|HCOC|H2COCH2|H2COC|COC|F2|CL2|BR2|HCN|NO2|CF4|O3|CLNO|CNH2 +group|CH3|CH2|CH|C|CH2=CH|CH=CH|CH2=C|CH=C|ACH|AC|ACCH3|ACCH2|ACCH|OH|CH3OH|H2O|ACOH|CH3CO|CH2CO|HCO|CH3COO|CH2COO|HCOO|CH3O|CH2O|CHO|THF|CH3NH2|CH2NH2|CHNH2|CH3NH|CH2NH|CHNH|CH3N|CH2N|ACNH2|C5H5N|C5H4N|C5H3N|CH3CN|CH2CN|COOH|HCOOH|CH2CL|CHCL|CCL|CH2CL2|CHCL2|CCL2|CHCL3|CCL3|CCL4|ACCL|CH3NO2|CH2NO2|CHNO2|ACNO2|CS2|CH3SH|CH2SH|FURFURAL|DOH|I|BR|CH=-C|C=-C|DMSO|ACRY|CL-(C=C)|C=C|ACF|DMF|HCON(CH2)2|CF3|CF2|CF|COO|SIH3|SIH2|SIH|SI|SIH2O|SIHO|SIO|NMP|CCL3F|CCL2F|HCCL2F|HCCLF|CCLF2|HCCLF2|CCLF3|CCL2F2|AMH2|AMHCH3|AMHCH2|AM(CH3)2|AMCH3CH2|AM(CH2)2|C2H5O2|C2H4O2|CH3S|CH2S|CHS|MORPH|C4H4S|C4H3S|C4H2S|H2C=CH2|CH=-CH|NH3|CO|H2S|N2|AR|CO2|CH4|O2|SO2|NO|N2O|SF6|HE|NE|KR|XE|HF|HCL|HBR|HI|COS|CHSH|CSH|H2COCH|HCOCH|HCOC|H2COCH2|H2COC|COC|F2|CL2|BR2|HCN|NO2|CF4|O3|CLNO|CNH2 CH3|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 @@ -18,13 +18,13 @@ H2O|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| ACOH|0|0|0|0|0|0|0|0|0|-1|0|0|0|-1|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3CO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2CO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +HCO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3COO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2COO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 HCOO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3O|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2O|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH-O|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHO|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 THF|0|-3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3NH2|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2NH2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 diff --git a/ugropy/groupscsv/psrk/psrk_subgroups.csv b/ugropy/groupscsv/psrk/psrk_subgroups.csv index 62aa914..85e6815 100644 --- a/ugropy/groupscsv/psrk/psrk_subgroups.csv +++ b/ugropy/groupscsv/psrk/psrk_subgroups.csv @@ -18,13 +18,13 @@ H2O|[OH2]|"{""H2O"": 1}"|n|16|7|0.92|1.4|18.015 ACOH|[cH0][OH]|"{""ACOH"": 1, ""OH"": -1, ""AC"": -1}"|y|17|8|0.8952|0.68|29.018 CH3CO|[CH3]C(=O)([#6,Si])|"{""CH3CO"": 1, ""CH3"" : -1}"|n|18|9|1.6724|1.488|43.045 CH2CO|[CH2]C(=O)[$([#6,Si]);!$([CH3])]|"{""CH2CO"": 1, ""CH2"": -1}"|n|19|9|1.4457|1.18|42.037 -CHO|[CH](=O)([#6,Si])|"{""CHO"": 1}"|n|20|10|0.998|0.948|29.018 +HCO|[CH](=O)([#6,Si])|"{""HCO"": 1}"|n|20|10|0.998|0.948|29.018 CH3COO|[CH3][C](=O)[OH0]|"{""CH3COO"": 1, ""CH3"": -1, ""COO"": -1}"|y|21|11|1.9031|1.728|59.044 CH2COO|[CH2][C](=O)[OH0]|"{""CH2COO"": 1, ""CH2"": -1, ""COO"": -1}"|y|22|11|1.6764|1.42|58.036 HCOO|[CH](=O)[OH0]|"{""HCOO"": 1, ""COO"": -1}"|n|23|12|1.242|1.188|45.017 CH3O|[CH3]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O])]|"{""CH3O"": 1, ""CH3"": -1}"|n|24|13|1.145|1.088|31.034 CH2O|[CH2]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3])]|"{""CH2O"": 1, ""CH2"": -1}"|n|25|13|0.9183|0.78|30.026 -CH-O|[CH]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CH-O"": 1, ""CH"": -1}"|n|26|13|0.6908|0.468|29.018 +CHO|[CH]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CHO"": 1, ""CH"": -1}"|n|26|13|0.6908|0.468|29.018 THF|[CH2]1[CH2]O[CH2][CH2]1|"{""THF"": 1, ""CH2O"": -1, ""CH2"": -3}"|n|27|13|0.9183|1.1|72.107 CH3NH2|[CH3][NH2]|"{""CH3NH2"": 1, ""CH3"": -1}"|n|28|14|1.5959|1.544|31.058 CH2NH2|[CH2][NH2]|"{""CH2NH2"": 1, ""CH2"": -1}"|n|29|14|1.3692|1.236|30.05 @@ -59,7 +59,7 @@ ACNO2|[cH0]N(=O)(O)|"{""ACNO2"": 1, ""AC"": -1}"|n|57|27|1.4199|1.104|58.016 CS2|C(=S)(=S)|"{""CS2"": 1}"|n|58|28|2.057|1.65|76.141 CH3SH|[CH3][SH]|"{""CH3SH"": 1, ""CH3"": -1}"|n|59|29|1.877|1.676|48.1072 CH2SH|[CH2][SH]|"{""CH2SH"": 1, ""CH2"": -1}"|n|60|29|1.651|1.368|47.0994 -FURFURAL|c1coc(c1)[CH]=O|"{""FURFURAL"": 1, ""ACH"": -3, ""CHO"": -1, ""CH"": 1, ""AC"": -1}"|n|61|30|3.168|2.484|96.0842 +FURFURAL|c1coc(c1)[CH]=O|"{""FURFURAL"": 1, ""ACH"": -3, ""HCO"": -1, ""CH"": 1, ""AC"": -1}"|n|61|30|3.168|2.484|96.0842 DOH|[CH2]([OH])[CH2][OH]|"{""DOH"": 1, ""CH2"": -2, ""OH"": -2}"|n|62|31|2.4088|2.248|62.0668 I|[I][#6,Si]|"{""I"": 1}"|n|63|32|1.264|0.992|126.9 BR|[Br][#6,Si]|"{""BR"": 1}"|n|64|33|0.9492|0.832|79.904 @@ -135,8 +135,8 @@ COS|O=C=S|"{""COS"": 1}"|n|133|77|1.6785|1.316|60.075 CHSH|[CH][SH]|"{""CHSH"": 1, ""CH"": -1}"|n|134|29|1.425|1.06|46.0916 CSH|[CH0][SH]|"{""CSH"": 1, ""C"": -1}"|n|135|29|1.199|0.752|45.0838 H2COCH|[CH2]([O]1)[CH]1|"{""H2COCH"": 1, ""CH2O"": -1, ""CH"": -1}"|n|136|51|1.3652|1.008|43.0444 -HCOCH|[CH]([O]1)[CH]1|"{""HCOCH"": 1, ""CH-O"": -1, ""CH"": -1}"|n|137|51|1.1378|0.696|42.0366 -HCOC|[CH0]([O]1)[CH]1|"{""HCOC"": 1, ""CH-O"": -1, ""C"": -1}"|n|138|51|0.9104|0.468|41.0288 +HCOCH|[CH]([O]1)[CH]1|"{""HCOCH"": 1, ""CHO"": -1, ""CH"": -1}"|n|137|51|1.1378|0.696|42.0366 +HCOC|[CH0]([O]1)[CH]1|"{""HCOC"": 1, ""CHO"": -1, ""C"": -1}"|n|138|51|0.9104|0.468|41.0288 H2COCH2|[CH2]([O]1)[CH2]1|"{""H2COCH2"": 1, ""CH2"": -1, ""CH2O"": -1}"|n|139|51|1.5926|1.32|44.0522 H2COC|[CH2]([O]1)[CH0]1|"{""H2COC"": 1, ""CH2O"": -1, ""C"": -1}"|n|140|51|1.1378|0.78|42.0366 COC|[CH0]([O]1)[CH0]1|"{""COC"": 1, ""C"": -2}"|n|141|51|0.6829|0.24|40.021 diff --git a/ugropy/groupscsv/unifac/ch_hideouts.csv b/ugropy/groupscsv/unifac/ch_hideouts.csv index f2090e3..ee2fd86 100644 --- a/ugropy/groupscsv/unifac/ch_hideouts.csv +++ b/ugropy/groupscsv/unifac/ch_hideouts.csv @@ -1,6 +1,6 @@ group ACCH -CH-O +CHO CHNH2 CHNH CHCL diff --git a/ugropy/groupscsv/unifac/unifac_main_groups.csv b/ugropy/groupscsv/unifac/unifac_main_groups.csv index f3fead4..970593b 100644 --- a/ugropy/groupscsv/unifac/unifac_main_groups.csv +++ b/ugropy/groupscsv/unifac/unifac_main_groups.csv @@ -8,10 +8,10 @@ No.|Maingroup Name|Subgroups 7|H2O|[16]H2O 8|ACOH|[17]ACOH 9|CH2CO|[18]CH3CO [19]CH2CO -10|CHO|[20]CHO +10|HCO|[20]HCO 11|CCOO|[21]CH3COO [22]CH2COO 12|HCOO|[23]HCOO -13|CH2O|[24]CH3O [25]CH2O [26]CH-O [27]THF +13|CH2O|[24]CH3O [25]CH2O [26]CHO [27]THF 14|CNH2|[28]CH3NH2 [29]CH2NH2 [30]CHNH2 15|CNH|[31]CH3NH [32]CH2NH [33]CHNH 16|(C)3N|[34]CH3N [35]CH2N diff --git a/ugropy/groupscsv/unifac/unifac_matrix.csv b/ugropy/groupscsv/unifac/unifac_matrix.csv index 0554222..f7e8fd4 100644 --- a/ugropy/groupscsv/unifac/unifac_matrix.csv +++ b/ugropy/groupscsv/unifac/unifac_matrix.csv @@ -1,4 +1,4 @@ -group|CH3|CH2|CH|C|CH2=CH|CH=CH|CH2=C|CH=C|ACH|AC|ACCH3|ACCH2|ACCH|OH|CH3OH|H2O|ACOH|CH3CO|CH2CO|CHO|CH3COO|CH2COO|HCOO|CH3O|CH2O|CH-O|THF|CH3NH2|CH2NH2|CHNH2|CH3NH|CH2NH|CHNH|CH3N|CH2N|ACNH2|C5H5N|C5H4N|C5H3N|CH3CN|CH2CN|COOH|HCOOH|CH2CL|CHCL|CCL|CH2CL2|CHCL2|CCL2|CHCL3|CCL3|CCL4|ACCL|CH3NO2|CH2NO2|CHNO2|ACNO2|CS2|CH3SH|CH2SH|FURFURAL|DOH|I|BR|CH=-C|C=-C|DMSO|ACRY|CL-(C=C)|C=C|ACF|DMF|HCON(CH2)2|CF3|CF2|CF|COO|SIH3|SIH2|SIH|SI|SIH2O|SIHO|SIO|NMP|CCL3F|CCL2F|HCCL2F|HCCLF|CCLF2|HCCLF2|CCLF3|CCL2F2|AMH2|AMHCH3|AMHCH2|AM(CH3)2|AMCH3CH2|AM(CH2)2|C2H5O2|C2H4O2|CH3S|CH2S|CHS|MORPH|C4H4S|C4H3S|C4H2S|NCO|(CH2)2SU|CH2CHSU|IMIDAZOL|BTI +group|CH3|CH2|CH|C|CH2=CH|CH=CH|CH2=C|CH=C|ACH|AC|ACCH3|ACCH2|ACCH|OH|CH3OH|H2O|ACOH|CH3CO|CH2CO|HCO|CH3COO|CH2COO|HCOO|CH3O|CH2O|CHO|THF|CH3NH2|CH2NH2|CHNH2|CH3NH|CH2NH|CHNH|CH3N|CH2N|ACNH2|C5H5N|C5H4N|C5H3N|CH3CN|CH2CN|COOH|HCOOH|CH2CL|CHCL|CCL|CH2CL2|CHCL2|CCL2|CHCL3|CCL3|CCL4|ACCL|CH3NO2|CH2NO2|CHNO2|ACNO2|CS2|CH3SH|CH2SH|FURFURAL|DOH|I|BR|CH=-C|C=-C|DMSO|ACRY|CL-(C=C)|C=C|ACF|DMF|HCON(CH2)2|CF3|CF2|CF|COO|SIH3|SIH2|SIH|SI|SIH2O|SIHO|SIO|NMP|CCL3F|CCL2F|HCCL2F|HCCLF|CCLF2|HCCLF2|CCLF3|CCL2F2|AMH2|AMHCH3|AMHCH2|AM(CH3)2|AMCH3CH2|AM(CH2)2|C2H5O2|C2H4O2|CH3S|CH2S|CHS|MORPH|C4H4S|C4H3S|C4H2S|NCO|(CH2)2SU|CH2CHSU|IMIDAZOL|BTI CH3|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 @@ -18,13 +18,13 @@ H2O|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| ACOH|0|0|0|0|0|0|0|0|0|-1|0|0|0|-1|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3CO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2CO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CHO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +HCO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3COO|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2COO|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 HCOO|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3O|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2O|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -CH-O|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +CHO|0|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 THF|0|-3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|-1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH3NH2|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 CH2NH2|0|-1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 diff --git a/ugropy/groupscsv/unifac/unifac_subgroups.csv b/ugropy/groupscsv/unifac/unifac_subgroups.csv index 0697dd0..bcc6ebb 100644 --- a/ugropy/groupscsv/unifac/unifac_subgroups.csv +++ b/ugropy/groupscsv/unifac/unifac_subgroups.csv @@ -18,13 +18,13 @@ H2O|[OH2]|"{""H2O"": 1}"|n|16|7|0.92|1.4|18.015 ACOH|[cH0][OH]|"{""ACOH"": 1, ""OH"": -1, ""AC"": -1}"|y|17|8|0.8952|0.68|29.018 CH3CO|[CH3]C(=O)([#6,Si])|"{""CH3CO"": 1, ""CH3"" : -1}"|n|18|9|1.6724|1.488|43.045 CH2CO|[CH2]C(=O)[$([#6,Si]);!$([CH3])]|"{""CH2CO"": 1, ""CH2"": -1}"|n|19|9|1.4457|1.18|42.037 -CHO|[CH](=O)([#6,Si])|"{""CHO"": 1}"|n|20|10|0.998|0.948|29.018 +HCO|[CH](=O)([#6,Si])|"{""HCO"": 1}"|n|20|10|0.998|0.948|29.018 CH3COO|[CH3][C](=O)[OH0]|"{""CH3COO"": 1, ""CH3"": -1, ""COO"": -1}"|y|21|11|1.9031|1.728|59.044 CH2COO|[CH2][C](=O)[OH0]|"{""CH2COO"": 1, ""CH2"": -1, ""COO"": -1}"|y|22|11|1.6764|1.42|58.036 HCOO|[CH](=O)[OH0]|"{""HCOO"": 1, ""COO"": -1}"|n|23|12|1.242|1.188|45.017 CH3O|[CH3]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O])]|"{""CH3O"": 1, ""CH3"": -1}"|n|24|13|1.145|1.088|31.034 CH2O|[CH2]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3])]|"{""CH2O"": 1, ""CH2"": -1}"|n|25|13|0.9183|0.78|30.026 -CH-O|[CH]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CH-O"": 1, ""CH"": -1}"|n|26|13|0.6908|0.468|29.018 +CHO|[CH]O[$([Si,#6]);!$([CH](=O));!$(C(=O)[!O]);!$([CH3]);!$([CH2])]|"{""CHO"": 1, ""CH"": -1}"|n|26|13|0.6908|0.468|29.018 THF|[CH2]1[CH2]O[CH2][CH2]1|"{""THF"": 1, ""CH2O"": -1, ""CH2"": -3}"|n|27|13|0.9183|1.1|72.107 CH3NH2|[CH3][NH2]|"{""CH3NH2"": 1, ""CH3"": -1}"|n|28|14|1.5959|1.544|31.058 CH2NH2|[CH2][NH2]|"{""CH2NH2"": 1, ""CH2"": -1}"|n|29|14|1.3692|1.236|30.05 @@ -59,7 +59,7 @@ ACNO2|[cH0]N(=O)(O)|"{""ACNO2"": 1, ""AC"": -1}"|n|57|27|1.4199|1.104|58.016 CS2|C(=S)(=S)|"{""CS2"": 1}"|n|58|28|2.057|1.65|76.141 CH3SH|[CH3][SH]|"{""CH3SH"": 1, ""CH3"": -1}"|n|59|29|1.877|1.676|48.1072 CH2SH|[CH2][SH]|"{""CH2SH"": 1, ""CH2"": -1}"|n|60|29|1.651|1.368|47.0994 -FURFURAL|c1coc(c1)[CH]=O|"{""FURFURAL"": 1, ""ACH"": -3, ""CHO"": -1, ""CH"": 1, ""AC"": -1}"|n|61|30|3.168|2.484|96.0842 +FURFURAL|c1coc(c1)[CH]=O|"{""FURFURAL"": 1, ""ACH"": -3, ""HCO"": -1, ""CH"": 1, ""AC"": -1}"|n|61|30|3.168|2.484|96.0842 DOH|[CH2]([OH])[CH2][OH]|"{""DOH"": 1, ""CH2"": -2, ""OH"": -2}"|n|62|31|2.4088|2.248|62.0668 I|[I][#6,Si]|"{""I"": 1}"|n|63|32|1.264|0.992|126.9 BR|[Br][#6,Si]|"{""BR"": 1}"|n|64|33|0.9492|0.832|79.904