Thanks for the clarification.

On 02/01/2018 12:43 AM, Noel O'Boyle wrote:
Actually, I think that this particular is most easily solved as Chris has suggested, using regular ring closure digits. The deferred ring closures (&) are currently not accepted by OB, and I guess aren't really needed in any case. We should get them working though. They are a feature of SMILES that is not very well documented.

We have support for RXN, but the question is not about representing reactions but generating molecules.

You are right, I was not clear on the matter.
The RXN file format is supported, but not the information contained in it: in other words, you can't use a RXN file to instruct an OB class (OBChemTsfm?) to perform a chemical reaction.

With that in place, I found that it would be extremely easy to generate large virtual libraries in this way: - tag fragment breaking points/attachments with unusual elements, i.e., W, Re, Os, Ir, etc. I use each element to tag different kinds of fragments, so W can be aromatic rings, Re heterocycles, Os aliphatic chains, etc.

  - sketch a RXN file with a simple reaction such as: frag1-W + frag2-Re -> 
frag1-frag2

In both Indigo and RDKit, loading and performing the reaction can be done in a few lines of Python, and for me it did the trick.


I have just written up a proposal to change how we handle reactions in Open Babel. If/when this is in place, it would be worth revisiting support for reaction transformations. In the meanwhile, if you are aware of any problems with OBChemTsfm, we'd appreciate if you could file an issue.

I already discussed the issues in the mailing list a while back (2014, maybe?), but you suggested that without atom-mapping of reactions, OBChemTsfm does not work reliably.

If it can be helpful to get an idea about the issue, my example was the 
following:

import pybel
ob = pybel.ob
start = '[O:1]=[C:2]-[C:3]=[C:4]'
end = '[O:1]=[C:2]-[C:3]-[C:4]-[S:5][C:6]'
transformer = ob.OBChemTsfm()
transformer.Init(start, end)
org =  'C=CC(=O)Nc1ccccc1'
mol = pybel.readstring('can', org)
transformer.Apply(mol.OBMol)
print "Original :", org
print "Modified :", mol.write('can')

Essentially, adding atoms to a molecule with OBChemTsfm is not possible. I've tried adding one atom at the time exploiting explicit hydrogens in the reaction, but that doesn't work either.

I believe that mapping reactions would be possible once there would be some support for identifying MCSS, and I tried tackling the problem, back then. Although, the effort was beyond my time budget, so I had to give up (and use other toolkits, alas).


S


p.s. apologies for the repeated emails on the subject, but our spam filter was making a mess and I couldn't see my own posts to the list


Regards,
- Noel


On 1 February 2018 at 00:16, Stefano Forli <fo...@scripps.edu <mailto:fo...@scripps.edu>> wrote:

    My experience with simulating reactions with OpenBabel was mostly 
unsuccessful.
    I've tried using OBChemTsfm to atoms, but I couldn't have it to work even 
by adding
    one atom at the time.

    The most straightforward way to deal with a library enumeration would be to 
have
    support for the RXN format, which can be used to describe any arbitrary 
reaction. For
    that, I've found pretty easy to work with Indigo and RDKit.

    On the other hand, I'm not familiar with the "&" notation Noel is referring 
to.
    If there's some documentation on the matter, please let me know!

    Thanks,

    S

    On 01/30/2018 11:59 AM, Nicolas Cheron wrote:

        Please allow me to do shameless self-promotion. I have developped an 
open-source
        program (using OpenBabel) that aims at creating de novo ligands by 
directly
        growing them in the active site of a target protein. You can also use 
it without
        the protein (I have called it FOG2) : you can define a core molecule 
(so-called
        seed), choose from which atom you will grow new molecules, and the 
program will
        create new molecules by adding fragments to the seed in a "rational" 
way. If you
        want more details, let me know, I can explain it.

        The links: http://pubs.acs.org/doi/10.1021/acs.jmedchem.5b00886
        <http://pubs.acs.org/doi/10.1021/acs.jmedchem.5b00886>,
        https://sourceforge.net/projects/opengrowth/
        <https://sourceforge.net/projects/opengrowth/>

        Nicolas



        2018-01-30 20:53 GMT+01:00 Chris Swain <sw...@mac.com 
<mailto:sw...@mac.com>
        <mailto:sw...@mac.com <mailto:sw...@mac.com>>>:

             Hi,

             It depends on the transformations you want to undertake. I did a 
very quick
        library
             build about 20 years ago using SMILES strings. Just have dummy 
atoms with unique
             letters where you want to add functional groups then just do a 
