Skip to content

Commit

Permalink
More secondary - structures almost there
Browse files Browse the repository at this point in the history
  • Loading branch information
SalvadorBrandolin committed Dec 17, 2024
1 parent 1a00bba commit a35635f
Show file tree
Hide file tree
Showing 8 changed files with 423 additions and 321 deletions.
46 changes: 45 additions & 1 deletion reminder.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,48 @@ C=CCN1CCC23C4Oc5c(O)ccc(CC1C3(O)CCC4=O)c25 : logp

C#CCOc1ccccc1OCC(O)CNC(C)(C)C : logp
C=CCc1ccccc1OCC(O)CNC(C)C : logp
C=CCOc1ccccc1OCC(O)CNC(C)C : logp
C=CCOc1ccccc1OCC(O)CNC(C)C : logp

CC(C)(C)C : logp just a bug, don't know how to fix it
CC(C)C : logp just a bug, don't know how to fix it
CC(C)C(C)C : logp just a bug, don't know how to fix it
CC(C)C(C)P(=O)(C)C : logp just a bug, don't know how to fix it
CC=C(C)C(=O)OC1CCN2CC=C(COC(=O)C(O)(C(C)OC)C(O)(C)C)C12 : logp just a bug, don't know how to fix it
Cc1nc2ccccc2c(n1)c3ccccc3 : logp just a bug, don't know how to fix it
CCC(C)N(CC(O)COc1ccccc1)CC(O)COc2ccccc2 : logp just a bug, don't know how to fix it
CCC1(CC(C)C(C)C)C(=O)NC(=O)NC1=O : logp just a bug, don't know how to fix it
CCC1OC(=O)C(C)C(OC2OC(C)C(O)C(C)(OC)C2)C(C)C(OC3OC(C)C(O)C(N(C)C)C3O)C(O)(C)CC(C)C(=O)C(C)C(O)C1(O)C : logp just a bug, don't know how to fix it
CCC1OC(=O)C(C)C(OC2OC(C)C(O)C(C)(OC)C2)C(C)C(OC3OC(C)CC(N(C)C)C3O)C(O)(C)CC(C)C(=O)C(C)C(O)C1(O)C
CCC1OC(=O)C(C)C(OC2OC(C)C(O)C(C)(OC)C2)C(C)C(OC3OC(C)CC(N(C)C)C3O)C(O)(C)CC(C)C(=O)C(C)C(O)C1C
CCC1OC(=O)C(C)C(OC2OC(C)C(O)C(C)(OC)C2)C(C)C(OC3OC(C)CC(N(C)C)C3O)C(O)(C)CC(C)C(=O)C(C)C(OC(=O)C)C1(O)C
CCCN(CCC)C1CCOc2c(O)cccc12
CCCN(CCC)C1CCOc2ccc(O)cc12
CCCN(CCC)C1COc2c(O)cccc2C1
CCCN(CCC)C1COc2ccc(O)cc2C1
CCCN1CC(C=C2C1CCc3ccc(O)cc23)NS(=O)(=O)N(CC)CC
CCN(C(=O)SCc1ccccc1)C(C)C(C)C
CCn1cc(C(=O)O)c(=O)c2cc(F)c(cc12)N3CCN(C)CC3
CCn1cc(C(=O)O)c(=O)c2cc(F)c(cc12)N3CCNC(C)C3
CCn1cc(C(=O)O)c(=O)c2cc(F)c(cc12)N3CCNCC3
CCn1cc(C(=O)O)c(=O)c2cc(F)c(N3CCNC(C)C3)c(F)c12
CCn1cc(C(=O)O)c(=O)c2cc(F)c(N3CCNCC3)c(F)c12
CCn1cc(C(=O)O)c(=O)c2cc(F)c(nc12)N3CCNCC3
CCn1cc(C(=O)O)c(=O)c2cc3OCOc3cc12
CCn1cc(C(=O)O)c(=O)c2ccc(C)nc12
CCn1cc(C(=O)O)c(=O)c2cnc(nc12)N3CCNCC3
CCn1cc(C(=O)OCOC(=O)C)c(=O)c2ccc(C)nc12
CCNc1nc(SC)nc(n1)NC(C)C(C)C
CCOC(=O)C1=C2CN(C)C(=O)c3cc(F)ccc3N2C=N1
CCN(CC)CCCN(c1ccccc1)C2Cc3ccccc3C2
Clc1ccc(Cl)c(Cl)n1
Clc1ccc(Cl)c(n1)C(=O)O
CN(C)c1ccc(O)c2C(=O)C3=C(O)C4(O)C(=O)C(C(=O)N)=C(O)C(N(C)C)C4CC3Cc12
CN(C)c1ccc2CC3CC4C(N(C)C)C(O)=C(C(=O)N)C(=O)C4(O)C(O)=C3C(=O)c2c1O
CN1CCN(CC1)c2c(F)cc3c(=O)c(cn4C(C)COc2c34)C(=O)O
COC1CC(OC(C)C1O)OC2C(C)C(=O)OC(C)C(C)C(O)C(C)C(=O)C3(OC3)CC(C)C(OC4OC(C)CC(N(C)C)C4O)C2C
COc1ccc(Cc2cnc(N)nc2N)c(OC)n1
COC2(NC(=O)C(C(=O)O)c1ccc(O)cc1)C(=O)N3C2OCC(CSC4=NN=NN4C)=C3C(=O)O
CSC(C)=NOC(=O)N(C)SN(C1CC1)C(=O)N(C)C
CSC1=CC=C2C(=CC1=O)C(CCc3c(C)cc(OC)c(OC)c23)NC4OCC(O)C(O)C4O
(CHn=CHm)cyc-COOH
FCCn1cc(C(=O)O)c(=O)c2cc(F)c(N3CCN(C)CC3)c(F)c12
182 changes: 91 additions & 91 deletions tests/abdulelah_gani_frags/log_p.csv

Large diffs are not rendered by default.

237 changes: 114 additions & 123 deletions tests/agani.ipynb

Large diffs are not rendered by default.

96 changes: 64 additions & 32 deletions tests/agani_s.ipynb

Large diffs are not rendered by default.

18 changes: 16 additions & 2 deletions ugropy/core/frag_classes/abdulelah_gani/abdulelah_gani_pst.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,19 @@ def check_ring_aromaticity(self, mol, ring) -> bool:
"""
# Non-aromatic patterns
non_aromatic_patterns = [
"[nH0]1[cH0][nH0][cH0][cH0][cH0]1",
#"[nH0]1[cH0][nH0][cH0][cH0][cH0]1",
#"[nH0]1[cH0][nH0][cH0][nH0][cH0]1",
"[nH0]1[cH0;$([cH0]=O)][nH0]cn[cH0;$([cH0]=O)]1",
"c1ccco1",
"n1[nH0][cH0;$([cH0]=O)]ccc1",
"[cH0]1[cH0]cc[cH0]cc1",
"[nH0;R2]1ccccc1",
"n1[cH0;$([cH0]=*)]cccc1",
"n1c[cH0;$([cH0]=*)]ccc1",
"n1cc[cH0;$([cH0]=*)]cc1",
"n1ccc[cH0;$([cH0]=*)]c1",
"n1cccc[cH0;$([cH0]=*)]1",
"n1cn[cH0;$([cH0]=O)]cc1",
]

# Aromatic patterns
Expand All @@ -201,9 +213,11 @@ def check_ring_aromaticity(self, mol, ring) -> bool:
"c1ncncn1",
"n1ccccc1",
"n1ccncc1",
"[nH0]1c[nH0]ccc1",
"[nH0;R1]1[c;R1][nH0]ccc1",
"[nH0]1[nH0]cccc1",
"n1ccccc1",
"[nX2]1[nX2]c[nX2]cc1",
"[nH0]1c[nH0]ccc1",
]

# Ring as set to compare
Expand Down
43 changes: 32 additions & 11 deletions ugropy/core/get_rdkit_object.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from rdkit import Chem


@cache
def instantiate_mol_object(
identifier: Union[str, Chem.rdchem.Mol], identifier_type: str = "name"
) -> Chem.rdchem.Mol:
Expand All @@ -34,15 +33,7 @@ def instantiate_mol_object(
chem_object = Chem.MolFromSmiles(smiles)

elif identifier_type.lower() == "name":
try:
pcp_object = pcp.get_compounds(identifier, identifier_type)[0]
smiles = pcp_object.canonical_smiles
chem_object = Chem.MolFromSmiles(smiles)
except IndexError:
raise ValueError(
f"Could not find a molecule with the name '{identifier}' on "
"PubChem"
)
chem_object = instantiate_mol_from_name(identifier)

elif identifier_type.lower() == "mol":
chem_object = identifier
Expand All @@ -52,11 +43,41 @@ def instantiate_mol_object(
"If 'mol' identifier type is used, the identifier must be a "
"rdkit.Chem.Chem.rdchem.Mol object."
)

else:
raise ValueError(
f"Identifier type: {identifier_type} not valid, use: 'name', "
"'smiles' or 'mol'"
)

return chem_object


@cache
def instantiate_mol_from_name(name: str) -> Chem.rdchem.Mol:
"""Instantiate a RDKit Mol object from molecule's name.
The funcion uses `pubchempy` to get the molecule's SMILES representation
from the molecule's name and then instantiate a RDKit Mol object.
Parameters
----------
name : str
Name of the molecule.
Returns
-------
rdkit.Chem.rdchem.Mol
RDKit Mol object.
"""

try:
pcp_object = pcp.get_compounds(name, "name")[0]
smiles = pcp_object.canonical_smiles
chem_object = Chem.MolFromSmiles(smiles)
except IndexError:
raise ValueError(
f"Could not find a molecule with the name '{name}' on "
"PubChem"
)

return chem_object
4 changes: 2 additions & 2 deletions ugropy/groupscsv/abdulelah_gani/secondary/info.csv
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ H2NCOCHnCHmCONH2 (m,n in 1..2)|245
CHm(NHn)-COOH (m,n in 0..2)|246
HOOC-CHn-COOH (n in 1..2)|247
HOOC-CHn-CHm-COOH (n, m in 1..2)|248
HO-CHn-COOH (n in 1..2)|249
HO-CHn-COOH (n in 0..2)|249
NH2-CHn-CHm-COOH (n, m in 1..2)|250
CH3-O-CHn-COOH (n in 1..2)|251
HS-CH-COOH|252
Expand All @@ -51,7 +51,7 @@ CHm=CHn-COOH (m,n in 0..2)|269
aC-CHn-X (n in 1..2) X: Halogen|270
aC-CHn-NHm (n in 1..2; m in 0..2))|271
aC-CHn-O- (n in 1..2)|272
aC-CHn-OH (n in 0..2)|273
aC-CHn-OH (n in 1..2)|273
aC-CHn-CN (n in 1..2)|274
aC-CHn-CHO (n in 1..2)|275
aC-CHn-SH (n in 1..2)|276
Expand Down
118 changes: 59 additions & 59 deletions ugropy/groupscsv/abdulelah_gani/secondary/secondary.csv
Original file line number Diff line number Diff line change
@@ -1,105 +1,105 @@
group|smarts
(CH3)2CH|[CH;!R]([CH3])[CH3]
(CH3)2CH|[CH;!R;!$([CH][cH0])]([CH3])[CH3]
(CH3)3C|[CH0;!R;!$([CH0][cH0])]([CH3])([CH3])[CH3]
?CH(CH3)CH(CH3)|
?CH(CH3)C(CH3)2|
CH(CH3)CH(CH3)|[CH;!R]([CH3])[CH;!R]([CH3])
CH(CH3)C(CH3)2|[CH;!R](*)([CH3])[CH0;!R](*)([CH3])[CH3]
????C(CH3)2C(CH3)2|
CHn=CHm-CHp=CHk (k,m,n,p in 0..2)|[CH0,CH1,CH2;!R]=[CH0,CH1;!R][CH0,CH1;!R]=[CH0,CH1,CH2;!R]
CH3-CHm=CHn (m,n in 0..2)|[CH3][CH0,CH1;!R]=[CH0,CH1,CH2;!R]
CH2-CHm=CHn (m,n in 0..2)|[CH2;!R][CH0,CH1;!R]=[CH0,CH1,CH2;!R]
CHp-CHm=CHn (m,n in 0..2; p in 0..1)|[CX4H0,CX4H1;!R][CH0,CH1,CH2;!R]=[CH0,CH1,CH2;!R]
?CHCHO or CCHO|
CH3COCH2|[CX4H3][CH0;!R](=[OH0])[CX4H2;!R]
?CH3COCH or CH3COC|
?CHCOOH or CCOOH|
CH3COCH or CH3COC|[CX4H3][CH0;!R](=[OH0])[CX4H,CX4H0;!R]
CHCOOH or CCOOH|[CX4H,CX4H0;!R;!$([C][a,OH]);!$([C][N;!R])][CH0;!R](=[OH0])[OH]
CH3COOCH or CH3COOC|[CX4H3][CH0;!R](=[OH0])[O][CX4H,CX4H0;!R]
?CO-O-CO|
CHOH|[CH;!R;$([CH]([C;!$([C][OH]);!$([C][NH])])[C;!$([C][OH]);!$([C][NH])])][OH]
CHOH|[CX4H;!R;!$([CH][C;!R][OH]);!$([CH][cH0]);!$([CH][CH2,CH][NH])][OH]
COH|[CX4H0;!R;$([CX4H0](C)(C)C)][OH]
????CH3COCHnOH (n in 0..2)|
?NCCHOH or NCCOH|
?OH-CHn-COO (n in 0..2)|
CHm(OH)CHn(OH) (m,n in 0..2)|[CX4H0,CX4H1,CX4H2]([OH])[CX4H0,CX4H1,CX4H2][OH]
CHm(OH)CHn(NHp) (m,n,p in 0..2)|[CX4H0,CX4H1,CX4H2;!R]([OH])[CX4H0,CX4H1,CX4H2;!R][NH0,NH1,NH2;!R]
OH-CHn-COO (n in 0..2)|[OH][CH0,CH1,CH2;!R][CH0]([OH0])=O
CHm(OH)CHn(OH) (m,n in 0..2)|[CX4H0,CX4H1,CX4H2;!R]([OH])[CX4H0,CX4H1,CX4H2;!R][OH]
CHm(OH)CHn(NHp) (m,n,p in 0..2)|[CX4H0,CX4H1,CX4H2;!R]([OH])[CX4H0,CX4H1,CX4H2;!R][NH1,NH2;!R;!$([N][Cl,a])]
?CHm(NH2)CHn(NH2) (m,n in 0..2)|
?CHm(NH)CHn(NH2) (m,n in 1..2)|
?H2NCOCHnCHmCONH2 (m,n in 1..2)|
CHm(NH)CHn(NH2) (m,n in 1..2)|[CX4H0,CX4H,CX4H2;!R]([NH;!R])[CX4H0,CX4H,CX4H2;!R][NH2]
H2NCOCHnCHmCONH2 (m,n in 1..2)|[NH2][CH0](=O)[CX4H,CX4H2;!R][CX4H,CX4H2;!R][CH0](=O)[NH2]
CHm(NHn)-COOH (m,n in 0..2)|[CH0,CH1,CH2;!R]([NH0,NH1,NH2;!R])[CH0]([OH])=[OH0]
?HOOC-CHn-COOH (n in 1..2)|
?HOOC-CHn-CHm-COOH (n, m in 1..2)|
?HO-CHn-COOH (n in 1..2)|
HO-CHn-COOH (n in 0..2)|[OH][CH0,CH1,CH2;!R][CH0]([OH])=O
?NH2-CHn-CHm-COOH (n, m in 1..2)|
?CH3-O-CHn-COOH (n in 1..2)|
CH3-O-CHn-COOH (n in 1..2)|[CX4H3][O][CX4H0,CX4H,CX4H2;!R][CH0]([OH])=O
?HS-CH-COOH|
?HS-CHn-CHm-COOH (n, m in 1..2)|
?NC-CHn-CHm-CN (n, m in 1..2)|
?OH-CHn-CHm-CN (n, m in 1..2)|
????HS-CHn-CHm-SH (n, m in 1..2)|
?COO-CHn-CHm-OOC (n, m in 1..2)|
?OOC-CHm-CHm-COO (n, m in 1..2)|
COO-CHn-CHm-OOC (n, m in 1..2)|[CH0;!R](=[OH0])[OH0;!R][CX4H,CX4H2;!R][CX4H,CX4H2;!R][OH0;!R][CH0;!R](=[OH0])
OOC-CHm-CHm-COO (n, m in 1..2)|[OH0;!R][CH0](=O)[CH,CH2;!R][CH,CH2;!R][CH0;!R](=O)[OH0;!R]
?NC-CHn-COO (n in 1..2)|
?COCHnCOO (n in 1..2)|
COCHnCOO (n in 1..2)|[CH0;!R;!$([CH0][OH0]);$([CH0]([CX4;!R])[CX4;!R])](=[OH0])[CX4H,CX4H2;!R][CH0;!R](=[OH0])[OH0;!R]
CHm-O-CHn=CHp (m,n,p in 0..3)|[CH0,CH1,CH2,CH3;!R;!$([CH0,CH1,CH2,CH3;!R]=[OH0])][OH0;!R][CH0,CH1;!R]=[CH0,CH1,CH2;!R]
CHm=CHn-F (m,n in 0..2)|[CH0,CH1,CH2;!R]=[CH0,CH1;!R][F]
CHm=CHn-Br (m,n in 0..2)|[CH0,CH1,CH2;!R]=[CH0,CH1,CH2;!R][Br]
????CHm=CHn-I (m,n in 0..2)|
CHm=CHn-Cl (m,n in 0..2)|[CH0,CH1,CH2;!R]=[CH0,CH1;!R][Cl]
?CHm=CHn-CN (m,n in 0..2)|
CHm=CHn-CN (m,n in 0..2)|[CH0,CH1,CH2;!R]=[CH0,CH1;!R][CH0;!R]#N
CHn=CHm-COO-CHp (m,n,p in 0..3)|[CH0,CH1,CH2;!R]=[CH0,CH1][CH0](=[OH0])[OH0][CH0,CH1,CH2,CH3;!R,R1]
?CHm=CHn-CHO (m,n in 0..2)|
CHm=CHn-COOH (m,n in 0..2)|[CH0,CH1,CH2;!R]=[CH0,CH1;!R][CH0]([OH])=[OH0]
aC-CHn-X (n in 1..2) X: Halogen|[cH0][CH1,CH2;!R][F,Cl,Br,I]
aC-CHn-X (n in 1..2) X: Halogen|[cH0][CX4H0,CX4H1,CX4H2;!R;!$([CH0](F)(F)F)][F,Cl,Br,I]
aC-CHn-NHm (n in 1..2; m in 0..2))|[cH0][CH1,CH2;!R][NH0,NH1,NH2;!R]
aC-CHn-O- (n in 1..2)|[cH0][CX4H,CX4H2;!R][OH0;!R;!$([OH0][CH0]=[OH0])]
aC-CHn-OH (n in 0..2)|[cH0][CX4H0,CX4H,CX4H2;!R][OH]
?aC-CHn-CN (n in 1..2)|
aC-CHn-O- (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][OH0;!R;!$([OH0][CH0]=[OH0])]
aC-CHn-OH (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][OH]
aC-CHn-CN (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][CH0]#N
?aC-CHn-CHO (n in 1..2)|
????aC-CHn-SH (n in 1..2)|
aC-CHn-COOH (n in 1..2)|[cH0][CX4H,CX4H2;!R][CH0;!R]([OH])=O
aC-CHn-CO- (n in 1..2)|[cH0][CX4H,CX4H2;!R][CH0;!R;!$([CH0][OH,OH0])]=O
aC-CHn-S- (n in 1..2)|[cH0][CX4H,CX4H2;!R][SX2H0;!R]
aC-CHn-COOH (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][CH0;!R]([OH])=O
aC-CHn-CO- (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][CH0;!R;!$([CH0][OH,OH0,NH2]);!$([CH0][NH][CH0;!R](=O))]=O
aC-CHn-S- (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][SX2H0;!R]
????aC-CHn-OOC-H (n in 1..2)|
?aC-CHm-NO2 (n in 1..2)|
?aC-CHn-CONH2 (n in 1..2)|
aC-CHn-OOC (n in 1..2)|[cH0][CX4H,CX4H2;!R]O[CH0;!R]=O
aC-CHn-COO (n in 1..2)|[cH0][CX4H,CX4H2;!R][CH0;!R]([OH0])=[OH0]
aC-CHm-NO2 (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][N+](=O)[O-]
aC-CHn-CONH2 (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][CH0;!R](=[O])[NH2]
aC-CHn-OOC (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R]O[CH0;!R]=O
aC-CHn-COO (n in 1..2)|[cH0][CX4H0,CX4H,CX4H2;!R][CH0;!R]([OH0])=[OH0]
?aC-SO2-OH|
?aC-CH(CH3)2|
aC-CH(CH3)2|[cH0][CH;!R]([CH3])([CH3])
aC-C(CH3)3|[cH0][CH0;!R]([CH3])([CH3])[CH3]
?aC-CF3|
?(CHn=C)(cyc)-CHO (n in 0..2)|
(CHn=C)cyc-COO-CHm (n,m in 0..3)|[CH0,CH1;R]=[CH0;R][CH0;!R](=[OH0])[OH0;!R][CH0,CH1,CH2,CH3]
(CHn=C)cyc-CO- (n in 0..2)|[CH0,CH1;R]=[CH0;R][CH0;!R;!$([CH0][OH0])](=[OH0])
(CHn=C)cyc-CH3 (n in 0..2)|[CH0,CH1;R]=[CH0][CH3]
(CHn=C)cyc-CH2 (n in 0..2)|[CH0,CH1;R]=[CH0;R][CH2;!R]
?(CHn=C)cyc-CN (n in 0..2)|
?(CHn=C)cyc-Cl (n in 0..2)|
CHcyc-CH3|[CX4H;R1][CX4H3]
CHcyc-CH2|[CX4H;R1][CX4H2;!R]
aC-CF3|[cH0][CH0;!R]([F])([F])[F]
(CHn=C)(cyc)-CHO (n in 0..2)|[CH0,CH1;R]=[CH0;R][CH;!R]=[OX1H0]
(CHn=C)cyc-COO-CHm (n,m in 0..3)|[CH0,CH1;R]=[CH0;R][CH0;!R](=[OH0])[OH0;!R][CH0,CH1,CH2,CH3,cH0]
(CHn=C)cyc-CO- (n in 0..2)|[CH0,CH1;R;x2]=[CH0;R][CH0;!R;!$([CH0][OH0,OH])](=[OH0])
(CHn=C)cyc-CH3 (n in 0..2)|[CH0,CH1;R;x2]=[CH0;R][CH3]
(CHn=C)cyc-CH2 (n in 0..2)|[CH0,CH1;R;x2]=[CH0;R][CH2;!R]
(CHn=C)cyc-CN (n in 0..2)|[CH0,CH1;R;x2]=[CH0;R][CH0;!R]#N
(CHn=C)cyc-Cl (n in 0..2)|[CH0,CH1;R]=[CH0;R][Cl]
CHcyc-CH3|[CX4H;R][CX4H3]
CHcyc-CH2|[CX4H;R][CX4H2;!R]
CHcyc-CH|[CX4H;R][CX4H;!R]
CHcyc-C|[CX4H;R1][CX4H0;!R]
CHcyc-C|[CX4H;R][CX4H0;!R]
CHcyc-CH=CHn (n in 0..2)|[CX4H;R][CH;!R]=[CH0,CH1,CH2;!R]
CHcyc-C=CHn (n in 1..2)|[CX4H;R][CH0;!R]=[CH0,CH1,CH2;!R]
?CHcyc-Cl|
CHcyc-Cl|[CX4H;R][Cl]
CHcyc-F|[CX4H;R][F]
CHcyc-OH|[CX4H;R][OH]
?CHcyc-NH2|
CHcyc-NH-CHn (n in 0..3)|[CX4H;R][NH;!R][CH0,CH1,CH2,CH3;!R]
?CHcyc-N-CHn (n in 0..3)|
CHcyc-NH2|[CX4H;R][NH2]
CHcyc-NH-CHn (n in 0..3)|[CX4H;R][NH;!R][CH0,CH1,CH2,CH3,cH0]
CHcyc-N-CHn (n in 0..3)|[CX4H;R][NH0;!R][CX4H0&!R,CX4H1&!R,CX4H2&!R,CX4H3&!R,cH0]
????CHcyc-SH|
?CHcyc-CN|
CHcyc-CN|[CX4H;R][CH0;!R]#N
CHcyc-COOH|[CX4H;R][CH0;!R]([OH])=O
?CHcyc-CO|
CHcyc-CO|[CX4H;R][CH0;!R;!$([CH0][OH,OH0])]=O
CHcyc-NO2|[CX4H;R][N+](=O)[O-]
?CHcyc-S-|
CHcyc-S-|[CX4H;R][SX2H0;!R]
????CHcyc-CHO|
CHcyc-O-|[CX4H;R1][OH0;!R;!$([OH0][CH0]=[OH0])]
CHcyc-O-|[CX4H;R;x2][OH0;!R;!$([OH0][CH0]=[OH0])]
?CHcyc-OOCH|
CHcyc-COO|[CX4H;R1][CH0]([OH0;!R])=[OH0]
CHcyc-OOC|[CX4H;R1][OH0;!R][CH0]=[OH0]
Ccyc-CH3|[CX4H0;R1][CH3]
Ccyc-CH2|[CX4H0;R1][CH2;!R]
Ccyc-OH|[CX4H0;R][OH]
CHcyc-COO|[CX4H;R;x2][CH0]([OH0;!R])=[OH0]
CHcyc-OOC|[CX4H;R;x2][OH0;!R][CH0]=[OH0]
Ccyc-CH3|[CX4H0;R;x2][CH3]
Ccyc-CH2|[CX4H0;R;x2][CH2;!R]
Ccyc-OH|[CX4H0;R;x2][OH]
>Ncyc-CH3|[NH0X3;R][CH3;!R]
>Ncyc-CH2|[NH0X3;R][CH2;!R]
AROMRINGs1s2|[cH0;R1;D3]1[cH0;R1;D3][c;D2][c;D2][c;D2][c;D2]1
Expand All @@ -108,7 +108,7 @@ AROMRINGs1s4|[cH0;R1;D3]1[c;D2][c;D2][cH0;R1;D3][c;D2][c;D2]1
AROMRINGs1s2s3|[cH0;R1;D3]1[cH0;R1;D3][cH0;R1;D3][c;D2][c;D2][c;D2]1
AROMRINGs1s2s4|[cH0;R1;D3]1[cH0;R1;D3][c;D2][cH0;R1;D3][c;D2][c;D2]1
AROMRINGs1s3s5|[cH0;R1;D3]1[c;D2][cH0;R1;D3][c;D2][cH0;R1;D3][c;D2]1
?AROMRINGs1s2s3s4|
AROMRINGs1s2s3s4|[cH0;R1;D3]1[cH0;R1;D3][cH0;R1;D3][cH0;R1;D3][c;D2][c;D2]1
AROMRINGs1s2s3s5|[cH0;R1;D3]1[cH0;R1;D3][cH0;R1;D3][c;D2][cH0;R1;D3][c;D2]1
AROMRINGs1s2s4s5|[cH0;R1;D3]1[cH0;R1;D3][c;D2][cH0;R1;D3][cH0;R1;D3][c;D2]1
PYRIDINEs2|[nH0;R1]1[cH0;R1;D3][c;D2][c;D2][c;D2][c;D2]1
Expand All @@ -121,11 +121,11 @@ PYRIDINEs2s6|[nH0;R1]1[cH0;R1;D3][c;D2][c;D2][c;D2][cH0;R1;D3]1
PYRIDINEs3s4|[nH0;R1]1[c;D2][cH0;R1;D3][cH0;R1;D3][c;D2][c;D2]1
PYRIDINEs3s5|[nH0;R1]1[c;D2][cH0;R1;D3][c;D2][cH0;R1;D3][c;D2]1
PYRIDINEs2s3s6|[nH0;R1]1[cH0;R1;D3][cH0;R1;D3][c;D2][c;D2][cH0;R1;D3]1
?(CHn=CHm)cyc-COOH|
AROMRINGs1s2s3s4s5|[cH0;R1]1(*)[cH0;R1](*)[cH0;R1](*)[cH0;R1](*)[cH0;R1](*)[a;D2]1
?aC-NHCOCH2N|
(CHn=CHm)cyc-COOH|[CH0,CH1;R]=[CH0,CH1;R][CH0]([OH])=O
AROMRINGs1s2s3s4s5|[cH0;R1]1(*)[cH0;R1](*)[cH0;R1](*)[cH0;R1](*)[cH0;R1](*)[c;D2]1
aC-NHCOCH2N|[cH0][NH;!R][CH0](=O)[CH2][NH0;!R]
(N=C)cyc-CH3|[N;R]=[CH0;R][CH3]
?aC-CONH(CH2)2N|
aC-CONH(CH2)2N|[cH0][CH0;!R](=O)[NH;!R][CH2;!R][CH2;!R][NH0;!R]
aC-SO2NH|[cH0][S;!R](=O)(=O)[NH]
aC-SO2N|[cH0][S;!R](=O)(=O)[NH0]
aC-SO2N|[cH0][S;!R](=O)(=O)[NH0;!R]
aC-SO2NH2|[cH0][S;!R](=O)(=O)[NH2]

0 comments on commit a35635f

Please sign in to comment.