diff --git a/data/molecules.csv b/data/molecules.csv index f77c99e..998b645 100644 --- a/data/molecules.csv +++ b/data/molecules.csv @@ -1,55 +1,56 @@ -smiles -CCCCCCCCC[C@H]1C[C@H](O)[C@@H](Cc2ccccc2)[N@H+]1C -OC[C@H]1O[C@@H](n2cnc3c2N=CNC[C@H]3O)[C@@H](Cl)[C@H]1O -C[C@H](CCOc1ccc(C(=O)[O-])cc1)C(=O)[O-] -O=C([O-])c1cccc2ccccc12 -N#CSCc1ccccc1 -Cc1cc(O)cc(C(=O)[O-])c1 -C=C(CCC=C(C)C)[C@@H]1CC=C(C)CC1 -C[C@H](C(=O)C(=O)[O-])c1ccccc1 -O=P([O-])([O-])O[C@H]1O[C@H](CF)[C@@H](O)[C@H]1O -COc1cc(C(=O)[O-])cc(O)c1O -COc1cc(CC[NH3+])ccc1O -CSC[C@H]1O[C@H](OP(=O)([O-])[O-])[C@H](O)[C@@H]1O -NC(=O)CCCC[C@@H]1CCSS1 -O=C([O-])c1ccccc1C(=O)[O-] -[NH3+]Cc1cc(COP(=O)([O-])[O-])co1 -O=C([O-])c1ccc(O)c(O)c1 -NC(=O)OC[C@H](C(=O)[O-])c1ccccc1 -O=C([O-])c1cc(O)c(O)c(Cl)c1 -Cc1cccc(O)c1C(=O)[O-] -C[C@H](O)c1ccccc1 -Cc1ccc(-c2cccs2)s1 -OC[C@@H](O)C#Cc1csc(-c2cccs2)c1 -O=C([O-])c1cc(Cl)ccc1O -O=C([O-])c1ccc(NO)cc1 -Cc1cccc(C(=O)[O-])c1O -C[C@@]12[C@@H]3C[C@@H](C[C@@H]31)[C@@]2(C)C(=O)[O-] -COc1cc([C@@H](O)C(=O)[O-])ccc1O -Cc1ccc(O)c(C(=O)[O-])c1 -O=C([O-])C[C@@]1(F)C=CC(=O)O1 -OC[C@H](O)[C@@H](O)Cc1c[nH]c2ccccc12 -C[NH2+]C[C@@H](O)c1ccccc1 -Cc1nc(C(=O)[O-])sc1CCOP(=O)([O-])[O-] -Cc1cccc(C(=O)[O-])c1 -Cc1ccccc1C(=O)[O-] -N#Cc1c[nH]c2nc(N)[nH]c(=O)c12 -Cc1cc(O)cc(C(=O)[O-])c1O -C[N+](C)(C)[C@@H](Cc1c[nH]c(SO)n1)C(=O)[O-] -COc1ccc(C[C@@H](C)[NH3+])cc1 -Nc1cc(C(=O)[O-])ccc1O -N#CCc1c[nH]c2ccccc12 -Cc1ncc(C(=O)[O-])c(C(=O)[O-])c1O -Cc1cc(O)cc(O)c1C(=O)[O-] -COc1c(C)cc(C[C@H]([NH3+])C(=O)[O-])cc1O -C1=Cc2ccccc2CN1 -O=C1C=C[C@@H]([C@@H](F)C(=O)[O-])O1 -O=C([O-])c1c(O)cccc1O -Nc1ccccc1C(=O)[O-] -C=C1c2ccc(C)cc2O[C@@H]1O -O=C1C=C[C@@H]([C@H](F)C(=O)[O-])O1 -CC(=O)c1ccc(S(=O)(=O)[O-])cc1 -O=C([O-])c1cccc(O)c1 -[NH3+][C@H](COP(=O)([O-])[O-])Cc1c[nH]cn1 -CC(=O)C1=CCNc2nc(N)[nH]c(=O)c2N1 -Cn1c(=O)[nH]c2nc[nH]c2c1=O +smiles,name +CC[C@H](C)[C@H](NC(=O)CNC(=O)[C@H](CC(=O)[O-])NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CCC(=O)[O-])NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@H](CC(N)=O)NC(=O)[C@@H]1CCCN1C(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@H](CC(=O)[O-])NC(=O)[C@@H](NC(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](CCC(=O)[O-])NC(=O)[C@H](CCSC)NC(=O)[C@H](CO)NC(=O)[C@H](CCSC)NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](Cc1c[nH]cn1)NC(=O)[C@@H]1CCCN1C(=O)[C@H](CO)NC(=O)[C@@H](NC(=O)[C@H](CS)NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@@H](NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@@H](NC(=O)CNC(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@@H]1CCCN1C(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@@H](NC(=O)[C@H](CCSC)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@H](C)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](CCC(=O)[O-])NC(=O)[C@H](CO)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@@H](NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](CCCC[NH3+])NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](CC(=O)[O-])NC(=O)[C@@H](NC(=O)CNC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)CNC(=O)[C@@H](NC(=O)[C@@H]1CCCN1C(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@@H](NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](CCC(=O)[O-])NC(=O)[C@H](CCSC)NC(=O)[C@@H](NC(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@H](CC(C)C)NC(=O)CNC(=O)[C@@H](NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](CC(C)C)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](CS)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@@H](NC(=O)[C@@H](NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](C)NC(=O)[C@H](CC(=O)[O-])NC(=O)[C@H](CC(=O)[O-])NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)CNC(=O)[C@@H](NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](CCC(N)=O)NC(=O)CNC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](CO)NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](Cc1c[nH]cn1)NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](CO)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc1cnc[nH]1)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](CCCC[NH3+])NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@H](CC(=O)[O-])NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@H](C)NC(=O)[C@H](CCCC[NH3+])NC(=O)[C@@H]1CCCN1C(=O)[C@@H](NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@@H](NC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@@H](NC(=O)[C@H](CC(C)C)NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](CO)NC(=O)[C@H](CC(C)C)NC(=O)CNC(=O)[C@@H](NC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](CCC(=O)[O-])NC(=O)[C@@H](NC(=O)[C@H](Cc1ccccc1)NC(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@H](CCCNC(N)=[NH2+])NC(=O)[C@H](CO)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc1cnc[nH]1)NC(=O)[C@H](CCCC[NH3+])NC(=O)[C@H](Cc1c[nH]c2ccccc12)NC(=O)[C@@H](NC(=O)[C@@H](N)CO)[C@@H](C)O)C(C)C)[C@@H](C)CC)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)O)C(C)C)[C@@H](C)CC)C(C)C)[C@@H](C)O)C(C)C)[C@@H](C)O)C(C)C)C(C)C)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)O)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](C)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CS)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](C)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CCSC)C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CC(N)=O)C(=O)N[C@H](C(=O)N[C@@H](CCC(=O)[O-])C(=O)N[C@@H](CCC(=O)[O-])C(=O)N[C@@H](CCCNC(N)=[NH2+])C(=O)N[C@@H](CCCNC(N)=[NH2+])C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](CC(=O)[O-])C(=O)N[C@@H](Cc1c[nH]cn1)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@H](C(=O)N[C@@H](Cc1c[nH]cn1)C(=O)N[C@@H](Cc1cnc[nH]1)C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@H](C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](C)C(=O)N[C@@H](CS)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](C)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](Cc1cnc[nH]1)C(=O)N[C@@H](Cc1cnc[nH]1)C(=O)N[C@H](C(=O)N[C@@H](CCCNC(N)=[NH2+])C(=O)N[C@H](C(=O)NCC(=O)N[C@@H](CC(N)=O)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@H](C(=O)N[C@@H](CC(C)C)C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CC(=O)[O-])C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CC(=O)[O-])C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](CC(C)C)C(=O)N1CCC[C@H]1C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](C)C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](CS)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](CS)C(=O)NCC(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@H](C(=O)N[C@@H](CS)C(=O)N[C@@H](CC(=O)[O-])C(=O)N[C@H](C(=O)N[C@@H](CCSC)C(=O)N[C@@H](Cc1ccccc1)C(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CO)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](C)C(=O)N[C@@H](CCCNC(N)=[NH2+])C(=O)N[C@@H](Cc1cnc[nH]1)C(=O)N[C@H](C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@H](C(=O)N[C@@H](C)C(=O)N[C@H](C(=O)N[C@@H](CS)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](CO)C(=O)N[C@H](C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](CO)C(=O)N[C@@H](CC(=O)[O-])C(=O)N[C@H](C(=O)N1CCC[C@H]1C(=O)N[C@@H](CCCNC(N)=[NH2+])C(=O)N[C@H](C(=O)N[C@@H](CCSC)C(=O)N1CCC[C@H]1C(=O)N[C@H](C(=O)NCC(=O)N[C@H]1CSSC[C@@H](C(=O)N[C@@H](Cc2ccc(O)cc2)C(=O)N[C@@H](CC(N)=O)C(=O)N[C@@H](CCC(=O)[O-])C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@@H](Cc2c[nH]c3ccccc23)C(=O)NCC(=O)N[C@@H](Cc2ccccc2)C(=O)N[C@@H](CC(C)C)C(=O)NCC(=O)N2CCC[C@H]2C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](Cc2ccccc2)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](C)C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)NCC(=O)N[C@@H](Cc2c[nH]c3ccccc23)C(=O)N[C@@H](Cc2ccccc2)C(=O)N[C@H](C(=O)N[C@@H](CCSC)C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CCCNC(N)=[NH2+])C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@H](C(=O)N[C@@H](CCCC[NH3+])C(=O)N[C@H](C(=O)N[C@@H](CC(C)C)C(=O)N[C@H](C=O)CCCC[NH3+])C(C)C)C(C)C)[C@@H](C)CC)C(C)C)C(C)C)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)C(C)C)[C@@H](C)O)NC(=O)[C@H](C(C)C)NC(=O)[C@H](CC(C)C)NC(=O)CNC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H]2CCCN2C(=O)[C@H](CC(N)=O)NC(=O)[C@H]([C@@H](C)CC)NC(=O)[C@H](Cc2ccccc2)NC(=O)[C@@H]2CCCN2C(=O)[C@H](CCC(=O)[O-])NC(=O)[C@H](C(C)C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc2ccc(O)cc2)NC(=O)CNC(=O)[C@H](Cc2c[nH]c3ccccc23)NC(=O)CNC(=O)[C@H](C)NC(=O)[C@@H]2CCCN2C(=O)[C@@H]2CCCN2C(=O)[C@H](CC(N)=O)NC(=O)[C@H](CC(C)C)NC(=O)[C@@H]2CCCN2C(=O)CNC(=O)[C@H]([C@@H](C)CC)NC(=O)[C@H](CCSC)NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](CCC(=O)[O-])NC(=O)[C@H](CC(N)=O)NC(=O)[C@H](CC(N)=O)NC(=O)CNC(=O)[C@H](CCCC[NH3+])NC(=O)[C@H](Cc2ccccc2)NC1=O)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)C(C)C)[C@@H](C)CC)C(C)C)C(C)C)C(C)C)C(C)C)[C@@H](C)CC)C(C)C)C(C)C)[C@@H](C)CC)C(C)C)[C@@H](C)CC)C(C)C)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)O)C(C)C)[C@@H](C)CC)[C@@H](C)O)[C@@H](C)CC)[C@@H](C)CC)C(C)C)[C@@H](C)CC,FgBar1_cut_proteinprep2 - prepared +CCCCCCCCC[C@H]1C[C@H](O)[C@@H](Cc2ccccc2)[N@H+]1C,CNP0110348.1 +OC[C@H]1O[C@@H](n2cnc3c2N=CNC[C@H]3O)[C@@H](Cl)[C@H]1O,CNP0151017.1 +C[C@H](CCOc1ccc(C(=O)[O-])cc1)C(=O)[O-],CNP0330668.1 +O=C([O-])c1cccc2ccccc12,CPD-7615 +N#CSCc1ccccc1,CPD-65 +Cc1cc(O)cc(C(=O)[O-])c1,CPD-18275 +C=C(CCC=C(C)C)[C@@H]1CC=C(C)CC1,CPD-8246 +C[C@H](C(=O)C(=O)[O-])c1ccccc1,C20646 +O=P([O-])([O-])O[C@H]1O[C@H](CF)[C@@H](O)[C@H]1O,CPD-12706 +COc1cc(C(=O)[O-])cc(O)c1O,CPD-721 +COc1cc(CC[NH3+])ccc1O,CPD-7650 +CSC[C@H]1O[C@H](OP(=O)([O-])[O-])[C@H](O)[C@@H]1O,CPD-444 +NC(=O)CCCC[C@@H]1CCSS1,LIPOAMIDE +O=C([O-])c1ccccc1C(=O)[O-],PHTHALATE +[NH3+]Cc1cc(COP(=O)([O-])[O-])co1,CPD-7644 +O=C([O-])c1ccc(O)c(O)c1,3-4-DIHYDROXYBENZOATE +NC(=O)OC[C@H](C(=O)[O-])c1ccccc1,C16591 +O=C([O-])c1cc(O)c(O)c(Cl)c1,CPD-11222 +Cc1cccc(O)c1C(=O)[O-],CPD-637 +C[C@H](O)c1ccccc1,S-1-PHENYLETHANOL +Cc1ccc(-c2cccs2)s1,CNP0424788.0 +OC[C@@H](O)C#Cc1csc(-c2cccs2)c1,CNP0076014.1 +O=C([O-])c1cc(Cl)ccc1O,CPD-10663 +O=C([O-])c1ccc(NO)cc1,CPD-705 +Cc1cccc(C(=O)[O-])c1O,C14088 +C[C@@]12[C@@H]3C[C@@H](C[C@@H]31)[C@@]2(C)C(=O)[O-],CNP0138825.2 +COc1cc([C@@H](O)C(=O)[O-])ccc1O,VANILLYL_MANDELATE +Cc1ccc(O)c(C(=O)[O-])c1,CPD-10664 +O=C([O-])C[C@@]1(F)C=CC(=O)O1,C16476 +OC[C@H](O)[C@@H](O)Cc1c[nH]c2ccccc12,CNP0312967.1 +C[NH2+]C[C@@H](O)c1ccccc1,N-METHYLPHENYLETHANOLAMINE +Cc1nc(C(=O)[O-])sc1CCOP(=O)([O-])[O-],C20247 +Cc1cccc(C(=O)[O-])c1,CPD-8775 +Cc1ccccc1C(=O)[O-],CPD-10574 +N#Cc1c[nH]c2nc(N)[nH]c(=O)c12,7-CYANO-7-DEAZAGUANINE +Cc1cc(O)cc(C(=O)[O-])c1O,CPD-11245 +C[N+](C)(C)[C@@H](Cc1c[nH]c(SO)n1)C(=O)[O-],CPD-19388 +COc1ccc(C[C@@H](C)[NH3+])cc1,CNP0382405.1 +Nc1cc(C(=O)[O-])ccc1O,CPD-14873 +N#CCc1c[nH]c2ccccc12,INDOLEYL-CPD +Cc1ncc(C(=O)[O-])c(C(=O)[O-])c1O,CPD-234 +Cc1cc(O)cc(O)c1C(=O)[O-],CPD-47 +COc1c(C)cc(C[C@H]([NH3+])C(=O)[O-])cc1O,CPD-18029 +C1=Cc2ccccc2CN1,CNP0424699.0 +O=C1C=C[C@@H]([C@@H](F)C(=O)[O-])O1,C16477 +O=C([O-])c1c(O)cccc1O,CPD-8816 +Nc1ccccc1C(=O)[O-],ANTHRANILATE +C=C1c2ccc(C)cc2O[C@@H]1O,CNP0216491.1 +O=C1C=C[C@@H]([C@H](F)C(=O)[O-])O1,C16477 +CC(=O)c1ccc(S(=O)(=O)[O-])cc1,CPD-16866 +O=C([O-])c1cccc(O)c1,3-HYDROXYBENZOATE +[NH3+][C@H](COP(=O)([O-])[O-])Cc1c[nH]cn1,L-HISTIDINOL-P +CC(=O)C1=CCNc2nc(N)[nH]c(=O)c2N1,A-PYRIMIDODIAZEPINE +Cn1c(=O)[nH]c2nc[nH]c2c1=O,CPD-9025 diff --git a/scripts/sdf_to_smiles.py b/scripts/sdf_to_smiles.py index c41b243..092d649 100644 --- a/scripts/sdf_to_smiles.py +++ b/scripts/sdf_to_smiles.py @@ -2,43 +2,45 @@ # -*- coding: utf-8 -*- import os +import csv from rdkit import Chem +from pathlib import Path + # 当前目录路径 current_dir = os.path.dirname(os.path.abspath(__file__)) # 输入SDF文件路径 -sdf_file = os.path.join(current_dir, 'fgbar_vina_SP_1_pv.sdf') +sdf_file = Path(current_dir) / "../data/fgbar_vina_SP_1_pv.sdf" -# 输出SMILES文件路径 -smiles_file = os.path.join(current_dir, 'molecules.txt') +# 输出CSV文件路径 +csv_file = Path(current_dir) / "../data/molecules.csv" -def sdf_to_smiles(sdf_path, output_path): - """读取SDF文件中的分子并将其转换为SMILES格式保存到文本文件""" - # 读取SDF文件 + +def sdf_to_csv(sdf_path, output_path): + """读取SDF文件中的分子并将其转换为SMILES和IDENTIFIER保存到CSV文件""" suppl = Chem.SDMolSupplier(sdf_path) - - # 计数有效分子数量 valid_mol_count = 0 - - # 打开输出文件 - with open(output_path, 'w') as f: - # 遍历所有分子 - for i, mol in enumerate(suppl): - if mol is not None: # 确保分子有效 - # 获取SMILES + + with open(output_path, 'w', newline='', encoding='utf-8') as f: + writer = csv.writer(f) + # 写表头 + writer.writerow(["smiles", "name"]) + + for mol in suppl: + if mol is not None: smiles = Chem.MolToSmiles(mol) - # 写入文件 - f.write(f"{smiles}\n") + name = mol.GetProp("_Name") if mol.HasProp("_Name") else "" + writer.writerow([smiles, name]) valid_mol_count += 1 - + return valid_mol_count def main(): print(f"正在读取SDF文件: {sdf_file}") - mol_count = sdf_to_smiles(sdf_file, smiles_file) + mol_count = sdf_to_csv(sdf_file.as_posix(), csv_file) print(f"成功处理了 {mol_count} 个分子") - print(f"SMILES已保存到: {smiles_file}") + print(f"结果已保存到: {csv_file}") if __name__ == "__main__": - main() \ No newline at end of file + main()