Igor

OpenBabel supports formats like, CMLreact, RXN Reaction SMILES, ChemKin, 
which specify reactions. The internal structure is OBReaction which for 
reaction formats is handled in the conversion routines like OBMol is for 
molecule formats. Reading a file containing
c1ccccc1>>Nc1ccccc1
with rmsi format will make an OBReaction. OBReaction is fairly simple 
and is really just a container to hold shared_ptrs to the molecules 
which are the reactants, products, etc. OB doesn't have much for 
constructing or modifying reactions.

I've written a version of chemdrawCDX.cpp which reads reactions as well 
as molecules. The code contains the construction of an OBReaction and 
its transfer to OB's conversion system. The email describing it that I 
sent to Abe Heifets (who may be who Geoff is referring to) is below. The 
files are at:
http://gaseq.co.uk/OB/benzene-to-aniline-reaction.cdx
http://gaseq.co.uk/OB/chemdrawcdx.h
http://gaseq.co.uk/OB/chemdrawcdx.cpp

This is stalled at the moment because of the need to add code to parse a 
geometric layout and derive which molecules are reactants, products, 
etc. I guess this is what you are doing, so I would be interested if you 
have a method already.

Chris




Abe
You might be interested in this OpenBabel format for reading CDX files. 
It reads reactions as well as molecules, but only if they are single 
reactions and completely described. The attached example works but most 
of the examples from patents you sent me don't. The code needs some 
extra heuristics to find incompletely described reactions, but I haven't 
yet managed to write it in the past six months.

The format generates OBReaction objects when it can, which can be output 
by rsmi, rxn, etc. Excess molecules are output as OBMol objects as 
normal. The option -am generates only molecules. Actually most molecule 
output formats will output the reactants and products if given an 
OBReaction.

The parsing is separated from the interpretation to a greater extent 
than before, which should make it easier to do an XML version.

It is also possible (-ad) to output the CDX tree, in a similar way to 
CDXHexDumper, except that it contains human-readable names.

The attached file should replace the existing one, and I hope will 
compile ok. A copy of chemdrawcdx.h should be put in the /data directory 
so it can be parsed for the names.



On 18/07/2011 16:33, Geoffrey Hutchison wrote:
> Dear Igor,
>
> Open Babel supports CML (react) and MDL Rxn formats for reactions. I'm not 
> sure if there's great support for polymers, but that would definitely be a 
> nice addition. I know someone who's working on ChemDraw reaction support as 
> well.
>
> Chris Morley should have an example of a reaction file example -- I'm not 
> seeing anything at the moment in the OBReaction documentation. If Chris 
> doesn't respond today, I'll dig around tomorrow.
>
> Thanks and best regards,
> -Geoff
>
> On Jul 18, 2011, at 11:25 AM, Igor Filippov [Contr] wrote:
>
>> Dear Geoff,
>>
>> Re: reaction recognition in OSRA -
>> Is there any format or formats which OpenBabel can write that have
>> support for reactions and/or polymers (brackets)? It doesn't have to be
>> the same format for both.
>> How would I go about creating a reaction file or a polymer in C++?
>>
>> Igor
>>



------------------------------------------------------------------------------
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to