Class IteratingMDLConformerReader

  extended by
All Implemented Interfaces:

public class IteratingMDLConformerReader
extends Object
implements Iterator

Iterate over conformers of a collection of molecules stored in SDF format.

This class is analogous to the IteratingMDLReader except that rather than return a single IMolecule at each iteration this class will return all the conformers for a given molecule at each iteration.

The class assumes that the molecules are stored in SDF format and that all conformers for a given molecule are in sequential order.

Currently, the code uses the title of each molecule in the SD file to perform te conformer check and so it is important that all conformers for a given molecule have the same title field, but different from the title fields of conformers of other molecules. In the future the class will allow the user to perform the check using either the title or a more rigorous (but more time-consuming) graph isomorphism check.

Example usage is

 String filename = "/Users/rguha/conf2.sdf";
 IteratingMDLConformerReader2 reader = new IteratingMDLConformerReader2(
         new FileReader(new File(filename)), NewDefaultChemObjectBuilder.getInstance());
 while (reader.hasNext()) {
      ConformerContainer2 cc = (ConformerContainer2);

// do something with this set of conformers

Rajarshi Guha
See Also:
file format SDF, conformer conformation
Belongs to CDK module:
Source code:

Constructor Summary
IteratingMDLConformerReader(InputStream in, IChemObjectBuilder builder)
IteratingMDLConformerReader(Reader in, IChemObjectBuilder builder)
Method Summary
 boolean hasNext()
 Object next()
 void remove()
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public IteratingMDLConformerReader(Reader in,
                                                   IChemObjectBuilder builder)


public IteratingMDLConformerReader(InputStream in,
                                                   IChemObjectBuilder builder)
Method Detail


public boolean hasNext()
Specified by:
hasNext in interface Iterator


public Object next()
Specified by:
next in interface Iterator


public void remove()
Specified by:
remove in interface Iterator