/** * Returns all the AtomContainer's of a ChemFile. */ public static List<IAtomContainer> getAllAtomContainers(IChemFile file) { List<IAtomContainer> acList = new ArrayList<IAtomContainer>(); for (IChemSequence sequence : file.chemSequences()) { acList.addAll(ChemSequenceManipulator.getAllAtomContainers(sequence)); } return acList; }
/** * Returns a List of all IChemObject inside a ChemFile. * * @return A list of all ChemObjects */ public static List<IChemObject> getAllChemObjects(IChemFile file) { List<IChemObject> list = new ArrayList<IChemObject>(); //list.add(file); // should not add the original file for (int i = 0; i < file.getChemSequenceCount(); i++) { list.add(file.getChemSequence(i)); list.addAll(ChemSequenceManipulator.getAllChemObjects(file.getChemSequence(i))); } return list; }
public static List<String> getAllIDs(IChemFile file) { List<String> list = new ArrayList<String>(); if (file.getID() != null) list.add(file.getID()); for (int i = 0; i < file.getChemSequenceCount(); i++) { list.addAll(ChemSequenceManipulator.getAllIDs(file.getChemSequence(i))); } return list; }
/** * Get the total number of bonds inside an IChemFile. * * @param file The IChemFile object. * @return The number of Bond object inside. */ public static int getBondCount(IChemFile file) { int count = 0; for (int i = 0; i < file.getChemSequenceCount(); i++) { count += ChemSequenceManipulator.getBondCount(file.getChemSequence(i)); } return count; }
/** * Get the total number of atoms inside an IChemFile. * * @param file The IChemFile object. * @return The number of Atom object inside. */ public static int getAtomCount(IChemFile file) { int count = 0; for (int i = 0; i < file.getChemSequenceCount(); i++) { count += ChemSequenceManipulator.getAtomCount(file.getChemSequence(i)); } return count; }
@Test public void testGetBondCount_IChemSequence() { int count = ChemSequenceManipulator.getBondCount(chemSequence); Assert.assertEquals(2, count); }
@Test public void testGetAtomCount_IChemSequence() { int count = ChemSequenceManipulator.getAtomCount(chemSequence); Assert.assertEquals(6, count); }
@Test public void testGetAllIDs_IChemSequence() { Assert.assertEquals(0, ChemSequenceManipulator.getAllIDs(chemSequence).size()); IDCreator.createIDs(chemSequence); List<String> allIDs = ChemSequenceManipulator.getAllIDs(chemSequence); Assert.assertEquals(18, ChemSequenceManipulator.getAllIDs(chemSequence).size()); Set<String> uniq = new HashSet<String>(allIDs); Assert.assertEquals(12, uniq.size()); }
@Test public void testGetAllAtomContainers_IChemSequence() { List<IAtomContainer> list = ChemSequenceManipulator.getAllAtomContainers(chemSequence); Assert.assertEquals(4, list.size()); }
@Test public void testGetAllChemObjects_IChemSequence() { List<IChemObject> list = ChemSequenceManipulator.getAllChemObjects(chemSequence); int molCount = 0; int molSetCount = 0;
private static void createIDsForChemSequence(IChemSequence sequence, List<String> tabuList) { if (tabuList == null) tabuList = ChemSequenceManipulator.getAllIDs(sequence); if (null == sequence.getID()) { chemSequenceCount = setID(CHEMSEQUENCE_PREFIX, chemSequenceCount, sequence, tabuList); } if (policy == OBJECT_UNIQUE_POLICY) { // start indices within a chem file always from 1 chemSequenceCount = 0; } for (IChemModel chemModel : sequence.chemModels()) { createIDsForChemModel(chemModel, tabuList); } }