@Test public void testComplexCaseR03165() throws InvalidSmilesException { SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance()); IAtomContainer target = sp.parseSmiles("OCC1=C(CC(O)=O)C(CCC(O)=O)=C(CC2=C(CC(O)=O)C(CCC(O)=O)=C(CC3=C(CC(O)=O)C(CCC(O)=O)=C(CC4=C(CC(O)=O)C(CCC(O)=O)=CN4)N3)N2)N1"); IAtomContainer query = sp.parseSmiles("OC(=O)CCC1=C2CC3=C(CCC(O)=O)C(CC(O)=O)=C(CC4=C(CC(O)=O)C(CCC(O)=O)=C(CC5=C(CC(O)=O)C(CCC(O)=O)=C(CC(N2)=C1CC(O)=O)N5)N4)N3"); Isomorphism smsd = new Isomorphism(query, target, Algorithm.VFLibMCS, false, false, false); assertNotNull(smsd.getFirstAtomMapping()); assertEquals(60, query.getAtomCount()); assertEquals(61, target.getAtomCount()); assertEquals(55, smsd.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();  }