public void TestAnyAtomAnyBondCase()
        {
            var sp      = CDK.SmilesParser;
            var target  = sp.ParseSmiles("O1C=CC=C1");
            var queryac = sp.ParseSmiles("C1CCCC1");
            var query   = QueryAtomContainerCreator.CreateAnyAtomAnyBondContainer(queryac, false);

            Assert.IsTrue(uiTester.IsSubgraph(target, query), "C1CCCC1 should be a subgraph of O1C=CC=C1");
            Assert.IsTrue(uiTester.IsIsomorph(target, query), "C1CCCC1 should be a isomorph of O1C=CC=C1");
        }
Пример #2
0
        private void AddTemplateMol(IAtomContainer mol)
        {
            templates.Add(mol);
            var query = QueryAtomContainerCreator.CreateAnyAtomAnyBondContainer(mol, false);

            queries.Add(query);
            for (int i = 0; i < mol.Atoms.Count; i++)
            {
                query.Atoms[i].Point3D = mol.Atoms[i].Point3D;
            }
            patterns.Add(Pattern.CreateSubstructureFinder(query));
        }
        public void TestFirstArgumentMustNotBeAnQueryAtomContainer()
        {
            var sp      = CDK.SmilesParser;
            var target  = sp.ParseSmiles("O1C=CC=C1");
            var queryac = sp.ParseSmiles("C1CCCC1");
            var query   = QueryAtomContainerCreator.CreateAnyAtomAnyBondContainer(queryac, false);

            try
            {
                uiTester.IsSubgraph(query, target);
                Assert.Fail("The UniversalIsomorphism should check when the first arguments is a QueryAtomContainer");
            }
            catch (Exception)
            {
                // OK, it must Assert.fail!
            }
        }
Пример #4
0
 internal static QueryAtomContainer[] MakeQueries(params string[] smiles)
 {
     return(smiles.Select(n => QueryAtomContainerCreator.CreateAnyAtomAnyBondContainer(CDK.SmilesParser.ParseSmiles(n), false)).ToArray());
 }