@Test public void testGetLargestRingSet_List_IRingSet() throws Exception { List<IRingSet> list = new Vector<IRingSet>(); list.add(ringset); IAtomContainer mol = TestMoleculeFactory.makeBiphenyl(); AllRingsFinder arf = new AllRingsFinder(); IRingSet ringSet = arf.findAllRings(mol); list.add(ringSet); Assert.assertEquals(2, RingSetManipulator.getLargestRingSet(list).getAtomContainerCount()); } }
@Test public void testMapTemplates_IAtomContainer_double() throws Exception { IAtomContainer ac = TestMoleculeFactory.makeBicycloRings(); TemplateHandler3D th3d = TemplateHandler3D.getInstance(); ForceFieldConfigurator ffc = new ForceFieldConfigurator(); ffc.setForceFieldConfigurator("mm2", ac.getBuilder()); IRingSet ringSetMolecule = ffc.assignAtomTyps(ac); List<IRingSet> ringSystems = RingPartitioner.partitionRings(ringSetMolecule); IRingSet largestRingSet = RingSetManipulator.getLargestRingSet(ringSystems); IAtomContainer largestRingSetContainer = RingSetManipulator.getAllInOneContainer(largestRingSet); th3d.mapTemplates(largestRingSetContainer, largestRingSetContainer.getAtomCount()); for (int i = 0; i < ac.getAtomCount(); i++) { Assert.assertNotNull(ac.getAtom(i).getPoint3d()); } ModelBuilder3DTest.checkAverageBondLength(ac); }
@Test public void testMapTemplates_cyclicMol1() throws Exception { TemplateHandler3D tmphandler3d = TemplateHandler3D.getInstance(); String cyclicMolSmi = "O(CC(O)CN1CCN(CC1)CC(=O)Nc1c(cccc1C)C)c1c(cccc1)OC"; IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); SmilesParser smiparser = new SmilesParser(builder); IAtomContainer molecule = smiparser.parseSmiles(cyclicMolSmi); ForceFieldConfigurator forcefconf = new ForceFieldConfigurator(); forcefconf.setForceFieldConfigurator("mmff94", builder); IRingSet rings = forcefconf.assignAtomTyps(molecule); List<IRingSet> ringSystems = RingPartitioner.partitionRings(rings); IRingSet largestRingSet = RingSetManipulator.getLargestRingSet(ringSystems); IAtomContainer allAtomsInOneContainer = RingSetManipulator.getAllInOneContainer(largestRingSet); tmphandler3d.mapTemplates(allAtomsInOneContainer, allAtomsInOneContainer.getAtomCount()); for (int j = 0; j < allAtomsInOneContainer.getAtomCount(); j++) { assertNotNull(allAtomsInOneContainer.getAtom(j).getPoint3d()); } }
@Test public void testMapTemplates_cyclicMol2() throws Exception { TemplateHandler3D tmphandler3d = TemplateHandler3D.getInstance(); String cyclicMolSmi = "CC(C)(C)NC(=O)C1CN(CCN1CC(CC(Cc1ccccc1)C(=O)NC1c2ccccc2CC1O)O)Cc1cccnc1"; IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance(); SmilesParser smiparser = new SmilesParser(builder); IAtomContainer molecule = smiparser.parseSmiles(cyclicMolSmi); ForceFieldConfigurator forcefconf = new ForceFieldConfigurator(); forcefconf.setForceFieldConfigurator("mmff94", builder); IRingSet rings = forcefconf.assignAtomTyps(molecule); List<IRingSet> ringSystems = RingPartitioner.partitionRings(rings); IRingSet largestRingSet = RingSetManipulator.getLargestRingSet(ringSystems); IAtomContainer allAtomsInOneContainer = RingSetManipulator.getAllInOneContainer(largestRingSet); tmphandler3d.mapTemplates(allAtomsInOneContainer, allAtomsInOneContainer.getAtomCount()); for (int j = 0; j < allAtomsInOneContainer.getAtomCount(); j++) { assertNotNull(allAtomsInOneContainer.getAtom(j).getPoint3d()); } }
largestRingSet = RingSetManipulator.getLargestRingSet(ringSystems); IAtomContainer largestRingSetContainer = RingSetManipulator.getAllInOneContainer(largestRingSet); numberOfRingAtoms = largestRingSetContainer.getAtomCount();