@Override Pattern create(IAtomContainer container) { return DfPattern.findSubstructure(container); }
@Test public void matchRoot() throws Exception { IAtomContainer mol = smi("OC(=O)C(=O)O"); IAtomContainer qry = sma("O=*"); DfPattern ptrn = DfPattern.findSubstructure(qry); assertFalse(ptrn.matchesRoot(mol.getAtom(0))); assertTrue(ptrn.matchesRoot(mol.getAtom(2))); assertTrue(ptrn.matchesRoot(mol.getAtom(4))); assertFalse(ptrn.matchesRoot(mol.getAtom(5))); } }
case RECURSIVE: if (ptrn == null) ptrn = DfPattern.findSubstructure(query); return ptrn.matchesRoot(atom); default: