Ah, ok, that's what I suspected you were doing.
You probably want to construct the input reaction (not the categorization
filter) from SMILES:

In [18]: rxn =
rdChemReactions.ReactionFromSmarts('Nc1nc(Cl)c2[nH]cnc2n1.OCC1CCCCC1>>Nc1nc(OCC2CCCCC2)c2[nH]cnc2n1',useSmiles=True)

And you definitely want to sanitize (or at least call UpdatePropertyCache()
on) each reactant and product:

In [19]: for r in rxn.GetReactants(): Chem.SanitizeMol(r)

In [20]: for p in rxn.GetProducts(): Chem.SanitizeMol(p)


Now there's no error:

In [21]: rdChemReactions.HasReactionSubstructMatch(rxn,qrxn)
Out[21]: False

Best,
-greg


On Wed, Nov 9, 2016 at 10:27 AM, James Wallace <[email protected]> wrote:

> I think something went missing in my log, the next step after Input 6
> should be rdChemReactions.HasReactionSubstructMatch(rxn,qrxn)
>
> And I'm trying to do substructure queries between the reactions as a
> whole, rather than each individual molecule, effectively using the query
> reaction as a filter.
>
> On 9 November 2016 at 09:24, Greg Landrum <[email protected]> wrote:
>
>> Hi James,
>>
>> Sorry for the slow reply, this one got lost in the rush around the UGM.
>> I'm not able to reproduce the error you show below with the commands you
>> sent. Did you do something else in between or is that the error really
>> coming after input [6]?
>>
>> As for the larger question: are you looking to do a substructure query
>> between each reactant/product of rxn and each reactant/product of qrxn?
>>
>> -greg
>>
>> On Thu, Oct 27, 2016 at 2:17 PM, James Wallace <[email protected]>
>> wrote:
>>
>>> Looking into this further, I've decided to use the Python option again,
>>> as this seems to have more functions.
>>>
>>> I run the current example, where rxn is the original example, and qrxn
>>> is the 'query' for categorisation:
>>>
>>> In [2]: import rdkit
>>>
>>> In [3]: from rdkit import Chem
>>>
>>> In [4]: from rdkit.Chem import rdChemReactions
>>>
>>> In [5]: rxn = rdChemReactions.ReactionFromSm
>>> arts('Nc1nc(Cl)c2[nH]cnc2n1.OCC1CCC
>>>    ...: CC1>>Nc1nc(OCC2CCCCC2)c2[nH]cnc2n1')
>>>
>>> In [6]: qrxn = rdChemReactions.ReactionFromSm
>>> arts('[cH1:1]1:[c:2](-[CH2:7]-[CH2
>>>    ...: :8]-[NH2:9]):[c:3]:[c:4]:[c:5]:[c:6]:1.[#6:11]-[CH1;R0:10]=[
>>> OD1]>>[c:1]
>>>    ...: 12:[c:2](-[CH2:7]-[CH2:8]-[NH1:9]-[C:10]-2(-[#6:11])):[c:3]:
>>> [c:4]:[c:5]
>>>    ...: :[c:6]:1')
>>>
>>> ****
>>> Pre-condition Violation
>>> getNumImplicitHs() called without preceding call to calcImplicitValence()
>>> Violation occurred on line 165 in file C:\Users\riccardo\Anaconda\con
>>> da-bld\work
>>> \Code\GraphMol\Atom.cpp
>>> Failed Expression: d_implicitValence > -1
>>> ****
>>>
>>> ------------------------------------------------------------
>>> ---------------
>>> RuntimeError                              Traceback (most recent call
>>> last)
>>> <ipython-input-8-98ff5fdf90be> in <module>()
>>> ----> 1 rdChemReactions.HasReactionSubstructMatch(rxn,qrxn)
>>>
>>> RuntimeError: Pre-condition Violation
>>>         getNumImplicitHs() called without preceding call to
>>> calcImplicitValence(
>>> )
>>>         Violation occurred on line 165 in file Code\GraphMol\Atom.cpp
>>>         Failed Expression: d_implicitValence > -1
>>>         RDKIT: 2016.03.1
>>>         BOOST: 1_59
>>>
>>>
>>> Is the code working as designed (ultimately I want to feed lists of
>>> these together, but I'm trying one at a time for now)?
>>>
>>>
>>> On 27 October 2016 at 12:02, James Wallace <[email protected]> wrote:
>>>
>>>> Hi,
>>>> I'm trying to replicate the Schneider categorisations with a local set
>>>> of reactions that I have stored in SMILES. I currently have the
>>>> categorisation filters as Reaction SMARTS, and I was hoping to do a
>>>> standard substructure comparison between the SMARTS and the SMILES, but
>>>> can't seem to do that.
>>>>
>>>> I'm using the Java wrapped version, and I can see how to import a
>>>> ChemicalReaction as SMILES or SMARTS, I can't see how to compose such a
>>>> query. Can anyone offer me any help or pointers?
>>>>
>>>> Thanks in advance,
>>>> James
>>>>
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> The Command Line: Reinvented for Modern Developers
>>> Did the resurgence of CLI tooling catch you by surprise?
>>> Reconnect with the command line and become more productive.
>>> Learn the new .NET and ASP.NET CLI. Get your free copy!
>>> http://sdm.link/telerik
>>> _______________________________________________
>>> Rdkit-discuss mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>>
>>>
>>
>
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to