Re: [Cdk-user] SMARTSQueryTool aromaticity

2018-08-27 Thread John Mayfield
This is because you are using the CDK aromaticity model whilst in this case
the Daylight model is the correct one. It's "correct" because Daylight
created SMARTS so anything to do with SMARTS should preferably be using
this model. If all toolkits did this, SMARTS patterns (and SMIRKS
transforms) would be a lot more portable. Daylight says this molecule
*is* aromatic
(see screenshot).

The *SMARTSQueryTool* is unofficially deprecated, the newer class is
SmartsPattern

and
it uses the Daylight model. You may also find the *SmartsFragmentExtractor
*
useful, writing good SMARTS is some what of an art form, this class helps.
If you want to match patterns with a different aromaticity model you need
to use the base *Pattern* class and provide it a query molecule.

John

[image: image.png]

On Fri, 24 Aug 2018 at 06:18, Iris E.  wrote:

>
>
>
> Hey,
>
> I am currentyl working on a project using CDK, where I want to generate
> aromatic fragment SMARTS from an initial molecule.
> In further course of the project I want to relocate these fragments in
> their inital molecules.
>
> For the fragment SMARTS generation I aromatize the inital molecules using
> the Aromaticity class:
> Aromaticity aromaticity = new Aromaticity(ElectronDonation.cdk(),
> Cycles.all())
>
> For the relocation I use the SMARTSQueryTool class:
> SMARTSQueryTool sqt = new SMARTSQueryTool(fragmentSmarts,
> DefaultChemObjectBuilder.getInstance());
> System.out.println(sqt.matches(molecule));
>
> By doing this, I discovered the following problem.
>
> Example:
> * inital molecules SMILES: CCNC1=NC(=O)N=C(NC(C)(C)C)N1
> * fragment SMARTS: C(=NC=O)N, CCNC=N
>
> When I am aromatizing the molecule as described above, I get a
> non-aromatic ring within the molecule, what is reflected by the found
> fragments.
> When I try to find the the fragment CCNC=N in the inital molecule via the
> SMARTSQueryTool, the method returns false for not finding it.
> If I change the the fragment SMARTS to CCNcn, the method returns true.
>
> I reproduced this problem by using this online tool, too:
> http://www.simolecule.com/cdkdepict/depict.html
>
> This leads me to the question, if the
> SMARTSQueryTool internally aromatizes the molecule. The Aromaticity class
> seems to aromatize the molecule correct by flagging the ring as
> non-aromatic, because this molecule is not an aromatic compound. The ring
> features a SP2-
> hybridised double bond charateristic, but the molecule is not planar and
> its electrons are not delocalized. On request, I can provide further
> examples.
>
> Now i am wondering why the
> SMARTSQueryTool is make an own aromaticity on the molecule and under
> which conditions?
>
> I hope you can help me with this issue.
>
>
> Kind regards
> ,
>
>
> Iris
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Cdk-user mailing list
> Cdk-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/cdk-user
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user


[Cdk-user] SMARTSQueryTool aromaticity

2018-08-23 Thread Iris E.
Hey,

I am currentyl working on a project using CDK, where I want to generate
aromatic fragment SMARTS from an initial molecule.
In further course of the project I want to relocate these fragments in
their inital molecules.

For the fragment SMARTS generation I aromatize the inital molecules using
the Aromaticity class:
Aromaticity aromaticity = new Aromaticity(ElectronDonation.cdk(),
Cycles.all())

For the relocation I use the SMARTSQueryTool class:
SMARTSQueryTool sqt = new SMARTSQueryTool(fragmentSmarts,
DefaultChemObjectBuilder.getInstance());
System.out.println(sqt.matches(molecule));

By doing this, I discovered the following problem.

Example:
* inital molecules SMILES: CCNC1=NC(=O)N=C(NC(C)(C)C)N1
* fragment SMARTS: C(=NC=O)N, CCNC=N

When I am aromatizing the molecule as described above, I get a non-aromatic
ring within the molecule, what is reflected by the found fragments.
When I try to find the the fragment CCNC=N in the inital molecule via the
SMARTSQueryTool, the method returns false for not finding it.
If I change the the fragment SMARTS to CCNcn, the method returns true.

I reproduced this problem by using this online tool, too:
http://www.simolecule.com/cdkdepict/depict.html

This leads me to the question, if the
SMARTSQueryTool internally aromatizes the molecule. The Aromaticity class
seems to aromatize the molecule correct by flagging the ring as
non-aromatic, because this molecule is not an aromatic compound. The ring
features a SP2-
hybridised double bond charateristic, but the molecule is not planar and
its electrons are not delocalized. On request, I can provide further
examples.

Now i am wondering why the
SMARTSQueryTool is make an own aromaticity on the molecule and under which
conditions?

I hope you can help me with this issue.


Kind regards
,


Iris
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user