Skip to content

Commit

Permalink
Replace use of IMoleculeSet by IAtomContainerSet in ConnectivityCheck…
Browse files Browse the repository at this point in the history
…er.partitionIntoMolecules()

Signed-off-by: Rajarshi  Guha <rajarshi.guha@gmail.com>
  • Loading branch information
egonw authored and rajarshi committed Dec 3, 2011
1 parent 2ac19f1 commit 42861a9
Show file tree
Hide file tree
Showing 18 changed files with 141 additions and 130 deletions.
26 changes: 13 additions & 13 deletions src/main/org/openscience/cdk/fingerprint/MACCSFingerprinter.java
Expand Up @@ -24,30 +24,30 @@
*/
package org.openscience.cdk.fingerprint;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.openscience.cdk.CDKConstants;
import org.openscience.cdk.annotations.TestClass;
import org.openscience.cdk.annotations.TestMethod;
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IRingSet;
import org.openscience.cdk.ringsearch.AllRingsFinder;
import org.openscience.cdk.smiles.smarts.SMARTSQueryTool;
import org.openscience.cdk.tools.ILoggingTool;
import org.openscience.cdk.tools.LoggingToolFactory;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
* This fingerprinter generates 166 bit MACCS keys.
* <p/>
Expand Down Expand Up @@ -141,9 +141,9 @@ public BitSet getFingerprint(IAtomContainer atomContainer)
}
}
// bit 166 (*).(*)
IMoleculeSet part
IAtomContainerSet part
= ConnectivityChecker.partitionIntoMolecules(atomContainer);
if (part.getMoleculeCount() > 1) fingerPrint.set(165,true);
if (part.getAtomContainerCount() > 1) fingerPrint.set(165,true);


