ersilia-os / ersilia

The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
https://ersilia.io
GNU General Public License v3.0
210 stars 145 forks source link

🦠 Model Request: scaffold-decoration #969

Closed Inyrkz closed 6 months ago

Inyrkz commented 7 months ago

Model Name

Scaffold-Decorator

Model Description

The context discusses a novel notation system called Sequential Attachment-based Fragment Embedding (SAFE) that improves upon traditional molecular string representations like SMILES. SAFE reframes SMILES strings as an unordered sequence of interconnected fragment blocks while maintaining compatibility with existing SMILES parsers.

Slug

safe-scaffold-decorator

Tag

Compound generation, Chemical graph model

Publication

https://arxiv.org/pdf/2310.10773

Source Code

https://github.com/datamol-io/safe

License

CC BY 4.0

Inyrkz commented 7 months ago

@GemmaTuron, I've created a new issue. Please approve it.

GemmaTuron commented 7 months ago

This is related to #943

GemmaTuron commented 7 months ago

/approve

github-actions[bot] commented 7 months ago

New Model Repository Created! πŸŽ‰

@Inyrkz ersilia model respository has been successfully created and is available at:

πŸ”— ersilia-os/eos2401

Next Steps ⭐

Now that your new model respository has been created, you are ready to start contributing to it!

Here are some brief starter steps for contributing to your new model repository:

Note: Many of the bullet points below will have extra links if this is your first time contributing to a GitHub repository

Additional Resources πŸ“š

If you have any questions, please feel free to open an issue and get support from the community!

Inyrkz commented 7 months ago

Great! Thank you

Inyrkz commented 7 months ago

@GemmaTuron @miquelduranfrigola,

The model generates new molecules for the smiles now. I replaced the attachment point * with [*]

Here is a notebook to see the generated molecules.

GemmaTuron commented 7 months ago

Good job! What is the average number of molecules we get per each input?

GemmaTuron commented 7 months ago

It seems it works quite nice, we would only need to adapt to the output similarly to what we have done with the scaffold morphing. Do you think we can re use the same approach?

Inyrkz commented 7 months ago

Good job! What is the average number of molecules we get per each input?

This depends on the number of core structures extracted.

For example, the first input had 2 core structure, we got ~200 outputs. The second molecule had 4 core structures extracted, that's about 400 outputs maximum.

Inyrkz commented 7 months ago

It seems it works quite nice, we would only need to adapt to the output similarly to what we have done with the scaffold morphing. Do you think we can re use the same approach?

We can use the same approach.

One of the reasons we used 10 for the parameters of the scaffold morphing model was to get enough output, since some core structures did not generate any output. We increased the number of trials parameter, so we can get some output from the model.

In the scaffold decoration model, it's not a challenge to get the model to generate outputs for each core structure. We may have to trim the outputs to a specific number (maybe take the first 200 molecules as the final output) or leave it the way it is.

GemmaTuron commented 7 months ago

My only concern is if we take the first 200 molecules, we may be losing some cores? So we should think of a "fancier" way were all cores are represented in the output

Inyrkz commented 7 months ago

Okay

Inyrkz commented 7 months ago

I've tested the run.sh file locally. These are the results.

Inputs

smiles
CC(C)(C)c1nc(c(s1)-c1ccnc(N)n1)-c1cccc(NS(=O)(=O)c2c(F)cccc2F)c1F
CN(C)c1cccc(c1)C(=O)Nc1ccc(C)c(NC(=O)c2ccc(O)cc2)c1
Cc1ccc(Cl)c(Nc2ccccc2C(O)=O)c1Cl
N[C@@H](Cc1ccc(O)c(O)c1)C(O)=O

Outputs

