@Test public void testRingSystemMatch() throws InvalidSmilesException, CDKException { SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer query = sp.parseSmiles("c1(ccc2c(c1)c(c([nH]2)C(=O)N)S(=O)(=O)N1CCOC(C1)C(=O)N1CCc2c(C1)cccc2)Br"); IAtomContainer target = sp.parseSmiles("c1(ccc2c(c1)c(c([nH]2)C(=O)N)S(=O)(=O)N1CCOC(C1)C(=O)NCCOc1ccccc1)Br"); MoleculeInitializer.initializeMolecule(query); MoleculeInitializer.initializeMolecule(target); Isomorphism smsd = new Isomorphism(query, target, Algorithm.VFLibMCS, true, true, false); assertNotNull(smsd.getFirstAtomMapping()); assertEquals(24, smsd.getFirstAtomMapping().getCount()); VF2MCS smsd2 = new VF2MCS(query, target, true, false, false); assertNotNull(smsd2.getFirstAtomMapping()); assertEquals(27, smsd2.getFirstAtomMapping().getCount()); }
@Override public synchronized AtomAtomMapping getFirstAtomMapping() { if (allAtomMCS.iterator().hasNext()) { return allAtomMCS.iterator().next(); } return new AtomAtomMapping(getReactantMol(), getProductMol()); }
VF2MCS extends BaseMCS implements IResults { @Override public synchronized AtomAtomMapping getFirstAtomMapping() { if (allAtomMCS.iterator().hasNext()) { return allAtomMCS.iterator().next(); } return new AtomAtomMapping(getReactantMol(), getProductMol()); } }
VF2MCS extends BaseMCS implements IResults { @Override public synchronized AtomAtomMapping getFirstAtomMapping() { if (allAtomMCS.iterator().hasNext()) { return allAtomMCS.iterator().next(); } return new AtomAtomMapping(getReactantMol(), getProductMol()); } VF2MCS(IAtomContainer source, IAtomContainer target, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType);  VF2MCS(IQueryAtomContainer source, IAtomContainer target);  VF2MCS(IQueryAtomContainer source, IQueryAtomContainer target); }
VF2MCS extends BaseMCS implements IResults { @Override public synchronized AtomAtomMapping getFirstAtomMapping() { if (allAtomMCS.iterator().hasNext()) { return allAtomMCS.iterator().next(); } return new AtomAtomMapping(getReactantMol(), getProductMol()); } VF2MCS(IAtomContainer source, IAtomContainer target, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType);  VF2MCS(IQueryAtomContainer source, IAtomContainer target);  VF2MCS(IQueryAtomContainer source, IQueryAtomContainer target); @Override synchronized List<AtomAtomMapping> getAllAtomMapping(); @Override synchronized AtomAtomMapping getFirstAtomMapping(); }
VF2MCS extends BaseMCS implements IResults { @Override public synchronized AtomAtomMapping getFirstAtomMapping() { if (allAtomMCS.iterator().hasNext()) { return allAtomMCS.iterator().next(); } return new AtomAtomMapping(getReactantMol(), getProductMol()); } VF2MCS(IAtomContainer source, IAtomContainer target, boolean shouldMatchBonds, boolean shouldMatchRings, boolean matchAtomType);  VF2MCS(IQueryAtomContainer source, IAtomContainer target);  VF2MCS(IQueryAtomContainer source, IQueryAtomContainer target); @Override synchronized List<AtomAtomMapping> getAllAtomMapping(); @Override synchronized AtomAtomMapping getFirstAtomMapping();  }