/** * Returns all the AtomContainer's of a MoleculeSet. * @param set The collection of IAtomContainer objects * @return a list containing individual IAtomContainer's */ public static List<IAtomContainer> getAllAtomContainers(IAtomContainerSet set) { return AtomContainerSetManipulator.getAllAtomContainers(set); }
/** * <p>Sorts the IAtomContainers in the given IAtomContainerSet by the following * criteria with decreasing priority:</p> * <ul> * <li>Compare atom count * <li>Compare molecular weight (heavy atoms only) * <li>Compare bond count * <li>Compare sum of bond orders (heavy atoms only) * </ul> * <p>If no difference can be found with the above criteria, the IAtomContainers are * considered equal.</p> * @param atomContainerSet The collection of IAtomContainer objects */ public static void sort(IAtomContainerSet atomContainerSet) { List<IAtomContainer> atomContainerList = AtomContainerSetManipulator.getAllAtomContainers(atomContainerSet); Collections.sort(atomContainerList, new AtomContainerComparator()); atomContainerSet.removeAllAtomContainers(); for (Object anAtomContainerList : atomContainerList) atomContainerSet.addAtomContainer((IAtomContainer) anAtomContainerList); }
/** * Creates a mapping of bonds to preferred rings (stored as IAtomContainers). * * @param container structure representation * @return bond to ring map */ static Map<IBond, IAtomContainer> ringPreferenceMap(IAtomContainer container) { final IRingSet relevantRings = Cycles.sssr(container).toRingSet(); final List<IAtomContainer> rings = AtomContainerSetManipulator.getAllAtomContainers(relevantRings); Collections.sort(rings, new RingBondOffsetComparator()); final Map<IBond, IAtomContainer> ringMap = new HashMap<IBond, IAtomContainer>(); // index bond -> ring based on the first encountered bond for (IAtomContainer ring : rings) { normalizeRingWinding(ring); for (IBond bond : ring.bonds()) { if (ringMap.containsKey(bond)) continue; ringMap.put(bond, ring); } } return Collections.unmodifiableMap(ringMap); }
private int getNonHydrogenMappingAtomCount(IAtomContainerSet mol) { int count = MIN_VALUE; List<IAtomContainer> allAtomContainers = getAllAtomContainers(mol); for (IAtomContainer ac : allAtomContainers) { IAtom[] atomArray = getAtomArray(ac); for (IAtom atom : atomArray) { if (atom.getSymbol().equalsIgnoreCase("H")) { continue; } if (atom.getID() != null && parseInt(atom.getID()) > count) { count = parseInt(atom.getID()); } } } return count; } }
@Test public void testGetAllAtomContainers_IAtomContainerSet() { List<IAtomContainer> list = AtomContainerSetManipulator.getAllAtomContainers(som); Assert.assertEquals(2, list.size()); }
if(chemModel.getMoleculeSet()!=null){ for (IAtomContainer container : AtomContainerSetManipulator.getAllAtomContainers(chemModel.getMoleculeSet())) {