value
"['NC(=O)c1scnc1C(=O)NOCCCC(=O)[O-]', 'O=C([O-])c1ncsc1NC(=O)C(F)(F)C(F)F', 'O=C(Nc1scnc1C(=O)[O-])OCC(F)(F)F', 'O=C([O-])CSCCC(=O)NCCc1ncsc1CO', 'O=C([O-])c1scnc1/C=N/OC(F)(F)F', 'O=C(CCCC(F)(F)F)NCc1ncsc1C(=O)[O-]', 'O=C(NC[C@H](O)C(F)F)c1ncsc1C(=O)[O-]', 'NC(=O)c1ncsc1NC(=O)CCCC(=O)[O-]', 'NC(=O)c1scnc1CN=NCC(F)(F)F', 'O=C(NCC[C@@H]1CCCC[C@H]1O)c1ncsc1C(F)(F)F', 'O=C(CC(F)(F)F)Nc1scnc1C(=O)[O-]', 'NC(=O)c1ncsc1NC(=O)CCC(=O)[O-]', 'O=C([O-])Cc1scnc1CC(=O)NO', 'O=C([O-])c1ncsc1C(F)(F)C(F)(F)F', 'NC(=O)Cc1scnc1N=CCC(=O)C(F)(F)F', 'O=Nc1ncsc1C(F)(F)F', 'O=C([O-])CCSc1ncsc1C(F)F', 'NC(=O)CCCc1scnc1C(F)(F)F', 'c1nc(CC2CCNCC2)c(C2CNC2)s1', 'OCc1ncsc1-n1cnnn1', 'O=C([O-])c1ncsc1C[NH+](CCO)CCO', 'FC(F)(F)c1scnc1CN=NCC(F)(F)C(F)(F)F', 'O=C([O-])c1ncsc1CN[C@@H](CO)CC(F)(F)F', 'O=C([O-])CCC(=O)Nc1scnc1C(F)(F)F', 'O=C(NOCC(F)(F)F)c1ncsc1C(=O)[O-]', 'NC(=O)c1scnc1CC(=O)NCCCCC(=O)[O-]', 'O=C([O-])c1ncsc1NC(=O)C(F)(F)OCC(F)F', 'O=C(N[C@H](CO)CC(F)F)c1ncsc1C(=O)[O-]', 'O=C([O-])c1ncsc1C[O-]', 'N=CC=Nc1scnc1C(F)(F)C(F)(F)F', 'N[C@@H](CSc1ncsc1C(=O)[O-])C(F)(F)F', 'N[C@@H](Cc1scnc1C(F)F)C(F)(F)F', 'O=C([O-])CCCCC(=O)Nc1scnc1CO', 'O=C(CCCC(F)(F)F)Nc1scnc1C(=O)[O-]', 'O=C([O-])c1ncsc1C[O-]', 'O=C(CSC(F)(F)F)Nc1scnc1CCO', 'O=C(C[NH+](CCO)Cc1ncsc1CO)NCC(F)F', 'FC(F)(F)c1scnc1N=S', 'BrCc1ncsc1C1CNC1', 'O=C(c1scnc1C(F)F)N(CCC(F)(F)F)C[C@H](O)CO', 'O=C(NC[C@H](O)C(F)(F)F)c1ncsc1C(=O)[O-]', 'O=C(CCCF)NC[C@H](O)CNC(=O)c1ncsc1C(F)F', 'NC(=O)NCCOC(=O)c1ncsc1C(F)(F)F', 'NC(=O)c1ncsc1NC(=O)CSC(F)(F)F', 'NC(=O)c1ncsc1NC(=O)NC[C@@H](O)C(F)(F)F', 'O=C([O-])c1scnc1CNCCC(F)(F)F', 'NC(=O)c1ncsc1NC(=O)CCCCO', 'NS(=O)(=O)c1scnc1N=NC(=S)N(CC(F)(F)F)[N+](=O)[O-]', 'O=C(NCCCCCCO)c1ncsc1C(=O)[O-]', 'O=C([O-])C[C@H](O)C(=O)Nc1scnc1C(F)(F)F', 'N#Cc1scnc1N=O', 'O=C([O-])NCC(=O)NCc1ncsc1CSC(F)F', 'O=C(NC[C@H](O)C(F)(F)F)c1ncsc1C(=O)[O-]', 'N#Cc1scnc1N=CC(=O)C(F)(F)F', 'N#C[C@@H](C(=O)[O-])c1ncsc1C(N)=O', 'O=C([O-])c1scnc1C(Cl)(Cl)Cl', 'OCc1scnc1C(F)(F)F', 'NS(=O)(=O)CCC[S+]([O-])Cc1scnc1C(=O)[O-]', 'NC(=O)c1ncsc1NC(=O)[C@@H](F)C(F)(F)F', 'NC(=O)CNC(=S)N=NCc1ncsc1C(=O)[O-]', 'N[C@H](C(=O)Nc1scnc1C(=O)[O-])C(F)(F)F', 'O=C(Nc1scnc1C/N=C/CCCC(F)(F)F)C(F)F', 'NC(=O)c1scnc1C(=O)NC(CF)CF', 'O=C(OCCOCCO)c1ncsc1C(=O)[O-]', 'NC(=O)c1scnc1C[S+]([O-])CCCCO', '[N-]=[N+]=Nc1ncsc1B([O-])[O-]', 'N[C@@H](C(=O)Nc1scnc1C(=O)[O-])C(F)(F)F', 'NC(=O)c1scnc1CC(=O)[O-]', 'NC(=O)c1ncsc1C[S+]([O-])CCC(=O)[O-]', 'BrCc1ncsc1C1CCCO1', 'N#C[C@@H](C(=O)C(N)=O)C(=O)c1scnc1C(=O)[O-]', 'NC(=O)c1scnc1N=NCC(F)(F)CO', 'O=C([O-])c1ncsc1C[NH+](CCO)CCCO', 'OCC(F)(F)CNCc1ncsc1C(F)(F)F', 'OCCCN(Cc1ncsc1C(F)(F)F)CC(F)(F)F', 'O=C([O-])c1ncsc1NS(=O)(=O)NCC(F)F', 'FC(F)(F)C(F)(F)c1scnc1N=S', 'NC(=O)CCC(=O)Nc1scnc1C(=O)[O-]', 'O=C([O-])c1scnc1N=NCCCC(F)(F)F', 'O=C([O-])CCCONC(=O)c1scnc1CO', 'O=C([O-])c1ncsc1C[S+]([O-])CCC(F)(F)F', 'O=C(NO)c1ncsc1C(F)(F)F', 'N#CCCN(CCC#N)Cc1ncsc1C(N)=O', 'OCC[NH+](CCO)Cc1ncsc1NC(=S)NCC(F)(F)F', 'OCC[NH+](CCO)Cc1ncsc1C(F)(F)F', 'N[C@H](C(=O)Nc1scnc1C(=O)[O-])C(F)(F)F', 'O=C(Nc1scnc1C(=O)[O-])N[C@H](CO)CC(F)F', 'O=C(NC[C@@H](O)C(F)F)Nc1scnc1C(=O)[O-]', 'NCC(F)(F)CC(=O)Nc1scnc1C(N)=O', 'NC(=O)c1ncsc1NC[C@@H](O)CC(F)(F)F', 'O=C([O-])C[C@@H](O)C[C@H](O)c1scnc1C(=O)[O-]', 'NS(=O)(=O)Cc1ncsc1CI', 'O=C([O-])c1ncsc1NCCCC(F)(F)F', 'OCc1ncsc1C1CCNCC1', 'NC=[NH+]C(=O)c1scnc1C(=O)[O-]', 'NC(=O)c1ncsc1NC(=O)[C@@H](N)C(F)(F)F', 'O=Nc1ncsc1C(=O)[O-]', 'NC(=O)c1ncsc1NC(=O)CCSCC(=O)[O-]', 'O=C(CCCCCCCCCCc1ccccc1)N(CCO)CCO', 'OCCCC[NH+]1CC[C@@H](Oc2ccccc2)C1', 'N#CCCCCNC(=O)CCCO[C@@H](c1ccccc1)C(F)(F)F', 'O=C(NCCSCC(F)(F)F)N(CCCO)CCc1ccccc1', 'NC(=O)CC(=O)N[C@H](Cc1ccccc1)C(=O)[O-]', 'O=C([O-])COCCNC(=O)N(CCO)CCc1ccccc1', 'O=C(CCC(=O)OCCCCF)NCc1ccccc1', 'O=C([O-])C[C@H](CO)/N=C/c1ccccc1', 'N#CCCCC(=O)C(C#N)C(=O)N=C(N)c1ccccc1', 'N#C[C@@H](CCc1ccccc1)C(=O)N[C@@H](CC(F)(F)F)C(=O)[O-]', 'O=C([O-])COCC(=O)N[C@@H](CCO)c1ccccc1', 'N#C[C@H](Cc1ccncc1)OCCCc1ccccc1', 'CSCCCCCNC(=O)C(=O)c1ccccc1', 'NC(=O)CCCc1ccc(Oc2ccccc2)cc1', 'O=S(=O)(Nc1ccccc1)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F', 'O=C([O-])CNC(=O)CNC(=O)C(F)(F)c1ccccc1', 'O[C@@H](C=C[C@@H](OCc1ccccc1)c1ccccc1)c1ccccc1', 'c1ccc(OP2OC2c2ccccc2)cc1', 'O=C([O-])CCCCC[NH+](CCO)Cc1ccccc1', 'O=C([O-])CS(=O)(=O)NC(=O)CSc1ccccc1', 'O=C(C[S+]([O-])CCCNS(=O)(=O)CCC(F)(F)F)NCc1ccccc1', 'O=C(NC[C@H](O)CC(F)(F)F)Nc1ccccc1', 'N#CCSCCCNC(=S)NCCCc1ccccc1', 'NC(=O)[C@H](CC(=O)[O-])SCCCc1ccccc1', 'O=S(=O)(Cc1ccccc1)CC(F)(F)F', 'NC(CCc1ccccc1)=[NH+]OCCCCCCO', 'O=N[C@@H](C(=O)NCC(=O)CCC(=O)[O-])c1ccccc1', '[O-]C(=Nc1ccccc1)C(F)(F)F', 'O=S(=O)(Cc1ccccc1)CC(F)(F)F', 'NC(=O)C1(c2ccccc2)CC1', 'O=C(NCC(F)(F)Br)N[C@H](c1ccccc1)C(F)(F)F', 'O=C([O-])CCC(=O)CN=CCCc1ccccc1', 'c1ccc(CNCCCCn2ccnn2)cc1', 'O=C(NCC[S+]([O-])Cc1ccccc1)NC[C@H](O)C(F)(F)C(F)(F)F', 'O=C(NCCCOc1ccccc1)NCCC(F)(F)F', 'O[C@H](CN[C@@H](c1ccccc1)C(F)(F)F)C(F)(F)F', 'O=C(CSC(F)(F)F)N[C@@H](CO)Cc1ccccc1', 'Nc1cc/c(=[NH+]\\c2ccccc2)[nH]c1Cl', 'N=C(O)N[C@@H]1CCCN(c2ccccc2)CC1', 'OCCC(CCO)c1ccccc1', 'O=C([O-])CCCCCCCC(=O)OCC(=O)NOCc1ccccc1', 'NC(=O)CCSCCCCc1ccccc1', 'OC[C@@H](CC(Cl)(Cl)Cl)NC(=S)Nc1ccccc1', 'O=C(CC(=O)NCC(F)(F)F)NCCS(=O)(=O)CCc1ccccc1', 'N#CC[C@H](NC(=S)NCCc1ccccc1)C(Cl)(Cl)Cl', 'O=C(CSC(F)F)NCCOCCOc1ccccc1', 'O=C([O-])C=CC(=O)NCC(=O)NOCc1ccccc1', 'NC(=O)CCCCCCCNC(=O)OCc1ccccc1', 'N#CC[C@H](CC(=O)N[C@@H](CC(F)(F)F)C(=O)[O-])c1ccccc1', 'N#CCCCCCCCCNC(=O)[C@@H](C#N)C(=O)CCSc1ccccc1', 'C(=N/N=C(c1ccccc1)c1ccccc1)\\c1ccccc1', 'O=C(N[C@@H](CCCO)c1ccccc1)[C@H](F)C(F)(F)F', 'O=S(=O)(c1cccs1)N(CC[NH+]1CCOCC1)c1ccccc1', 'O=C([O-])CCN(Cc1ccccc1)C(=O)CC(F)(F)F', 'O=C(CN/N=C\\c1ccccc1)C(F)(F)F', 'O=C(CSC(F)F)NC[C@H](O)COc1ccccc1', 'O=S(=O)(CCc1ccccc1)NCCSC(F)(F)F', 'OCCCCCCCCNC(=S)NCCc1ccccc1', 'O=C([O-])C[C@@H](O)CS(=O)(=O)CC(=O)Cc1ccccc1', 'N#CCCN(CCC#N)C(=O)COC(=O)c1ccccc1', 'N=C(O)C[C@@H](NC(=O)OCC(F)(F)F)c1ccccc1', 'CN(CCCF)S(=O)(=O)CCCS(=O)(=O)N[C@H](c1ccccc1)C(F)F', 'O=C([O-])CCCONC(=O)CSCCCc1ccccc1', 'NC(CCCc1ccccc1)=[NH+]OCCOCC(F)F', 'O=C([O-])C[C@@H](O)C(=O)N[C@H](CCc1ccccc1)C(F)F', 'O=C([O-])CC(=O)N[C@H](CC(F)(F)F)c1ccccc1', 'O=C(Cc1ccccc1)N=CCC(=O)C(F)(F)F', 'FC(F)(F)[C@](F)(Cl)CCNC(=S)OCc1ccccc1', 'O=C(CS(=O)(=O)CCc1ccccc1)NCCOCC(F)(F)C(F)F', 'O=C(CSc1ccccc1)NOC/C=C/Cl', 'O=C(Cc1ccccc1)N[C@@H](CC(F)(F)F)C(=O)[O-]', 'OCCCCOCCc1ccccc1', 'NC(=O)CCC(=O)N[C@H](C(=O)[O-])c1ccccc1', 'N#C[C@@H](OC(=O)c1ccccc1)C(=N)Nc1ccc(Cl)cc1', 'O=C([O-])C=CC(=O)NC[C@H](O)COc1ccccc1', 'O=C(NCCOC(F)(F)F)N[C@H](CC(F)(F)F)c1ccccc1', 'O=S(=O)(CCCO)CCCSCc1ccccc1', 'NC(Cc1ccccc1)=[NH+]OCCOCC(F)F', 'O=C(CCCc1ccccc1)OC(CC(F)(F)F)C(F)(F)F', 'NN=NONOCC(N)Cc1ccccc1', 'OC[C@@H](CC(F)(F)F)NC(=S)Nc1ccccc1', 'O=C(COC(=O)CCOCC(F)(F)F)Nc1ccccc1', 'O=C(NOCC(F)F)N[C@H](CO)[C@H](O)c1ccccc1', 'O=C([O-])CCC(=O)CNC(=S)NCc1ccccc1', 'NC(=O)CCCNC(=O)N[C@@H](CC(N)=O)c1ccccc1', 'N#CN=C(Cc1ccccc1)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F', 'N#C[C@@H](NS(=O)(=O)CC(=O)c1ccccc1)C(N)=O', '[O-][S+](CCCCc1ccccc1)CCOCC(F)(F)C(F)(F)F', 'ONC(C1=NOCCO1)c1ccccc1', 'O=C(CCSCc1ccccc1)NC[C@H](O)C(F)F', 'O=C([O-])CCCC[NH+](CCCO)CCc1ccccc1', 'NCCS(=O)(=O)NCC(=O)Cc1ccccc1', 'N#CCCCOCCc1ccccc1', 'O=C(NCCCC(F)(F)F)N[C@@H](CO)c1ccccc1', 'O=C(CC=CC=CBr)c1ccncn1', 'BrP(Br)Cc1ccncn1', '[O-][S+](Cl)Cc1ccncn1', 'SCCCCc1ccncn1', 'ONCc1ccncn1', 'FC(F)(F)CCN(CCOc1ccncn1)CC(F)(F)F', 'O[C@@H](c1ccncn1)C(Cl)(Cl)Cl', '[Si]#[B-]Nc1ccncn1', '[O-][S@+](CCNCCCF)Cc1ccncn1', 'OC(CCOCC(F)(F)F)=NCc1ccncn1', 'O=C([O-])[C@H](Cc1ccncn1)NS(=O)(=O)CCCF', 'OC(=NCC(O)C(F)(F)F)Nc1ccncn1', 'FC(F)COCc1ccncn1', 'FC(F)Cc1ccncn1', 'FC(F)CN=NC(=NCC(F)(F)F)c1ccncn1', '[O-]NCc1ccncn1', 'P=Nc1ccncn1', '[N-]=[N+]=Nc1ccncn1', 'O=C(CCS)c1ccncn1', 'FC(F)CSc1ccncn1', 'O=C(O)[C@H](Cc1ccncn1)N=C(O)C(F)F', 'FC(F)(F)C(F)(F)C(F)(F)CCc1ccncn1', 'NNc1ccncn1.[Cu]', 'O[N]C=Cc1ccncn1', 'S=C=NCc1ccncn1', 'O=[N+]([O-])CC([O-])=NC(S)=Nc1ccncn1', 'O=C([O-])C(=CNc1ccncn1)OF', 'ISc1ccncn1', 'NC(C(=O)[O-])(C(=O)[O-])c1ccncn1', 'OCCC[NH+](Cc1ccncn1)CC(F)(F)F', 'POc1ccncn1', 'O[C@H](CNCCCCc1ccncn1)C(F)(F)F', 'FC(F)(F)CNNc1ccncn1', 'FC(F)(F)[C@H](Cl)c1ccncn1', 'OB(O)c1ccncn1', 'O=C(O)C(S)CCc1ccncn1', 'FC(F)(F)Cc1ccncn1.FC(F)(F)Cc1ncccn1', 'ClC(Cl)CSc1ccncn1', 'O=Cc1ccncn1', 'O=[N+]([O-])c1ccncn1', '[O-][N-][S+]([O-])CCCc1ccncn1', 'O=C(O)C(Cc1ccncn1)N=C(O)CCCCN=C(O)CBr', 'O[C@H](c1ccncn1)C(F)F', 'NC(=O)CCCC(N)=[NH+]C(=O)c1ccncn1', 'BrCCCNc1ccncn1', 'SC(I)c1ccncn1', 'F[C@@H](CCCBr)c1ccncn1', 'FC(F)[C@H](Cl)c1ccncn1', 'FC(F)(Cl)Cc1ccncn1', 'O=C([O-])[C@H](O)c1ccncn1', 'O/C=C/C=N/NCc1ccncn1', 'FC(F)(F)C(NI)c1ccncn1', 'FCc1ccncn1', 'S=NCCCCCCc1ccncn1', 'OCCCCCCCCCCCCc1ccncn1', '[N-]=[N+]=NCC(Br)c1ccncn1', 'SCCCCCc1ccncn1', 'CCCCCCCOP(N)(=S)CCCCCCCOP(N)(=S)CCCCCCCOP(N)(=S)CCCCCCCCOP(N)(=S)CCCCCCCOc1ccncn1', 'O=C(CCc1ccncn1)C(F)(F)F', 'ClC(Cl)(Cl)N=CNc1ccncn1', 'OCCCCc1ccncn1', 'BrCCSCCNc1ccncn1', 'ClP(Cl)Oc1ccncn1', 'FC(F)(F)CCC/N=N/c1ccncn1', 'O=C=N[CH]C(F)(F)c1ccncn1', 'O=C(O)[C@H](Cc1ccncn1)NP', 'S=Cc1ccncn1', 'N#C[C@H](c1ccncn1)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F', 'N#CC[C@H](O)c1ccncn1', 'O.O=C(O)c1ccncn1.[Na+]', 'OC[C@@H](O)[C@H](O)[C@H](NO)c1ccncn1', 'OC[C@@H](Cl)c1ccncn1', 'FC(F)CCc1ccncn1', 'O=S(=O)(Cl)Cc1ccncn1', 'OCCCNc1ccncn1', 'N=C(S)NCCCCOc1ccncn1', '[Se]CCc1ccncn1', 'O=CCC(CC=O)CCCCCCCC(=O)c1ccncn1', 'N[C@@H](CCC(=O)Nc1ccncn1)C(F)F', 'PCCc1ccncn1', 'ClC(Cl)(Cl)c1ccncn1', 'N#CNC(=NCCOCCN(CCO)CCOc1ccncn1)NC#N', 'OCCSc1ccncn1', 'Cl[PH](Cl)=NCc1ccncn1', 'FC(F)(F)Oc1ccncn1', 'SOc1ccncn1', 'ICC[N]CCc1ccncn1', 'ClCCCC#Cc1ccncn1', 'O=[PH](CCO)c1ccncn1', 'FCSc1ccncn1', 'O=C(c1ccncn1)C(Br)Br', 'NS(=O)(=O)Cc1ccncn1', 'FC(F)(F)c1ccncn1', 'NC(CBr)c1ccncn1', 'O=C([O-])CCCCS(=O)(=O)Nc1cccc(CO)c1', 'NC(=O)CCNS(=O)(=O)Cc1cccc(C(=O)[O-])c1', 'O=C([O-])CCS(=O)(=O)NC[C@@H](O)c1cccc(C(F)(F)F)c1', 'O[C@H](CNc1cccc(C(F)(F)F)c1)C(F)(F)F', 'NC(CCc1cccc(C(F)(F)F)c1)=[NH+]OCC(F)(F)C(F)(F)F', 'O=CCCc1cccc(CF)c1', 'N[C@H](c1cccc(C(F)(F)F)c1)C(F)(F)F', 'O=C(NCCCCC(F)(F)F)NC[C@H](O)c1cccc(C(F)(F)F)c1', 'O=C([O-])c1cccc(C[S+]([O-])CC(F)F)c1', 'NC(=O)c1cccc(COC(=O)CSC(F)(F)F)c1', 'O=C(CSCC(F)(F)F)OCC(=O)c1cccc(C(F)(F)F)c1', 'N#CCCCC(NC(=O)[O-])Sc1cccc(SCCC#N)c1', 'O=C(NOCC(F)F)c1cccc(OCC(F)F)c1', 'O=C(CCCC(F)(F)F)Nc1cccc(CCO)c1', 'O=C(CC(F)(F)F)NCCCCCNC(=O)c1cccc(C(F)(F)F)c1', 'O=C(CCC(F)(F)F)N[C@H](CO)c1cccc(C(F)(F)F)c1', 'NCCCCCCc1cccc(C(F)(F)F)c1', 'O=C([O-])c1cccc(CS(=O)(=O)CCC(F)(F)F)c1', '[N-]=[N+]=NOC(c1cccc(OCC(F)(F)F)c1)C(F)(F)F', 'NC(=O)c1cccc(COCC(F)(F)C(F)F)c1', 'O=C([O-])CCCCCCNC(=O)CCc1cccc(OC(F)(F)F)c1', 'O=C([O-])c1cccc(C(=O)NC[C@H](O)COCC(F)(F)C(F)F)c1', 'NC(=O)CNC(=O)c1cccc(SC(F)(F)F)c1', 'O=C(CCC(F)F)NC[C@@H](O)c1cccc(C(F)(F)F)c1', 'O=C([O-])c1cccc(C(=O)OCC(F)(F)C(F)F)c1', 'O[C@](c1cccc(C(F)(F)F)c1)(c1nnn[nH]1)C(F)(F)F', 'O=C([O-])c1cccc(C(=O)NCCOC(F)(F)F)c1', 'NS(=O)(=O)Cc1cccc(NC(=O)CSCCC(F)(F)F)c1', 'NC(=O)c1cccc(COC(=O)CCC(=O)[O-])c1', 'O=C([O-])CCCS(=O)(=O)Cc1cccc(C(=O)[O-])c1', 'NCC(F)(F)CNc1cccc(CC(F)(F)F)c1', 'N[C@@H](c1cccc(C(F)(F)F)c1)C(F)(F)F', 'O=C(Nc1cccc(C(F)(F)C(F)(F)F)c1)N[C@@H](CO)CC(F)F', 'NC(=O)c1cccc(C[S+]([O-])CCOCC(F)(F)C(F)(F)F)c1', 'NC(Cc1cccc(C(F)(F)F)c1)=[NH+]O', 'O=C([O-])c1cccc(C[S+]([O-])CCCCF)c1', 'NC(=O)CONC(=O)c1cccc(CCC(=O)[O-])c1', 'NC(=O)CCNC(=O)[C@@H](O)c1cccc(C(F)(F)F)c1', 'O=C([O-])C(=O)N[C@H](CCO)c1cccc(C(F)(F)F)c1', 'O=C(OCCO)c1cccc(CS(=O)(=O)C(F)F)c1', 'O=C([O-])COCC(=O)Nc1cccc(NCCO)c1', 'O=C(CS(=O)(=O)CC/C=C/Cl)c1cccc(OC(F)(F)F)c1', 'O=C(CC=NCc1cccc(C(F)(F)F)c1)C(F)(F)F', 'NCC(F)(F)COC(=O)c1cccc(C(F)F)c1', 'O=C(NCCOCC(F)F)c1cccc(C(F)F)c1', 'O=C([O-])Cc1cccc(C(=O)N[C@@H](CCO)C(=O)[O-])c1', 'O=C([O-])c1cccc(C(=O)NCCCC(F)(F)F)c1', 'NS(=O)(=O)Nc1cccc(NC(=O)CSCC(F)(F)C(F)F)c1', 'N#Cc1cccc(CN=NCC(F)(F)C(F)(F)F)c1', 'N#CCc1cccc(NC(=O)NCCCCC(=O)[O-])c1', 'O=C([O-])COc1cccc(C(=O)NCCOCCF)c1', 'O=C([O-])C[C@H](O)CNC(=O)c1cccc(C(F)F)c1', 'NC(=O)CSCc1cccc(OC(F)(F)F)c1', 'NC(=O)c1cccc(C[S+]([O-])CCCC(F)(F)F)c1', 'NS(=O)(=O)Nc1cccc([C@H](O)C(F)(F)F)c1', 'N#C[C@H](NC(=S)Nc1cccc(C(N)=O)c1)C(N)=O', '[N-]=[N+]=Nc1cccc(S(N)(=O)=O)c1', 'O=C(NCC#CCO)NCc1cccc(CO)c1', 'NC(=O)OCCNc1cccc(OCC(F)(F)F)c1', 'NS(=O)(=O)Cc1cccc(CNC(=O)[O-])c1', 'O=C(NC[C@H](O)C(F)F)N[C@H](c1cccc(C(F)(F)F)c1)C(F)(F)F', 'NC(=O)Cc1cccc(NS(=O)(=O)CCCC(=O)[O-])c1', 'O=C(N[C@H](CO)c1cccc(OC(F)(F)F)c1)OCCC(F)(F)F', 'O=C([O-])CCCCNC(=O)Nc1cccc(C(F)(F)F)c1', 'O=C(N=CCC(=O)C(F)(F)F)c1cccc(CO)c1', 'O=C(NCCc1cccc(OC(F)F)c1)C(F)(F)C(F)(F)F', 'NC(=O)CCC[S+]([O-])Cc1cccc(C(=O)[O-])c1', 'O=C(CCCCO)Nc1cccc(OCC(F)F)c1', 'O=C([O-])CNC(=O)c1cccc(CCC(F)(F)F)c1', 'NC(=O)c1cccc(CS(=O)(=O)CCCO)c1', 'O=C([O-])c1cccc(C[S+]([O-])CCCCOCC(F)(F)C(F)F)c1', 'O=C(NC[C@H](O)CO)Nc1cccc(CCO)c1', 'O=C([O-])NCCC(=O)NCCc1cccc(C(=O)[O-])c1', 'NS(=O)(=O)Nc1cccc(C(=O)[O-])c1', 'NC(=O)c1cccc(C[S+]([O-])C/C=C/Cl)c1', 'O=C(NCCCCO)Nc1cccc(C(F)(F)F)c1', 'CC(C)(C)C#C[C@H](OCc1cccc(CO)c1)C(=O)OCCCC(F)(F)F', 'O=C(CCC(F)(F)F)NCc1cccc(C(=O)[O-])c1', 'O=S(=O)(Cc1cccc(C(F)(F)F)c1)NCCC(F)(F)F', 'O=C([O-])c1cccc(C(=O)OCCCC(F)F)c1', 'O=C(CCCF)NCCOc1cccc(C(F)(F)F)c1', 'NS(=O)(=O)Nc1cccc(NC(=O)NOC/C=C/Cl)c1', 'O=NCc1cccc(CNC[C@@H](O)C(F)(F)F)c1', 'O=NCc1cccc(C(=O)N(CCO)CC(F)(F)F)c1', 'NC(NCCCO)=[NH+]Cc1cccc(C(F)(F)F)c1', 'NC(=O)CSC[C@H](O)c1cccc(C(F)(F)F)c1', 'NC(=O)c1cccc(CNC(=O)CCCC(=O)[O-])c1', 'NC(=O)[C@H](CO)NC(=O)c1cccc(OCC(F)F)c1', 'FC(F)(F)C(F)(c1cccc(C(F)(C(F)(F)F)C(F)(F)F)c1)C(F)(F)F', 'O=C([O-])c1cccc(C(=O)OC/C=C\\Br)c1', 'O=C([O-])COc1cccc(NCCCOCC(F)(F)F)c1', 'O=C([O-])c1cccc(C(=O)N(CCO)CC(F)F)c1', 'N#CCCCCNC(=S)NCc1cccc(CC(F)(F)F)c1', 'NC(=O)c1cccc(CNC(=O)[C@H](O)CC(=O)[O-])c1', 'O=C(CCCC(F)(F)F)NCC(=O)c1cccc(C(F)(F)F)c1', 'O=[N+]([O-])c1cccc(S(=O)(=O)N=C(O)C2CCCO2)c1', 'N#C[C@@H](C(=O)CC(F)(F)C(F)F)c1cccc(C(F)(F)F)c1']"
"['O=C(NCCO[C@H](c1ccccc1)C(F)(F)F)OCC(F)(F)F', 'O=C(N[C@@H](CO)Cc1ccccc1)[C@H](F)C(F)(F)F', 'O=C(CCSc1ccccc1)N[C@@H](CF)C(=O)[O-]', 'C=CCCC(=O)NCCCCCCNC(=S)NCCCc1ccccc1', 'O=C(Cc1ccccc1)N(CCC(F)(F)F)CC(F)(F)F', 'O=C(Cc1ccccc1)NCCNC(=O)N(CCC(F)(F)F)C[C@H](O)CO', 'NOCCCNC(=O)CCSCc1ccccc1', 'N[C@@H](C(=O)NC[C@@H](O)c1ccccc1)C(F)(F)F', 'SCOc1ccccc1', 'O=C([O-])CCCCCC(=O)NCCNc1ccccc1', '[O-][S+](CCCCOCC(F)(F)C(F)F)CC[C@H](O)c1ccccc1', 'O=C([O-])[C@H](N=CCC(=O)C(F)(F)F)c1ccccc1', 'O=C(CCCCCCC=C[C@@H](O)c1ccccc1)NO', 'O=C([O-])C[C@@H](SCc1ccccc1)C(=O)[O-]', 'I/C=C\\c1ccccc1', 'O=C([O-])CCS(=O)(=O)NC[C@H](O)CCc1ccccc1', 'N#CCCN(C(=O)C[C@@H](C#N)Cc1ccccc1)C(Cl)(Cl)Cl', 'O=C([O-])C[C@@H](O)CNS(=O)(=O)Cc1ccccc1', 'NC(=O)CNC(=S)NCCNC(=O)c1ccccc1', 'O=S(=O)(CCCNS(=O)(=O)CCCCCCO)Cc1ccccc1', 'O=S(=O)(CCC(F)(F)F)NCCNC(=S)NCc1ccccc1', 'O=C(CCOCC(F)(F)F)NCCOc1ccccc1', 'ICCC/N=C/c1ccccc1', 'OC[C@H](CC(F)(F)F)NC[C@H](O)COc1ccccc1', 'N#CCCN(CCC#N)C(=O)C[C@@H](C#N)CCc1ccccc1', 'O=C([O-])CSCCC(=O)NC[C@@H](O)c1ccccc1', 'N#C[C@H](CCc1ccccc1)CC(=O)N[C@@H](CC(F)(F)F)C(=O)[O-]', 'O=C(NCC(F)F)NC[C@H](O)CCc1ccccc1', 'O=C([O-])CCS(=O)(=O)CCSc1ccccc1', 'O=C(CCSCCOCCO)Nc1ccccc1', 'NC(=NC[C@H](O)CC(=O)[O-])Nc1ccccc1', 'NC(CCc1ccccc1)=[NH+]OC[C@@H](F)C(F)(F)F', 'O=S(=O)(CC(F)(F)C(F)F)Oc1ccccc1', 'O=C(CCC(=O)NCc1ccccc1)NC/C=C\\Cl', 'O=C(NC/C=C/Cl)C(=O)Nc1ccccc1', 'O=C(NCCCOc1ccccc1)NCC[C@@H](O)C(F)(F)F', 'O=C([O-])CCS(=O)(=O)NC[C@@H](O)c1ccccc1', 'N#C[C@H](NS(=O)(=O)Cc1ccccc1)C(N)=O', 'O=C([O-])CCCCC(=O)NCCCNc1ccccc1', 'O=C([O-])C[C@@H](Cc1ccccc1)NC(=O)CC(F)(F)F', 'O=C(CCNc1ccccc1)OCCOCC(F)F', 'O=C(NCC[NH+](CCO)Cc1ccccc1)NCC(F)(F)F', 'NC(=O)C[C@@H](Cc1ccccc1)NC(=O)CCCO', 'O=S(=O)(CN=NCC(F)(F)CO)c1ccccc1', 'O=C(NCc1ccccc1)N[C@@H](CO)CC(F)(F)F', 'O[C@@H](CNC(=S)Nc1ccccc1)CC(F)(F)F', 'O=C(NCCc1ccccc1)NNC(=O)C(F)(F)F', 'N#CCCCCCC(=O)OCC(=O)NCCCOc1ccccc1', 'NC(=O)CSCC(=O)N[C@@H](CO)Cc1ccccc1', 'O=C(NOCCOCC(F)(F)F)[C@@H](O)c1ccccc1', 'O=C(NCCCC(F)F)NC[C@@H](O)CCc1ccccc1', 'O=S(=O)(CCCC(F)(F)F)NC[C@@H](O)COc1ccccc1', 'NC(=O)[C@H](CO)NC(=O)C=NC(=O)CCc1ccccc1', 'N#C[C@H](OC(=O)C[C@H](c1ccccc1)C(F)(F)F)C(F)(F)F', 'O=C(N[C@H](CCBr)C(F)(F)F)OCc1ccccc1', 'O=S(=O)(CCC(F)(F)C(F)(F)F)N(Cc1ccccc1)C[C@H](O)CO', 'O=C(NCCCOCC(F)(F)F)NCCOc1ccccc1', 'O=C([O-])COCCNC(=O)NC[C@H](O)c1ccccc1', 'O=C(C[C@H](O)C(F)(F)F)N[C@H](c1ccccc1)[C@@H](O)C(F)(F)F', 'O=C(CSCC(F)(F)F)N[C@@H](c1ccccc1)C(F)(F)F', 'NC(=O)C[C@@H](NC(=O)COCC(=O)[O-])c1ccccc1', 'N#CCSCC(=O)NCCN(CCO)C(=O)Cc1ccccc1', 'O=C(CCCOc1ccccc1)NCCCOCCO', 'N#C[C@H](CCc1ccccc1)C(=O)NCCCSCC(F)(F)F', 'C=CCCCCCCCNC(=O)C(=O)NCCCc1ccccc1', 'FC(F)C(F)(F)C(F)(F)CNC(=S)NCCc1ccccc1', 'O=C([O-])CCCCCCC(=O)NCC(=O)c1ccccc1', 'O=C(CCSc1ccccc1)N[C@H](CC(F)(F)F)C(=O)[O-]', 'O=C([O-])COCCOC[C@H](O)CNC(=O)Nc1ccccc1', 'O=C([O-])COCCNC(=O)NCCOc1ccccc1', 'O=C(CCSc1ccccc1)OCCCCO', 'O=C([O-])CC(=O)NCCS(=O)(=O)Cc1ccccc1', 'NCCS(=O)(=O)NCC(=O)NCc1ccccc1', 'OCCCCCSc1ccccc1', 'O=C([O-])COCCNC(=O)CNC(=O)Nc1ccccc1', '[N-]=[N+]=NC(Cc1ccccc1)C(=O)OC(C(F)(F)F)C(F)(F)F', 'OCCCCCCCCCCCNC(=S)Oc1ccccc1', 'O=C(CCOc1ccccc1)NCCCOCC(F)(F)F', 'O=C([O-])C[C@H](Cc1ccccc1)NC(=O)[O-]', 'O=S([O-])(=NC[C@@H](O)c1ccccc1)C(F)(F)F', 'N#CCS(=O)(=O)N[C@H](c1ccccc1)C(F)(F)F', 'O=C(NCCSCCCO)NC[C@H](O)Cc1ccccc1', 'O=C(NC[C@@H](O)c1ccccc1)N[C@@H](CC(F)F)C(=O)[O-]', 'O=C([O-])C[C@@H](O)C(=O)OCCOC(=O)c1ccccc1', 'OCC[NH+](CCOCC(F)(F)C(F)(F)F)CCc1ccccc1', 'NC(=O)CCCC(=O)N[C@H](CC(=O)[O-])c1ccccc1', 'Cl/C=C/CNCCCOc1ccccc1', 'O=S(=O)(CCCC(F)(F)F)N[C@@H](CCCO)c1ccccc1', '[O-][S+](CCNC(=S)Nc1ccccc1)C(F)(F)F', 'CC(C)(C)CCNC(=O)COC(=O)CCCCC(=O)c1ccccc1', 'N#CC(=N)C(=O)c1ccccc1', 'O=C(NCCCSCC(F)(F)F)NC[C@H](O)COc1ccccc1', 'NS(=O)(=O)CCCCNC(=S)N[C@H](CC(F)(F)F)c1ccccc1', 'NC(=O)c1cccc(CSCCS(N)(=O)=O)c1', 'N=Cc1cccc(B(F)F)c1', 'O=C(Nc1cccc([C@@H](O)C(F)(F)F)c1)C(F)F', 'O=C(N=Cc1cccc([N+](=O)[O-])c1)C(F)(F)F', '[N-]=[N+]=Nc1cccc(C(=N)NO)c1', 'O=C([O-])CCCCCCCCCCCCc1cccc(CCCCCCCCCCC(=O)[O-])c1', 'NCCCCCCCCCCCCc1cccc(OC(F)(F)F)c1', 'O=C([O-])CCNS(=O)(=O)Cc1cccc(C(=O)[O-])c1', 'NC(=O)CCc1cccc(OCC(F)(F)C(F)F)c1', 'O=C([O-])c1cccc(C(=O)CCl)c1', 'O[C@@H](CN=CCC(F)(F)F)c1cccc(C(F)(F)F)c1', 'NS(=O)(=O)CCCCNC(=S)Nc1cccc(SC(F)(F)F)c1', 'O=P([O-])([O-])CCCCNC(=S)Nc1cccc(C(F)(F)F)c1', 'N#CCc1cccc(C(F)F)c1', 'ClP(Cl)#Cc1cccc(N=P(Cl)(Cl)Cl)c1', 'O=C(c1cccc(N=CC=S(=O)=O)c1)C(F)(F)F', 'NC(=S)c1cccc(C(O)=NCC(F)(F)F)c1', 'N#Cc1cccc(CS)c1', 'OCc1cccc(OCCOCC(F)(F)F)c1', 'FC(F)(F)c1cccc(C(F)(F)CS)c1', 'O=C(c1cccc(C[O-])c1)C(F)(F)F', 'N=CNC=Nc1cccc(C(=N)O)c1', 'O=C(NO)c1cccc(CBr)c1', 'ON=Cc1cccc(C2CC2)c1', 'NP(Cl)Oc1cccc(O[Si](Cl)(Cl)Cl)c1', 'PCOc1cccc(CP)c1', 'FC(F)(F)C(Cl)(c1cccc(C(Cl)Cl)c1)C(F)(F)F', 'NC=Nc1cccc(CC(F)F)c1', 'S=Cc1cccc(C=S)c1', 'NC(=O)C(=O)Nc1cccc(CBr)c1', 'P=Nc1cccc(-n2ccnc2)c1', 'NC(=O)CCCCCCC[NH+]=C(N)Nc1cccc(C(F)(F)F)c1', 'O=C(COCc1cccc(C(F)(F)F)c1)NO', 'SCNc1cccc(NCS)c1', 'NC(=O)C[C@H](O)c1cccc(NS(=O)[O-])c1', 'OC(c1cccc(C(F)(F)F)c1)(C(F)(F)F)C(F)(F)F', 'N#CNC=Nc1cccc(/C=N/O)c1', 'NC(=O)CNC(=S)Nc1cccc(C(=O)[O-])c1', 'N#CCCC[C@H](C#N)NC(=S)Nc1cccc(C(F)(F)F)c1', 'O=C([O-])CCNC(=O)c1cccc(C(=O)NCC(=O)[O-])c1', 'FC(F)(F)C(F)(F)C(F)(F)C(F)(F)c1cccc(C(F)(F)C(F)(F)C(F)(F)C(F)(F)F)c1', 'NC#Cc1cccc(C=O)c1', 'FC(F)(F)c1cccc(P2BP2)c1', 'O=C(N[C@H](CO)CC(F)(F)F)Oc1cccc(OC(F)(F)F)c1', 'NS(=O)(=O)c1cccc(OS(=O)(=O)CCCCF)c1', 'NCCCNCCC(=O)c1cccc(CN)c1', 'O=C(C[C@@](F)(Cl)C(F)(F)Br)Nc1cccc(C(F)(F)C(F)(F)F)c1', 'O=C(N[C@H](CO)Cc1cccc(C(F)(F)F)c1)OCC(F)(F)F', 'ONCC(F)(F)Cc1cccc(C(F)(F)F)c1', 'CCCS(=O)(=O)c1cccc(C(N)=S)c1', 'NC(=O)[C@H](CO)NC(=O)c1cccc(C(=O)C(F)(F)F)c1', 'O=[N+]([O-])c1cccc(C#CCBr)c1', 'N=C([O-])C(=O)c1cccc(C(N)=O)c1.[Li+]', 'O=C(NCCCOCc1cccc(C(F)(F)C(F)(F)F)c1)C(F)(F)F', 'FC(F)(F)C(F)(F)c1cccc(CCCS)c1', 'O=C(C=Nc1cccc(N=CC(=O)C(F)(F)C(F)(F)F)c1)C(F)(F)F', 'FC(F)Oc1cccc(OCC(F)(F)C(F)(F)C(F)(F)C(F)F)c1', 'O=C(CC=Nc1cccc(C#CCO)c1)C(F)(F)F', 'NN=Cc1cccc(C(N)=S)c1', 'O=C([O-])c1cccc([C@@H](O)C(F)(F)F)c1', 'BrCC(Br)(Br)c1cccc([P+](Br)(CBr)C2CCCCC2)c1', 'OCCCCCCCCCc1cccc(CCCCCO)c1', 'NC(=O)CCC(=O)NCc1cccc(OCC(=O)[O-])c1', 'NC(=O)Cc1cccc(C[C@H](N)C(F)(F)F)c1', 'NCCCOc1cccc(C(N)=O)c1', 'NC(=S)N=NCc1cccc(OC(F)F)c1', '[N-]=NN=[NH+]c1cccc(C=O)c1', 'O=C(CCCO)c1cccc(C(=O)CCCCl)c1', 'OOc1cccc(CCCC(F)(F)Br)c1', 'O=[N+]([O-])c1cccc(S(=O)(=O)[O-])c1', 'O=C([O-])c1cccc(NS(=O)(=O)N2CCCC2)c1', 'OCCCc1cccc(C(F)(F)F)c1', 'O=S(=O)(O)c1cccc(S(=O)(=O)O)c1', 'OCc1cccc(C2CCCCCC2)c1', 'NC(=O)C(=O)NN=Nc1cccc(S(N)(=O)=O)c1', 'N#CCc1cccc(C[Si]CBr)c1', 'N#C[C@@H](N)c1cccc(OC(F)(F)F)c1', 'O=C([O-])C[C@@H](O)C(=O)Oc1cccc(CCCO)c1', 'C#CC(=O)Nc1cccc(C(=O)C(N)=O)c1', 'O=S([O-])c1cccc(S(=O)(=O)[O-])c1', 'N=CNc1cccc(NC=O)c1', 'NS(=O)(=O)CCCS(=O)(=O)Cc1cccc(NC(=O)C(F)(F)F)c1', '[O+]#Cc1cccc(C#[N+]O)c1', 'O=C(CCOCC(F)(F)C(F)(F)F)Nc1cccc(C(F)F)c1', 'NC(=O)CCCCCCCCCc1cccc(SCCC(=O)[O-])c1', 'O=S(=O)(CCC(F)(F)F)Nc1cccc(CO)c1', 'N/N=C/c1cccc([N+](=O)[O-])c1', 'O=C(NO)c1cccc(OCCOCCO)c1', 'N#CCCN(Cc1cccc(C(F)(F)F)c1)C[C@H](O)C(F)(F)F', 'N#CCCCCc1cccc(C(=O)[O-])c1', 'NC(=O)c1cccc(CCNS(N)(=O)=O)c1', 'NS(=O)(=O)c1cccc(S(=O)[O-])c1', '[N-]=[N+]=NCc1cccc(CBr)c1', 'FC(F)c1cccc(C(F)(F)F)c1', 'NC(=NO)c1cccc(C(N)=[NH+]O)c1', '[N-]=[N+]=NCC#Cc1cccc(C=O)c1', 'ClC(Cl)(Cl)c1cccc(C(Cl)(Cl)Cl)c1', 'PPCCCCP=NCc1cccc(CN=[SH]CCCC[Se][Se]c2ccccc2)c1', 'NC(=O)c1cccc(NC(=O)[C@@H](N)C(F)(F)F)c1']"
"['C(=NCc1ccccc1)N/N=C\\NCC1CCCO1', 'O=P(Cl)(Cl)c1ccccc1', 'Pp1cc(P(c2ccccc2)C2[CH+]CCCC2)[pH]1', 'NNCP(=O)([O-])c1ccccc1', 'N#CCP(CCP(c1ccccc1)n1cccn1)n1cccn1', 'O=C(CS(=O)(=O)CCOCC(F)(F)C(F)(F)F)Nc1ccccc1', '[B]=PP(N)c1ccccc1', 'NC(CCCc1ccccc1)=[NH+]O', '[O-]P(O)CCCCc1ccccc1', 'c1ccc([Se]c2ccccc2)cc1', 'FC(F)c1ccccc1', 'N#C[C@H](/C=C/c1ccccc1)C(=O)[O-]', 'S=C=Nc1ccccc1', 'O=C(CP(=O)([O-])[O-])C(O)c1ccccc1', 'N#CCCOCc1ccccc1', 'O=CCCCCC(=O)c1ccccc1', 'OCCc1ccccc1.c1ccccc1.c1ccccc1', 'ClCCCCCCCCCCCNc1ccccc1', 'N[C@]1(c2ccccc2)COCCN1', 'NC(=O)[PH](=O)Oc1ccccc1', 'c1ccc(NC2CCNS2)cc1', 'O[C@H](COCCC(F)(F)F)Cc1ccccc1', 'N#CC=CC(=O)c1ccccc1', 'c1ccc(N[C@@H]2CC[C@@H]2N2CCCC2)cc1', '[O]C(=CC(=O)c1ccccc1)OS(=O)(=O)C(F)(F)F', 'CCCCn1n(PPP)[pH]op1-c1ccccc1', 'N#CCCN(Cc1csc(CN)n1)c1ccccc1', 'FC(F)(F)CSCCNc1ccccc1', 'c1ccc(CPC2CCCCC2)cc1', 'NC(=O)C[C@H](NS(=O)(=O)Cc1ccccc1)C(=O)[O-]', 'N[Si]CCCNc1ccccc1', 'c1ccc(P(C2CCC2)P2CCC2)cc1', 'Cl.Cl.NCPNc1ccccc1', 'C[Se][C@H]1C[C@@H]1Cc1ccccc1', 'O=C(CCC(F)(F)F)N[C@H](CO)c1ccccc1', 'c1ccc(C[n+]2ccsn2)cc1', 'C1CC[N]CC1.[O-]NCc1ccccc1.[Ti+]', 'O=C([O-])C[C@H](N(CCO)Cc1ccccc1)C(F)(F)F', 'NS(=O)(=O)CCN=CCC(=O)c1ccccc1', 'O=C(c1ccccc1)[C@H](CO)NC(=O)[C@H](O)C(F)(F)F', 'FC(I)(I)CCc1ccccc1', 'NC(=O)[C@@H](OC(=O)CCOCC(F)(F)C(F)(F)F)c1ccccc1', 'N=NNS(=O)(=O)c1ccccc1', 'F/C=C(/COc1ccccc1)C(F)(F)F', 'O=C(NOC/C=C\\Cl)[C@@H](O)c1ccccc1', 'O=C([O-])[C@@H](C=C(Cl)Cl)c1ccccc1', 'c1ccc(C[C@H]2CCCNN2)cc1', '[Br-].[CH](Cn1ccnn1)c1ccccc1.[In]', 'O=C([O+]=[Si-]c1nnnc([O-])n1)c1ccccc1', 'FC(F)(F)COCCNCc1ccccc1', 'OCC[C@@](O)(c1ccccc1)n1cncn1', 'C(C#CC#CC#Cc1ccccc1)#CC#CC#Cc1ccccc1', 'O=C([O-])CS(=O)(=O)NCc1ccccc1', 'NNC(NN)c1ccccc1', 'N#CC=C(Nc1ccccc1)SNc1ccccc1', '[N-]=[N+]=NCCCCC(N)CN=CCc1ccccc1', 'OC(CO[Si](Cl)(Cl)Cl)c1ccccc1', 'S=C([S-])Nc1ccccc1', 'N=S(=O)(O)CCNc1ccccc1', 'c1ccc(C[C]2CC2)cc1', 'OCCN(Cc1nn[nH]c1-c1ccccc1)C1CCC1', 'N=CCCc1ccccc1', 'C1=N[N]N(Sc2ccccc2)N1', 'OCC#CCCc1ccccc1', 'O[C@H](CNC(=S)Nc1ccccc1)C(F)(F)F', 'NCC(N)(CN)Cc1ccccc1', 'c1ccc(NC2CCC2)cc1', 'c1ccc(N[C]2CCCCC2)cc1', 'c1ccc(CCNCCNCCCCC2CC2)cc1', 'O=C(N/N=C/c1cc[nH]n1)c1ccccc1', 'NP(I)[C@H](O)c1ccccc1', 'O=S(=O)(N=S=S)c1ccccc1', 'ClC(Cl)(Cl)POc1ccccc1', 'S=CN/N=C/c1ccccc1', 'NC(=O)CCCCSCCC(=O)c1ccccc1', 'c1ccc(N2CCCSCCOCCSCC2)cc1', 'C1=CCI(c2ccccc2)C=CC1', 'O=C(O)c1[nH]nnc1-c1nn[nH]c1-c1ccccc1', 'ClC(Cl)(Cl)[Si]1(Cl)O[Si](Cl)(c2ccccc2)O[Si](C(Cl)(Cl)Cl)(C(Cl)(Cl)Cl)O1', 'c1ccc(COCCN2CCOCC2)cc1', 'C1=C(CCNc2ccccc2)CCCC1', 'BrPN[PH](c1ccccc1)(c1ccccc1)c1ccccc1', 'O=C([O-])[C@@H](CCC(F)(F)F)N=C(O)Oc1ccccc1', 'OC(=NCCCBr)Nc1ccccc1', 'N#CCCCCCCCCC[NH2+]CCCCCCNCCC/C=C/c1ccccc1CCCCCCCCCCCCC[NH+]1N=[N+]1c1ccccc1', 'OC(CCl)c1ccccc1', '[C]1C=CC(c2ccccc2)CC1.[Ti]', 'O=C=NC[C@@H](Cc1ccccc1)C(=O)[O-]', 'OCCCN(CCCO)C(=S)NCc1ccccc1', 'c1ccc(C[P@]2CSOSP2)cc1', 'NC(S)=NC(=O)[C@@H](O)c1ccccc1', 'O=C([O-])CCCCC(=O)N[C@@H](CCO)c1ccccc1']"
"['OC(=NCCCC1=NC(c2ccccc2)CC1)c1ccccc1.c1ccccc1', 'Cc1cc(-c2ccc(-c3ccccc3C)cc2)c(Nc2ccccc2)c(-c2cccc(-c3ccccc3)c2)c1.c1ccccc1', 'Nc1[nH]n(-c2ccccc2)c2c3ccccc3[n+](-c3ccccc3)c1-2.c1ccccc1', 'Cc1ccc(F)c(F)c1-c1ccccc1.O.O=CO.c1ccccc1', 'O=P(O)(O)OC[C@H]1O[C@@H]2OC(COP(=O)(O)O[C@H]2O)[C@H](N=C(O)C(F)(F)F)[C@@H]1O.c1ccccc1', 'O=S1(=O)CC(OC(c2ccccc2)C2CCC2)C1.c1ccccc1', 'Nc1ccc(-c2nc(-c3ccccc3)c3ccccn23)cc1.c1ccccc1', 'P.[c-]1ccccc1-c1ccnc(-c2ccccc2)n1.c1ccc(-c2ccccc2)cc1.c1ccccc1', 'NCC1CN(c2ccc(C(F)(F)F)cc2N2CCOCC2)CCO1.c1ccccc1', 'Nc1ccc(N=Nc2ccc(-c3ccccc3)cc2)c(N)c1.c1ccccc1', 'c1ccccc1.c1cncc(-c2ccc(NCc3cccc4ccccc34)cn2)c1', 'C1=c2ccoc2=C2c3ccc(-c4ccc5c(c4)oc4ccccc45)cc3NC(c3ccccc3)(c3ccccc3)C12.c1ccccc1', 'c1ccc(-c2ccnc(-c3cccc4c3sc3nc5ccccc5n34)n2)nc1.c1ccccc1', 'Cc1ccc(Cc2coo2)cc1.c1ccccc1', 'c1ccc2c(-c3ccc4sc5ccccc5c4c3)nc(-c3cccc4c3sc3ccccc34)nc2c1.c1ccccc1', 'c1ccc(-c2nc(-c3ccnn3-c3ccccc3)nc(-n3c4ccccc4c4cccnc43)n2)cc1.c1ccccc1', 'O=CN(C=O)CCc1ccc(C(=O)[O-])c(-c2ncncc2F)c1.c1ccccc1', 'O=C(NC1CCCCC1)c1c(NC2CCCCC2)ccc2c1C=NC2.c1ccccc1', 'Nc1ccc(C(=Nc2cccc3ccccc23)c2ccc(N(c3ccc(Br)cc3)c3ccc4ccccc4c3-c3ccccccccc3)cc2)cc1.c1ccccc1', 'SCSCSCCN=c1ccc(C#Cc2ccccc2)c[nH]1.c1ccccc1', 'Nc1ncnc(Sc2nncs2)c1N.c1ccccc1', 'c1ccc(-n2c(-c3cc4ccccc4c4ccccc34)nc3c4ccsc4c4ccsc4c32)cc1.c1ccccc1', 'O=C(c1ccccc1)c1ccccc1.O=S(=O)(O)O.c1ccccc1', 'N#Cc1ccccc1Nc1ccccc1.c1ccccc1', 'N#Cc1ccccc1-c1ccccc1C#N.c1ccccc1', 'c1cc2c(-c3ccc4c5c(ccnc35)CCO4)n[nH]c2cn1.c1ccccc1', 'Oc1nnccc1-c1nnnn1CCN1CCOCC1.c1ccccc1', 'SCc1ccco1.c1ccc(-c2ccccc2)cc1.c1ccc(-c2ccccn2)nc1.c1ccccc1', 'N=C(c1ccc(Cc2ccccc2)cc1)N(c1ccccn1)c1ccccn1.c1ccccc1', 'c1ccc(-c2cccc3c2sc2c4ccccc4ccc32)cc1.c1ccccc1', 'B(c1ccccc1)[N+](c1ccccc1)(c1ncccn1)c1ncccc1-c1ccccn1.c1ccccc1', 'c1ccc(-c2nc3cc4c5ccc6c7ccccc7sc6c5n(-c5ccccc5)c4cc3c3ccccc23)cc1.c1ccccc1', 'Cc1cccc(S(=O)(=O)NCc2ccccc2)c1.c1ccccc1', 'c1ccc(-c2ccccc2-c2ccc3cc4ccc(N5c6cccnc6N(c6ccccc6)c6cccnc65)cc4cc3n2)cc1.c1ccccc1', 'CC(C)CNC(=O)N1CCC[C@@H](C(=O)OC2CCCCC2)C1.c1ccccc1', 'NP(O)Oc1ccccc1OP(O)Oc1ccccc1.c1ccccc1', 'N#CCCN1CCCC1.c1ccccc1', 'Cl.Clc1ccc(Cl)c(N(c2ccccc2)c2ccccc2)c1.Clc1ccccc1.c1ccccc1', 'c1ccc(-c2csc(N3CCOCC3)n2)cc1.c1ccccc1', 'NC[C@H](c1nnnn1Cc1ccco1)N(CCO)CCO.c1ccccc1', 'NCc1cccc(CC(c2ccccc2)c2ccccc2)c1.c1ccccc1', 'O=S(=O)(NCc1sc2ccc(Cl)cc2c1-c1ccc(Cl)cc1)c1ccccc1.c1ccccc1', 'ICC1(COc2ccccc2)CCNCC1.c1ccccc1', 'c1ccc(-c2nc3c(-c4ccc(-c5ncccn5)cc4)cccc3n2-c2ccc(-c3ccncc3)cc2)cc1.c1ccccc1', 'C(=Nc1cccc(-n2c3ccccc3c3cc(-c4ccccc4)ccc32)c1)Nc1ccc(-c2ccccc2)cc1N=CNc1ccccc1.c1ccccc1', 'O=C(O)CCCCCCCCC(c1ccccc1)N1C2CCCC1CCC2.c1ccccc1', 'N#Cc1ccc(C(F)(F)F)c(C#N)c1.c1ccccc1', 'c1ccc(N(c2ccc(-c3cccc4c3oc3ccccc34)cc2)c2cccc3oc4ccccc4c23)cc1.c1ccccc1', 'c1ccc(-n2c3ccccc3c3cc(N(c4ccc5c(c4)-c4ccccc4CO5)c4ccc5c(c4)oc4ccccc45)ccc32)cc1.c1ccccc1', 'Cc1cnn2c(=O)cc(CC(O)=Nc3ccc(N4CCCC4)cc3)[nH]c12.c1ccccc1', 'c1ccc(-c2ccc(N(c3ccccc3)c3ccc(-c4ccccc4)cc3)cc2)cc1.c1ccccc1', 'c1cc(-c2nnco2)ccn1.c1ccccc1', 'O=C(c1cccc(F)c1)N1C[C@H]2[C@H](CO[C@H]2c2ccccc2)[C@H](N2CCCC2)C1.c1ccccc1', 'c1ccc2cc(-c3cc(-c4c5ccccc5cc5ccccc45)c4ccccc4c3)ccc2c1.c1ccccc1', 'c1ccc2c(c1)ccc1c2cc(-c2nc3ccccc3[nH]2)c2c3ccccc3oc12.c1ccccc1', 'C1=CC(N(c2ccccc2)c2ccc(-c3ccc4c(c3)c3ccccc3n4-c3ccccc3)cc2)=CCC1.c1ccccc1', 'N#Cc1ccc(OCC2=Cc3ccccc3CO2)cc1.c1ccccc1', 'c1ccc2cc(-c3cc(-c4nc5ccccc5o4)nc(-c4nc5ccccc5s4)c3)ccc2c1.c1ccccc1', 'Oc1cc(O)c2c(c1)Oc1cc3ccccc3cc1C21c2ccccc2-c2nc(C3Oc4ccccc4O3)c3ccccc3c21.c1ccccc1', 'Cc1cccc(C2C3=CNN(c4ccccc4)C3=NC3=C2C(=O)CC(c2ccccc2)C3)c1.c1ccccc1', 'N#CCCCCCCCCn1ccnc1.c1ccccc1', 'O=C1N=C(O)C(N2CCc3ccccc3C2)N1c1cccc(F)c1.c1ccccc1', 'CCc1cc2ccccc2c2cccc(-c3cc4c(c5c3sc3c(-c6ccccc6)cccc35)NC3=NCCN34)c12.c1ccccc1', 'c1ccc2c(c1)ccc1[nH]c(-c3ccc(-n4c5ccccc5c5ccccc54)cc3)nc12.c1ccccc1', 'N=Nc1ccc(-c2nnn(CCNC(O)=NCCC[C@H](N)C(=O)O)n2)cc1.c1ccccc1', 'O=C(O)C1CCCCC1.c1cc(C2CCCCC2)n[nH]1.c1ccccc1']"
Inyrkz commented 7 months ago

