The Open Source combinatorial chemistry program SmiLib does use exactly the same approach as described by Rajarshi. Sources are available from:
http://gecco.org.chemie.uni-frankfurt.de/smilib/index.html It actually is very efficient as only String manipulation operations are performed and no molecule objects are created for compounds. We archived rates of approximately 9,000,000 molecules per minute on fast computers. Best wishes, Andreas Rajarshi Guha wrote: > I've CC'd to the cdk-user list since this is an interesting problem > > On Nov 16, 2007, at 11:15 AM, aziz yasri wrote: > >> Example: >> >> >> Reacts1 >> = ["CCCN", "COCN","c1ccccc1N","C(O)CCN"] >> # list of amines smiles >> >> >> Reacts2 >> = ["CCC(=O)Cl","CNC(=O)Cl ","CC(CC)(=O)Cl "] # >> list of acyl chlorides smiles >> >> Reaction >> = "*CN.*C(=O)Cl>>*CNC(=O)*" # the reaction in smirks code, amide >> formation. > > > I want to perform the reaction using the reactants list and then > get the products in smiles > > string format. > > The CDK does not have SMIRKS supports, so you can't do this > automatically. > > However this is actually quite easy to do with a bit of string (and > SMARTS) manipulation. > > The basic idea is to take each reagent and replace the reacting group > with a ring closure symbol. > > So your amines would become: CC%91, CO%91 etc > and your acyl chlorides would be: CC%90, CN%90 etc > > Now, you product can be written as > > RC(=O)NCR (generally the two R's will be different) > > Thus if you rewrite the backbone with ring closure symbols > > C%90(=O)NC%91 > > and then catenate each pair of reagents as > > C%90(=O)NC%91.CC%90.CC%91 > C%90(=O)NC%91.CO%90.CC%91 > > etc, you will get your combinatorial library. Any proper SMILES > parser will process these cases and can generate a 'clean' SMILES if > you want > > So after generating the fragment SMILES, it is simply a matter of > string concatenation. > > This is the method used in http://www.chembiogrid.org/cheminfo/ > combilib/vl and the java code that generates the reagent fragments > can be found getFragmentWithClosure() at > > http://cicc-grid.svn.sourceforge.net/viewvc/cicc-grid/cicc-grid/cdkws/ > trunk/src/net/sf/ciccgrid/cdkws/Utility.java?revision=341&view=markup > > Certainly not as efficient or elegant as SMIRKS, MQL etc, but gets > the job done > > ------------------------------------------------------------------- > Rajarshi Guha <[EMAIL PROTECTED]> > GPG Fingerprint: 0CCA 8EE2 2EEB 25E2 AB04 06F7 1BB9 E634 9B87 56EE > ------------------------------------------------------------------- > > If you believe in telekinesis, raise my hand. > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Cdk-user mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/cdk-user > -- Andreas Schüller PhD student in the research group of Prof. Dr. Gisbert Schneider Johann Wolfgang Goethe University Beilstein-endowed Chair for Chemoinformatics Building B - 3rd floor Siesmayerstr. 70 60323 Frankfurt am Main Germany Tel.: +49 69 798 24879 Fax: +49 69 798 24880 http://www.modlab.de/ ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Cdk-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cdk-user

