From: Mark R. <ma...@eb...> - 2009-10-27 11:44:47
|
Indeed c1ccncn1 works, thanks. I still find this a bit confusing though. If I do use C1=CN=CN=C1, and I make an IAtomContainer atc = sp.parseSmiles(smiles), and I make a basic printout of atc, I see: Sym Hashcode ------------ C 5230193 C 33208902 N 29839159 C 2208288 N 3502256 C 7958910 arom DOUBLE 33208902 5230193 arom SINGLE 29839159 33208902 arom DOUBLE 2208288 29839159 arom SINGLE 3502256 2208288 arom DOUBLE 7958910 3502256 arom SINGLE 7958910 5230193 So the SMILES parser detects aromaticity. If I create: QueryAtomContainer query = SMARTSParser.parse(smiles), and then this query prints I get: Sym Hashcode ------------ C 2478770 C 19653053 N 32603767 C 27653945 N 17431955 C 15138573 non arom DOUBLE 2478770 19653053 arom null 19653053 32603767 non arom DOUBLE 32603767 27653945 arom null 27653945 17431955 non arom null 2478770 15138573 non arom DOUBLE 17431955 15138573 So is there no match because the SMARTS parser will create an atom container with only some bonds being aromatic? How would I fix that? Mark > not having actually looked at the code yet, my guess that the problem > has to do with aromaticity. Does the first one work if you use c1ccncn1? > > On Oct 27, 2009, at 7:06 AM, Mark Rijnbeek wrote: > >> I've got a question regarding the SMARTS query tool. See class below. >> I have no experience with this class, and was starting to look into it >> to be wrapped into my Oracle cartridge. >> >> Question is, for some SMILES (the first three listed) it seems that >> the >> SMARTS query tool does not give a match when querying the atom >> container >> to itself. For the last three examples it does. Is this explainable >> or a >> bug ? >> >> thanks, >> Mark >> >> >> ------------ >> >> >> package org.openscience.cdk; >> >> import org.openscience.cdk.interfaces.IAtomContainer; >> import org.openscience.cdk.smiles.SmilesParser; >> import org.openscience.cdk.smiles.smarts.SMARTSQueryTool; >> >> public class SMARTSTest { >> >> public static void main(String[] args) throws Exception { >> >> SmilesParser sp = >> new SmilesParser(DefaultChemObjectBuilder.getInstance()); >> >> String smiles = >> // No match? >> "C1=CN=CN=C1"; >> //"CN1CCN >> (CC1)C1=C(F)C=C2C(=O)C(=CN(C3=CC=C(F)C=C3)C2=C1)C(O)=O"; >> //"O5CCN(CC=3C=1C=CC=CC=1C(=C2C=CC=CC2=3)CN4CCOCC4)CC5"; >> >> // Okay: >> //"CC(=O)OC(=O)C"; >> //"C1CCC12CCCC2"; >> //"c1ccccc1"; >> >> IAtomContainer at = sp.parseSmiles(smiles); >> SMARTSQueryTool querytool = new SMARTSQueryTool(smiles); >> >> if (querytool.matches(at)) >> System.out.println("match"); >> else >> System.out.println("no match"); >> >> } >> } >> >> >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market and >> stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> Cdk-devel mailing list >> Cdk...@li... >> https://lists.sourceforge.net/lists/listinfo/cdk-devel > > ---------------------------------------------------- > Rajarshi Guha | NIH Chemical Genomics Center > http://www.rguha.net | http://ncgc.nih.gov > ---------------------------------------------------- > A meeting is an event at which the minutes are > kept and the hours are lost. > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Cdk-devel mailing list > Cdk...@li... > https://lists.sourceforge.net/lists/listinfo/cdk-devel > |