Next, I'll test with ersilia on codespace before creating a PR.

GemmaTuron commented 7 months ago

so we are having 100 smiles per core as output?

Inyrkz commented 7 months ago

Yes, 100 is the maximum. Some cores may give less than 100 outputs, for example, some gave 96 and another gave 97.

Inyrkz commented 7 months ago

On codespace, I'm having null outputs. I want to investigate why.

πŸš€ Serving model eos2401: scaffold-decoration

   URL: http://127.0.0.1:40587
   PID: 7125
   SRV: conda

πŸ‘‰ To run model:
   - run

πŸ’ Information:
   - info
(base) root@codespaces-405a5a:/workspaces/ersilia# ersilia run -i "C1=C(SC(=N1)SC2=NN=C(S2)N)[N+](=O)[O-]"
{
    "input": {
        "key": "NQQBNZBOOHHVQP-UHFFFAOYSA-N",
        "input": "C1=C(SC(=N1)SC2=NN=C(S2)N)[N+](=O)[O-]",
        "text": "C1=C(SC(=N1)SC2=NN=C(S2)N)[N+](=O)[O-]"
    },
    "output": {
        "outcome": [
            null
        ]
    }
}
(base) root@codespaces-405a5a:/workspaces/ersilia# ersilia run -i "COC1=CC=C(C=C1)C(=O)CC(=O)C1=CC=C(C=C1)C(C)(C)C"
{
    "input": {
        "key": "XNEFYCZVKIDDMS-UHFFFAOYSA-N",
        "input": "COC1=CC=C(C=C1)C(=O)CC(=O)C1=CC=C(C=C1)C(C)(C)C",
        "text": "COC1=CC=C(C=C1)C(=O)CC(=O)C1=CC=C(C=C1)C(C)(C)C"
    },
    "output": {
        "outcome": [
            null
        ]
    }
}
(base) root@codespaces-405a5a:/workspaces/ersilia# ersilia run -i "[H][C@]12SC(C)(C)[C@@H](N1C(=O)[C@H]2NC(=O)[C@H](N)C1=CC=CC=C1)C(O)=O"
{
    "input": {
        "key": "AVKUERGKIZMTKX-NJBDSQKTSA-N",
        "input": "[H][C@]12SC(C)(C)[C@@H](N1C(=O)[C@H]2NC(=O)[C@H](N)C1=CC=CC=C1)C(O)=O",
        "text": "[H][C@]12SC(C)(C)[C@@H](N1C(=O)[C@H]2NC(=O)[C@H](N)C1=CC=CC=C1)C(O)=O"
    },
    "output": {
        "outcome": [
            null
        ]
    }
}
(base) root@codespaces-405a5a:/workspaces/ersilia# ersilia run -i "CC(C)(C)c1nc(c(s1)-c1ccnc(N)n1)-c1cccc(NS(=O)(=O)c2c(F)cccc2F)c1F"
{
    "input": {
        "key": "BFSMGDJOXZAERB-UHFFFAOYSA-N",
        "input": "CC(C)(C)c1nc(c(s1)-c1ccnc(N)n1)-c1cccc(NS(=O)(=O)c2c(F)cccc2F)c1F",
        "text": "CC(C)(C)c1nc(c(s1)-c1ccnc(N)n1)-c1cccc(NS(=O)(=O)c2c(F)cccc2F)c1F"
    },
    "output": {
        "outcome": [
            null
        ]
    }
}
Inyrkz commented 7 months ago

