Esempio n. 1
0
        static void Main()
        {
            UniversalIsomorphismTester universalIsomorphismTester = new UniversalIsomorphismTester();

            #region
            SmilesParser        sp            = new SmilesParser();
            IAtomContainer      atomContainer = sp.ParseSmiles("CC(=O)OC(=O)C"); // acetic acid anhydride
            IAtomContainer      SMILESquery   = sp.ParseSmiles("CC");            // ethylene
            IQueryAtomContainer query         = QueryAtomContainerCreator.CreateBasicQueryContainer(SMILESquery);
            bool isSubstructure = universalIsomorphismTester.IsSubgraph(atomContainer, query);
            #endregion
        }
Esempio n. 2
0
        void Main()
        {
            UniversalIsomorphismTester universalIsomorphismTester = null;

            #region 1
            SmilesParser       sp            = new SmilesParser();
            IAtomContainer     atomContainer = sp.ParseSmiles("CC(=O)OC(=O)C");
            QueryAtomContainer query         = SMARTSParser.Parse("C*C");
            bool queryMatch = universalIsomorphismTester.IsSubgraph(atomContainer, query);
            #endregion
            #region 2
            SMARTSParser parser = new SMARTSParser(new StringReader("C*C"));
            ASTStart     start  = parser.Start();
            #endregion
        }
Esempio n. 3
0
        public void TestStrictSMARTS()
        {
            var sp            = new SmilesParser();
            var atomContainer = sp.ParseSmiles("CC(=O)OC(=O)C"); // acetic acid anhydride
            var query         = new QueryAtomContainer();
            var atom1         = new SymbolQueryAtom()
            {
                Symbol = "N"
            };
            var atom2 = new SymbolQueryAtom()
            {
                Symbol = "C"
            };

            query.Atoms.Add(atom1);
            query.Atoms.Add(atom2);
            query.Bonds.Add(new NCDK.Isomorphisms.Matchers.OrderQueryBond(atom1, atom2, BondOrder.Double));

            Assert.IsFalse(uiTester.IsSubgraph(atomContainer, query));
        }
        public void TestIsSubgraphIAtomContainerIAtomContainer()
        {
            var mol   = TestMoleculeFactory.MakeAlphaPinene();
            var frag1 = TestMoleculeFactory.MakeCyclohexene(); //one double bond in ring

            AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(mol);
            AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(frag1);
            Aromaticity.CDKLegacy.Apply(mol);
            Aromaticity.CDKLegacy.Apply(frag1);

            if (standAlone)
            {
                Console.Out.WriteLine("Cyclohexene is a subgraph of alpha-Pinene: " + uiTester.IsSubgraph(mol, frag1));
            }
            else
            {
                Assert.IsTrue(uiTester.IsSubgraph(mol, frag1));
            }
        }