return fingerPrint;
Expand Down
16 changes: 8 additions & 8 deletions src/main/org/openscience/cdk/fragment/MurckoFragmenter.java
Expand Up @@ -24,6 +24,11 @@
*/
package org.openscience.cdk.fragment;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.openscience.cdk.CDKConstants;
import org.openscience.cdk.DefaultChemObjectBuilder;
import org.openscience.cdk.annotations.TestClass;
Expand All @@ -34,18 +39,13 @@
import org.openscience.cdk.graph.SpanningTree;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IChemObjectBuilder;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IRingSet;
import org.openscience.cdk.ringsearch.AllRingsFinder;
import org.openscience.cdk.smiles.SmilesGenerator;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* An implementation of the Murcko fragmenation method {@cdk.cite MURCKO96}.
* <p/>
Expand Down Expand Up @@ -177,8 +177,8 @@ private void run(IAtomContainer atomContainer) throws CDKException {
for (IBond bond : bondsToDelete) clone.removeBond(bond);

// at this point, the ring systems are disconnected components
IMoleculeSet ringSystems = ConnectivityChecker.partitionIntoMolecules(clone);
for (IAtomContainer ringSystem : ringSystems.molecules()) {
IAtomContainerSet ringSystems = ConnectivityChecker.partitionIntoMolecules(clone);
for (IAtomContainer ringSystem : ringSystems.atomContainers()) {
if (ringSystem.getAtomCount() < minimumFragmentSize) continue;
smiles = smilesGenerator.createSMILES(ringSystem);
ringMap.put(smiles, ringSystem);
Expand Down
6 changes: 3 additions & 3 deletions src/main/org/openscience/cdk/graph/ConnectivityChecker.java
Expand Up @@ -97,10 +97,10 @@ public static boolean isConnected(IAtomContainer atomContainer)
* @cdk.dictref blue-obelisk:graphPartitioning
*/
@TestMethod("testPartitionIntoMolecules_IAtomContainer,testPartitionIntoMoleculesKeepsAtomIDs,testPartitionIntoMolecules_IsConnected_Consistency")
public static IMoleculeSet partitionIntoMolecules(IAtomContainer atomContainer) {
public static IAtomContainerSet partitionIntoMolecules(IAtomContainer atomContainer) {
IAtomContainer newContainer = atomContainer.getBuilder().newInstance(IAtomContainer.class);
IMolecule molecule;
IMoleculeSet molecules = atomContainer.getBuilder().newInstance(IMoleculeSet.class);
IAtomContainerSet molecules = atomContainer.getBuilder().newInstance(IAtomContainerSet.class);
List<IAtom> sphere = new ArrayList<IAtom>();

for (IAtom atom : atomContainer.atoms()) {
Expand All @@ -125,7 +125,7 @@ public static IMoleculeSet partitionIntoMolecules(IAtomContainer atomContainer)
sphere.add(atom);
atom.setFlag(CDKConstants.VISITED, true);
PathTools.breadthFirstSearch(newContainer, sphere, molecule);
molecules.addMolecule(molecule);
molecules.addAtomContainer(molecule);
newContainer.remove(molecule);
}
return molecules;
Expand Down
Expand Up @@ -22,14 +22,15 @@

import java.util.ArrayList;

import org.openscience.cdk.LonePair;
import org.openscience.cdk.DefaultChemObjectBuilder;
import org.openscience.cdk.LonePair;
import org.openscience.cdk.annotations.TestClass;
import org.openscience.cdk.annotations.TestMethod;
import org.openscience.cdk.atomtype.CDKAtomTypeMatcher;
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMapping;
Expand Down Expand Up @@ -124,9 +125,9 @@ public IReaction initiate(IMoleculeSet moleculeSet, ArrayList<IAtom> atomList,Ar
if(bond1.getOrder() != IBond.Order.SINGLE) {
reaction.addProduct(reactantCloned);
} else{
IMoleculeSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
IAtomContainerSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
for(int z = 0; z < moleculeSetP.getAtomContainerCount() ; z++){
reaction.addProduct(moleculeSetP.getMolecule(z));
reaction.addProduct((IMolecule)moleculeSetP.getAtomContainer(z));
}
}

Expand Down
Expand Up @@ -30,6 +30,7 @@
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMapping;
Expand Down Expand Up @@ -120,9 +121,9 @@ public IReaction initiate(IMoleculeSet moleculeSet, ArrayList<IAtom> atomList,Ar
if(bond1.getOrder() != IBond.Order.SINGLE) {
reaction.addProduct(reactantCloned);
} else{
IMoleculeSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
IAtomContainerSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
for(int z = 0; z < moleculeSetP.getAtomContainerCount() ; z++){
reaction.addProduct(moleculeSetP.getMolecule(z));
reaction.addProduct((IMolecule)moleculeSetP.getAtomContainer(z));
}
}

Expand Down
Expand Up @@ -31,6 +31,7 @@
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMapping;
Expand Down Expand Up @@ -129,9 +130,9 @@ public IReaction initiate(IMoleculeSet moleculeSet, ArrayList<IAtom> atomList,Ar
reaction.addMapping(mapping);
}

IMoleculeSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
IAtomContainerSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
for(int z = 0; z < moleculeSetP.getAtomContainerCount() ; z++)
reaction.addProduct(moleculeSetP.getMolecule(z));
reaction.addProduct((IMolecule)moleculeSetP.getAtomContainer(z));

return reaction;
}
Expand Down
Expand Up @@ -24,15 +24,16 @@
import java.util.List;

import org.openscience.cdk.CDKConstants;
import org.openscience.cdk.LonePair;
import org.openscience.cdk.DefaultChemObjectBuilder;
import org.openscience.cdk.LonePair;
import org.openscience.cdk.SingleElectron;
import org.openscience.cdk.annotations.TestClass;
import org.openscience.cdk.annotations.TestMethod;
import org.openscience.cdk.atomtype.CDKAtomTypeMatcher;
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.ILonePair;
Expand Down Expand Up @@ -159,9 +160,9 @@ public IReaction initiate(IMoleculeSet moleculeSet, ArrayList<IAtom> atomList,Ar
if(bond2.getOrder() != IBond.Order.SINGLE) {
reaction.addProduct(reactantCloned);
} else{
IMoleculeSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
IAtomContainerSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
for(int z = 0; z < moleculeSetP.getAtomContainerCount() ; z++){
reaction.addProduct(moleculeSetP.getMolecule(z));
reaction.addProduct((IMolecule)moleculeSetP.getAtomContainer(z));
}
}

Expand Down
Expand Up @@ -30,6 +30,7 @@
import org.openscience.cdk.exception.CDKException;
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMapping;
Expand Down Expand Up @@ -122,9 +123,9 @@ public IReaction initiate(IMoleculeSet moleculeSet, ArrayList<IAtom> atomList,Ar
if(bond1.getOrder() != IBond.Order.SINGLE) {
reaction.addProduct(reactantCloned);
}else{
IMoleculeSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
IAtomContainerSet moleculeSetP = ConnectivityChecker.partitionIntoMolecules(reactantCloned);
for(int z = 0; z < moleculeSetP.getAtomContainerCount() ; z++){
reaction.addProduct(moleculeSetP.getMolecule(z));
reaction.addProduct((IMolecule)moleculeSetP.getAtomContainer(z));
}
}

Expand Down
Expand Up @@ -33,8 +33,8 @@
import org.openscience.cdk.graph.ConnectivityChecker;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IRing;
import org.openscience.cdk.interfaces.IRingSet;
import org.openscience.cdk.renderer.RendererModel;
Expand Down Expand Up @@ -193,9 +193,9 @@ protected IRingSet getRingSet(IAtomContainer atomContainer) {

IRingSet ringSet = atomContainer.getBuilder().newInstance(IRingSet.class);
try {
IMoleculeSet molecules =
IAtomContainerSet molecules =
ConnectivityChecker.partitionIntoMolecules(atomContainer);
for (IAtomContainer mol : molecules.molecules()) {
for (IAtomContainer mol : molecules.atomContainers()) {
SSSRFinder sssrf = new SSSRFinder(mol);
ringSet.add(sssrf.findSSSR());
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/org/openscience/cdk/ringsearch/AllRingsFinder.java
Expand Up @@ -130,7 +130,7 @@ public IRingSet findAllRings(IAtomContainer atomContainer, Integer maxRingSize)
startTime = System.currentTimeMillis();
SpanningTree spanningTree = new SpanningTree(atomContainer);
IAtomContainer ringSystems = spanningTree.getCyclicFragmentsContainer();
Iterator separateRingSystem = ConnectivityChecker.partitionIntoMolecules(ringSystems).molecules().iterator();
Iterator<IAtomContainer> separateRingSystem = ConnectivityChecker.partitionIntoMolecules(ringSystems).atomContainers().iterator();
IRingSet resultSet = atomContainer.getBuilder().newInstance(IRingSet.class);
while (separateRingSystem.hasNext()) {
resultSet.add(findAllRingsInIsolatedRingSystem((IMolecule)separateRingSystem.next(), maxRingSize));
Expand Down Expand Up @@ -355,9 +355,9 @@ private void initPathGraph(IAtomContainer ac, List<Path> paths)
{
Path path;

Iterator bonds = ac.bonds().iterator();
Iterator<IBond> bonds = ac.bonds().iterator();
while (bonds.hasNext()) {
IBond bond = (IBond) bonds.next();
IBond bond = bonds.next();
path = new Path(bond.getAtom(0), bond.getAtom(1));
paths.add(path);
if(logger!=null)
Expand Down
26 changes: 13 additions & 13 deletions src/main/org/openscience/cdk/smiles/SmilesGenerator.java
Expand Up @@ -24,6 +24,15 @@
*/
package org.openscience.cdk.smiles;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.TreeMap;
import java.util.Vector;

import org.openscience.cdk.CDKConstants;
import org.openscience.cdk.annotations.TestClass;
import org.openscience.cdk.annotations.TestMethod;
Expand All @@ -36,11 +45,11 @@
import org.openscience.cdk.graph.invariant.MorganNumbersTools;
import org.openscience.cdk.interfaces.IAtom;
import org.openscience.cdk.interfaces.IAtomContainer;
import org.openscience.cdk.interfaces.IAtomContainerSet;
import org.openscience.cdk.interfaces.IAtomType;
import org.openscience.cdk.interfaces.IBond;
import org.openscience.cdk.interfaces.IChemObjectBuilder;
import org.openscience.cdk.interfaces.IIsotope;
import org.openscience.cdk.interfaces.IMolecule;
import org.openscience.cdk.interfaces.IMoleculeSet;
import org.openscience.cdk.interfaces.IPseudoAtom;
import org.openscience.cdk.interfaces.IReaction;
Expand All @@ -50,15 +59,6 @@
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;
import org.openscience.cdk.tools.manipulator.RingSetManipulator;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.TreeMap;
import java.util.Vector;

/**
* Generates SMILES strings {@cdk.cite WEI88, WEI89}. It takes into account the
* isotope and formal charge information of the atoms. In addition to this it
Expand Down Expand Up @@ -317,13 +317,13 @@ public synchronized String createChiralSMILES(IAtomContainer molecule, boolean[]
*/
public synchronized String createSMILES(IAtomContainer molecule, boolean chiral, boolean doubleBondConfiguration[]) throws CDKException
{
IMoleculeSet moleculeSet = ConnectivityChecker.partitionIntoMolecules(molecule);
if (moleculeSet.getMoleculeCount() > 1)
IAtomContainerSet moleculeSet = ConnectivityChecker.partitionIntoMolecules(molecule);
if (moleculeSet.getAtomContainerCount() > 1)
{
StringBuffer fullSMILES = new StringBuffer();
for (int i = 0; i < moleculeSet.getAtomContainerCount(); i++)
{
IMolecule molPart = moleculeSet.getMolecule(i);
IAtomContainer molPart = moleculeSet.getAtomContainer(i);
fullSMILES.append(createSMILESWithoutCheckForMultipleMolecules(
molPart, chiral, doubleBondConfiguration));
if (i < (moleculeSet.getAtomContainerCount() - 1))
Expand Down

0 comments on commit 42861a9

Please sign in to comment.