In the GitHub Action, I'm seeing this error.

Run source activate
Updating README file with AirTable metadata for model: eos2401
--2024-02-22 12:07:40--  https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/update_readme_from_airtable.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.[11](https://github.com/Inyrkz/eos2401/actions/runs/8003693907/job/21859534823#step:9:12)0.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 198 [text/plain]
Saving to: β€˜update_readme_from_airtable.py’

     0K                                                       100% 16.9M=0s

2024-02-22 [12](https://github.com/Inyrkz/eos2401/actions/runs/8003693907/job/21859534823#step:9:13):07:40 ([16](https://github.com/Inyrkz/eos2401/actions/runs/8003693907/job/21859534823#step:9:17).9 MB/s) - β€˜update_readme_from_airtable.py’ saved [[19](https://github.com/Inyrkz/eos2401/actions/runs/8003693907/job/21859534823#step:9:20)8/198]

12:07:41 | DEBUG    | Cannot read directly from README file. Using AirTable instead
Traceback (most recent call last):
  File "/home/runner/work/eos[24](https://github.com/Inyrkz/eos2401/actions/runs/8003693907/job/21859534823#step:9:25)01/eos2401/update_readme_from_airtable.py", line 8, in <module>
    rm.update()
  File "/usr/share/miniconda/lib/python3.10/site-packages/ersilia/publish/metadata.py", line 65, in update
    self.update_local()
  File "/usr/share/miniconda/lib/python3.10/site-packages/ersilia/publish/metadata.py", line 55, in update_local
    bi = rm.read_information()
  File "/usr/share/miniconda/lib/python3.10/site-packages/ersilia/hub/content/card.py", line 535, in read_information
    bi = am.read_information()
  File "/usr/share/miniconda/lib/python3.10/site-packages/ersilia/hub/content/card.py", line 504, in read_information
    bi.from_dict(data)
  File "/usr/share/miniconda/lib/python3.10/site-packages/ersilia/hub/content/card.py", line 393, in from_dict
    self.description = data["Description"]
KeyError: 'Description'
Error: Process completed with exit code 1.

I don't know what is wrong. I'll check if there is a log file.

miquelduranfrigola commented 7 months ago

Thanks @Inyrkz - please keep us posted. I am also not sure what's happening here since the AirTable credentials should be OK now. Perhaps printing the content of data would help?

GemmaTuron commented 7 months ago

mmmm @Inyrkz That is surprising... can you print the Data as Miquel suggests? Have you made sure that the metadata has the right format in json?

GemmaTuron commented 7 months ago

I've manually checked and I've seen that you have modified the Slug, which will cause Airtable to not find the record. I've manually modified the Airtable Slug to match the one in the metadata.json in your fork, so that should work now

Inyrkz commented 7 months ago

I've manually checked and I've seen that you have modified the Slug, which will cause Airtable to not find the record. I've manually modified the Airtable Slug to match the one in the metadata.json in your fork, so that should work now

@GemmaTuron @miquelduranfrigola I'm still having the same error.

To print the data, do I navigate to this file path File "/usr/share/miniconda/lib/python3.10/site-packages/ersilia/hub/content/card.py", line 393, in from_dict? I don't know where to find the file path to add the print statement.

Inyrkz commented 7 months ago

mmmm @Inyrkz That is surprising... can you print the Data as Miquel suggests? Have you made sure that the metadata has the right format in json?

This is the content of the metadata.json file

{
    "Identifier": "eos2401",
    "Slug": "scaffold-decoration",
    "Status": "In progress",
    "Title": "Scaffold Decoration",
    "Description": "The context discusses a novel notation system called Sequential Attachment-based Fragment Embedding (SAFE) that improves upon traditional molecular string representations like SMILES. SAFE reframes SMILES strings as an unordered sequence of interconnected fragment blocks while maintaining compatibility with existing SMILES parsers. This streamlines complex molecular design tasks by facilitating autoregressive generation under various constraints. The effectiveness of SAFE is demonstrated by training a GPT2-like model on a dataset of 1.1 billion SAFE representations that exhibited versatile and robust optimization performance for molecular design.",
    "Mode": "Pretrained",
    "Task": ["Generative"],
    "Input": ["Compound"],
    "Input Shape": "Single",
    "Output": ["Compound"],
    "Output Type": ["String"],
    "Output Shape": "List",
    "Interpretation": "Model generates new molecules from input molecule by replacing side chains of input molecule.",
    "Tag": ["Compound generation"],
    "Publication": "https://arxiv.org/pdf/2310.10773.pdf",
    "Source Code": "https://github.com/datamol-io/safe/tree/main",
    "License": "CC"
}
GemmaTuron commented 7 months ago

That is very annoying and must be related to what is in airtable vs what we are trying to push. Hm a bit difficult to debug locally. @miquelduranfrigola @DhanshreeA ideas? The record in Airtable looks good to me

HellenNamulinda commented 7 months ago

@Ini both your scarfold models( this and scaffold-morphing) are giving null in ersilia because you forgot to change the output in service.py from float to string. The output type is string. And that has to be reflected in the service.py file, otherwise, the strings(smiles strings) will be converted to float hence returning null.

Also, the github action for Model Test on push you are triggering on your fork will always fail. This is automatically trigered when you make a PR to the main ersilia repo.

If you want to test on your you fork, @emmakodes created some files for testing from your fork. An here, the actions will only be triggered if you commit those with a message local test.

For now, update the output type in service.py and test again in code spaces.

miquelduranfrigola commented 7 months ago

Thanks @HellenNamulinda for this - let's hope it works.

(Note for @DhanshreeA - when we develop the new template, we should definitely get rid of the need for specifying float/string etc. This is now part of the metadata and is therefore redundant. Agree?)

Inyrkz commented 7 months ago

Thank you very much @HellenNamulinda.

I'll adjust the servive.py files

GemmaTuron commented 7 months ago

Hey goooood catch @HellenNamulinda !

Inyrkz commented 7 months ago

The ersilia test works now.

πŸš€ Serving model eos2401: scaffold-decoration

   URL: http://127.0.0.1:49691
   PID: 3724
   SRV: conda

πŸ‘‰ To run model:
   - run

πŸ’ Information:
   - info
(base) root@codespaces-e006d5:/workspaces/ersilia# ersilia api run -i "C1=C(SC(=N1)SC2=NN=C(S2)N)[N+](=O)[O-]"
{
    "input": {
        "key": "NQQBNZBOOHHVQP-UHFFFAOYSA-N",
        "input": "C1=C(SC(=N1)SC2=NN=C(S2)N)[N+](=O)[O-]",
        "text": "C1=C(SC(=N1)SC2=NN=C(S2)N)[N+](=O)[O-]"
    },
    "output": {
        "outcome": [
            "['O[C@H]1CNC[C@H]1NCc1nccs1', 'O=S(=O)(CCCCCCN1CCCCC1)NCCc1nccs1', 'NCCCN(Cc1nccs1)C(=O)c1cncc(Br)c1', 'C1=C(c2nccs2)CCCO1', 'c1csc(CCNCC2CCCCO2)n1', 'FC(F)(F)CSCCNC(=S)NCCc1nccs1', 'c1csc(CCNCc2nn[nH]n2)n1', 'c1csc(CN(CC[NH+]2CCOCC2)C[C@H]2CCCO2)n1', 'Clc1cc(Cl)cc(NCc2nccs2)c1', 'Clc1cc(C2CC2)c(-c2nccs2)nn1', 'Brc1c[nH]c(=NCc2nccs2)cn1', 'O=C(Cl)Cc1nccs1', 'c1cnn(CCc2nccs2)c1', 'c1csc(Cc2nn[nH]n2)n1', 'Brc1c[nH]c(=NCc2nccs2)c(Br)c1', 'OC(=Nc1cccnc1N1CCOCC1)N1CCCC1c1nccs1', 'c1csc([C@H]2NCCS2)n1', 'c1csc(CCCCCNCC2CCCCC2)n1', 'c1csc(CCNC2CCSCC2)n1', 'c1csc(CN=c2nc[nH]s2)n1', 'c1cc(-c2n[nH]cc2-c2nccs2)ccn1', 'O=C(COCC(F)(F)F)NC[C@H](O)c1nccs1', 'c1csc(C2(CC3CCCC3)CC2)n1', 'c1csc(N[C@H]2CCCO[C@@H]2c2nccs2)n1', 'O=S(=O)(c1ccc(Br)s1)N1CCCCC1c1nccs1', 'OCC#Cc1nccs1', 'c1csc(CCN[C@@H]2CCOC[C@H]2N2CCCC2)n1', 'FCCc1nccs1', 'Clc1c[nH]nc1-c1nccs1', 'ClN[C@H]1CCO[C@H](c2nccs2)C1', 'c1csc(-c2ccon2)n1', 'O=C(NN1CCOC1=S)c1nccs1', 'c1csc(-c2nn[nH]n2)n1', 'c1csc([C@@H]2CCC[C@@H]2NC[C@H]2CCCO2)n1', 'O=C(O)c1ccc(-c2nccs2)nn1', 'c1csc(CNCCN2CCOCC2)n1', 'FC(F)(F)CCCc1nnc(-c2nccs2)o1', 'C1=C[N]C(c2nccs2)=C1', 'FC(F)COC1CN(Cc2nccs2)C1', 'O=C(N=c1sccn1Cc1ccncc1)c1nccs1', 'Sc1nnc(-c2nccs2)nn1', 'c1csc(C2CCCCCN2)n1', 'c1csc(CCNC2CCSC2)n1', 'c1cc(C(c2nccs2)c2cnccc2N=C2CCCNN2)ccn1', 'c1csc(CNCc2cc[nH]n2)n1', 'c1csc(C2=NCCN2)n1', 'OC(Cc1nccs1)=Nc1cc(C(F)(F)F)ccc1Cl', 'SC(=NC1CC1)N1CCCC1c1nccs1', 'ClCCc1n[nH]c(=NCc2nccs2)o1', 'O=C(c1nccs1)N(CCCO)CC(F)(F)F', 'c1c[nH]c(-c2nccs2)n1', 'c1csc(C2CCCO2)n1', 'OCCCCCN1CCN(Cc2nccs2)CC1', 'Fc1ccc(NCc2nccs2)c(Br)c1', 'OC[C@H](O)[C@@H](O)c1nccs1', 'c1csc(CNCCN2CCOCC2)n1', 'c1csc(-c2cnns2)n1', 'FC(F)C1CCC(NN2CCCC2c2nccs2)CC1', 'BrP(Br)CC1CCCN1c1nccs1', 'O[C@H]1CCC[C@@H]1c1nccs1', 'c1csc(CCCN2CCCO2)n1', 'O=S(=O)(F)c1ccc(-n2nnnc2CSc2nccs2)cc1', 'Fc1cnc(Cl)[nH]c1=NCCc1nccs1', 'O=NC(=S=O)c1nccs1', 'OCCCCCNCC1(CN2CCCC2c2nccs2)CCCCC1', 'c1csc(C2CCCCCN2)n1', 'O=C(CC1CCCC1)OCc1nccs1', 'FC(F)(F)N/N=C\\\\c1nccs1', 'c1csc([C@@H]2CCCN2)n1', 'c1csc(CNCc2cnsn2)n1', 'c1csc(CCn2nnnc2SC[C@H]2CCCCO2)n1', 'O=S(=O)(CCc1cccs1)N1CCC1c1nccs1', 'Clc1ccc(SCc2nccs2)cc1', 'c1csc(C2CCCN2CCN2CCNCC2)n1', 'I/N=C\\\\c1nccs1', 'c1csc(CCNC2CCSCC2)n1', 'c1csc(C2CCC2)n1', 'c1csc(CCNCCSC2CCCCC2)n1', 'O=C(CSc1nccs1)N(CC(F)(F)F)CC(F)(F)F', 'Br/C=C/c1nccs1', 'ClSc1nccs1', 'c1csc(-c2nnns2)n1', 'OC(=Nc1cc(F)c(F)cc1Cl)c1nccs1', 'FC(F)(F)CCCCNCc1nccs1', 'FC(F)(F)CCCNCc1nccs1', 'O=S(=O)(NCc1nccs1)c1cc[nH]n1', 'FCCCCCCc1nc(-c2nccs2)no1', 'O=S(=O)(NCCc1nccs1)c1cccc(Br)c1', 'NC(O)Cc1nccs1', 'O=S(=O)(NCc1nccs1)c1cncc(Br)c1', 'NC(N)=[NH+]Cc1nccs1', 'P#[PH]CCC1(c2nccs2)NCCN1', 'Cl[C@@H](c1ccsc1)c1nccs1', 'C1=N[C@H](c2nccs2)N=N1', 'OCCCCCCCCCCCCCCCCCCCCc1coc(-c2nccs2)n1', 'OC(=Nc1nccs1)c1nccs1', 'OC=NCCCCCCNCCCCc1nncs1', 'O=C([O-])CCc1nncs1.[Li+]', 'O=C(Cc1nncs1)NO', 'OCCCc1nncs1', 'FC(F)(F)CCSc1nncs1', 'OCc1nncs1', 'FC(F)(F)CCNCCSc1nncs1', 'SNC(=NNCc1nncs1)NS', 'SCCCCCCCCCCCc1nncs1', 'O=[N+]([O-])c1nncs1', 'PNCCCCCCCCCCCSCCCCCCCCCNCCCSc1nncs1', 'O=C(CCl)c1nncs1', 'OCCCCCCCCc1nncs1', 'ClCCCCCCSc1nncs1', 'PNc1nncs1', 'SCCCCNC(S)=NCCCc1nncs1', 'OCNc1nncs1', 'OC[C@H](O)C=Nc1nncs1', 'O/N=C(/c1nncs1)C(Cl)(Cl)C(F)(F)Cl', 'BrCCCCCCSc1nncs1', 'O=S(=O)(CCCCl)c1nncs1', 'N#CCCOCC#CCCCCCCCCCCCCCCCCCCCCCCCCC[S+]([O-])CCCc1nncs1', 'FC(F)(F)OCCSc1nncs1', 'ClCCNCc1nncs1', 'BrCCCCCCCSc1nncs1', 'c1nnc(CN=c2[nH]ncs2)s1', 'FC(F)(F)C(OCc1nncs1)C(F)(F)F', 'O=C([O-])/C=C/OCCSc1nncs1', 'O=C(COC(F)(F)F)NCCCCc1nncs1', 'c1nnc(CONC[C@H]2CCCO2)s1', 'ClC=CCc1nncs1', 'O=[SH](=NS(=O)(=O)CCCC[S+]([O-])c1nncs1)C(F)(F)F', 'Cl/C=C(\\\\Cl)CO/N=C/CSCc1nncs1', 'FC(F)(F)CSc1nncs1', 'FC(F)(F)CCCc1nncs1', 'O=C([O-])CC=NC(=S)NCCCc1nncs1', 'F[B-](F)(F)Oc1nncs1', 'FC(F)(F)COCCSc1nncs1', 'OCCCCCN=C(O)CCCc1nncs1', 'OC=NOCc1nncs1', 'O=C([O-])[C@H]([C@H](O)c1nncs1)C(F)(F)F', 'FC(F)(F)CNCCNc1nncs1', 'ClCCCSc1nncs1', 'OCc1nncs1', 'O=S([O-])c1nncs1', 'ClCCCCc1nncs1', 'O=C([O-])[C@@H](Br)c1nncs1', 'O=C(Cl)Cc1nncs1', 'Br/C=C\\\\c1nncs1', 'c1nnc(CN=c2[nH]ncs2)s1', 'O=NCc1nncs1', 'ClN(Cl)CCc1nncs1', 'SC(=NCc1nncs1)C(Cl)(Cl)Cl', 'FC(F)COCc1nncs1', 'ClCCCCCCCCCSc1nncs1', 'OCCCCCCSc1nncs1', 'FC(F)(F)C(F)(F)CCSc1nncs1', 'O=C(CC#Cc1nncs1)CCC(F)(F)F', 'NOCc1nncs1.O=C(O)O', 'O[C@@H](c1nncs1)C(F)(F)F', 'INCc1nncs1', 'SCCCSc1nncs1', '[O-]NC=N[S+]([O-])c1nncs1', 'ClCCCCCCc1nncs1', 'O=P(O)(O)CCCCCCCCCCCCCCCCCCCc1nncs1', 'N#CC[C@H](C#N)c1nncs1', 'ClS(Cl)(Cl)(Cl)=NCc1nncs1', 'OC(CBr)=NCc1nncs1', 'OC(CCc1nncs1)C(F)(F)F', 'ClC(Cl)(Cl)CCSc1nncs1', 'FCCCCc1nncs1', 'O=CCCCCCc1nncs1', 'OC=NNc1nncs1', 'SCCCCSc1nncs1', 'OCCSSCCSSc1nncs1', 'NNC(=P)Nc1nncs1', 'NC(N)=NCCSc1nncs1', '[O-]C(=Nc1nncs1)C(F)(F)F', 'OCCCCc1nncs1', 'N[C@@H](c1nncs1)C(F)(F)F', 'S=Cc1nncs1', 'NC(N)=[NH+]CSc1nncs1', 'ClCCCCCSc1nncs1', 'S=CNc1nncs1', 'OCCCSCCCSc1nncs1', 'FC(F)(F)C(F)(F)CCCCc1nncs1', 'FC(F)(F)C(F)(F)CCSc1nncs1', 'OC[C@H](O)[C@@H](O)[C@@H](O)[C@H](O)c1nncs1', 'S=NCc1nncs1', 'O=C(NCCCOC(F)F)NCc1nncs1', 'c1nnc(CN=c2[nH]ncs2)s1', 'ClCCCCCc1nncs1', 'SCc1nncs1', 'SNc1nncs1', 'O=S(=O)(CCC(F)(F)F)Cc1nncs1', 'SCCCCCSc1nncs1', 'O=C(O)/C=C/N/C=C/C=NCc1nncs1', 'Cl/C=C/c1nncs1']"
        ]
    }
}
(base) root@codespaces-e006d5:/workspaces/ersilia# 

Thanks again for your help, @HellenNamulinda.

GemmaTuron commented 7 months ago

Let's open a PR then @Inyrkz

Thansk for the help @HellenNamulinda :)

Inyrkz commented 7 months ago

@GemmaTuron, pull request created

DhanshreeA commented 6 months ago

@GemmaTuron @Inyrkz okay to close this now?

GemmaTuron commented 6 months ago

yes thanks!