text find and
        replace
             with the desired SMILES of the building block you want to add 
(which can of
        course
             contain dummy atoms). Then run through OpenBabel to generate 
canonical SMILES. I
             generated a 10 million molecule library doing this.

             Cheers,

             Chris

                 On 30 Jan 2018, at 19:45, 
openbabel-discuss-requ...@lists.sourceforge.net
            <mailto:openbabel-discuss-requ...@lists.sourceforge.net>
                 <mailto:openbabel-discuss-requ...@lists.sourceforge.net
            <mailto:openbabel-discuss-requ...@lists.sourceforge.net>> wrote:

                 Message: 1
                 Date: Tue, 30 Jan 2018 15:25:38 +0000 (UTC)
                 From: Siavoush Dastmalchi <siavous...@yahoo.com
            <mailto:siavous...@yahoo.com> <mailto:siavous...@yahoo.com
            <mailto:siavous...@yahoo.com>>>
                 To: "openbabel-disc...@lists.sf.net
            <mailto:openbabel-disc...@lists.sf.net> 
<mailto:openbabel-disc...@lists.sf.net
            <mailto:openbabel-disc...@lists.sf.net>>"
                 <openbabel-disc...@lists.sf.net 
<mailto:openbabel-disc...@lists.sf.net>
            <mailto:openbabel-disc...@lists.sf.net 
<mailto:openbabel-disc...@lists.sf.net>>>
                 Subject: [Open Babel] using Open Babel for virtual library 
generation
                 Message-ID: <1885905137.1937075.1517325938...@mail.yahoo.com
            <mailto:1885905137.1937075.1517325938...@mail.yahoo.com>
                 <mailto:1885905137.1937075.1517325938...@mail.yahoo.com
            <mailto:1885905137.1937075.1517325938...@mail.yahoo.com>>>
                 Content-Type: text/plain; charset="utf-8"

                 Dear List,
                 I was wondering if it is possible to use OB for virtual library
            generation. For
                 example adding building blocks in a file to different sites of 
a core
            structure in a
                 combinatorial manner.
                 Many thanks in advance for you help.
                 Cheers,Siavoush
                 -------------- next part --------------
                 An HTML attachment was scrubbed...



             
------------------------------------------------------------------------------
             Check out the vibrant tech community on one of the world's most
             engaging tech sites, Slashdot.org! http://sdm.link/slashdot
             _______________________________________________
             OpenBabel-discuss mailing list
        OpenBabel-discuss@lists.sourceforge.net
        <mailto:OpenBabel-discuss@lists.sourceforge.net>
        <mailto:OpenBabel-discuss@lists.sourceforge.net
        <mailto:OpenBabel-discuss@lists.sourceforge.net>>
        https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
        <https://lists.sourceforge.net/lists/listinfo/openbabel-discuss>
             <https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
        <https://lists.sourceforge.net/lists/listinfo/openbabel-discuss>>




        
------------------------------------------------------------------------------
        Check out the vibrant tech community on one of the world's most
        engaging tech sites, Slashdot.org! http://sdm.link/slashdot



        _______________________________________________
        OpenBabel-discuss mailing list
        OpenBabel-discuss@lists.sourceforge.net
        <mailto:OpenBabel-discuss@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
        <https://lists.sourceforge.net/lists/listinfo/openbabel-discuss>


--
      Stefano Forli, PhD

      Assistant Professor
      Dept. of Integrative Structural
      and Computational Biology, MB-112A
      The Scripps Research Institute
      10550  North Torrey Pines Road
      La Jolla,  CA 92037-1000,  USA.

         tel: +1 (858)784-2055
         fax: +1 (858)784-2860
         email: fo...@scripps.edu <mailto:fo...@scripps.edu>
    http://www.scripps.edu/~forli/


    
------------------------------------------------------------------------------
    Check out the vibrant tech community on one of the world's most
    engaging tech sites, Slashdot.org! http://sdm.link/slashdot
    _______________________________________________
    OpenBabel-discuss mailing list
    OpenBabel-discuss@lists.sourceforge.net 
<mailto:OpenBabel-discuss@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
    <https://lists.sourceforge.net/lists/listinfo/openbabel-discuss>



--

 Stefano Forli, PhD

 Assistant Professor
 Dept. of Integrative Structural
 and Computational Biology, MB-112A
 The Scripps Research Institute
 10550  North Torrey Pines Road
 La Jolla,  CA 92037-1000,  USA.

    tel: +1 (858)784-2055
    fax: +1 (858)784-2860
    email: fo...@scripps.edu
    http://www.scripps.edu/~forli/


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to