Hi,
I am using the class UniversalIsomorphismTester to detect subtructures.
I have a problem with the method isSubgraph() which does not return what I
expect for some fragments .
Here is an example :
fragment 1 represented by the SMILES : "CCCC"
fragment 2 represented by the SMILES : "c1ccc2c(c1)ccc3ccccc2"
SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
IAtomContainer atomContainer;
atomContainer = sp.parseSmiles("c1ccc2c(c1)ccc3ccccc2");
IAtomContainer SMILESquery = sp.parseSmiles("CCCC");
QueryAtomContainer query =
QueryAtomContainerCreator.createBasicQueryContainer(SMILESquery);
the call to:
UniversalIsomorphismTester.isSubgraph(atomContainer, query)) returns true
The problem is that CCCC cannot be a substructure of c1ccc2c(c1)ccc3ccccc2
which carbons are all included in aromatic rings.
I would have expected the method to return true if the fragment 1 was
represented with lower cases : cccc which would mean that it contains double
bonds.
Is it normal? If I use the MoleculeViewer2D to draw the fragment CCCC, it seems
correctly represented without double bond, so it it not a problem of the
SmilesParser.
Do you have an idea of how to solve my problem?
Miriame ALLOUCHE
_________________________________________________________________
Exprimez-vous : créez la page d'accueil qui vous ressemble avec Live.com.
http://www.live.com/getstarted-------------------------------------------------------------------------
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