Skip to content

Commit

Permalink
Return list<ICDKMolecule> and enforce 1 conformation when coordinate …
Browse files Browse the repository at this point in the history
…selected.
  • Loading branch information
olas committed Aug 30, 2011
1 parent 0fe377e commit 2fd77bf
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 19 deletions.
Expand Up @@ -26,13 +26,15 @@
import net.bioclipse.core.ResourcePathTransformer;
import net.bioclipse.core.business.BioclipseException;
import net.bioclipse.core.domain.IMolecule;
import net.bioclipse.managers.business.IBioclipseManager;
import net.bioclipse.ui.business.Activator;
import net.bioclipse.ui.business.IUIManager;

import org.apache.log4j.Logger;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.content.IContentDescription;
import org.eclipse.core.runtime.content.IContentType;
Expand All @@ -48,7 +50,7 @@
*
* @author ola
*/
public class BalloonManager implements IBalloonManager {
public class BalloonManager implements IBioclipseManager {

private static final Logger logger
= Logger.getLogger( BalloonManager.class );
Expand All @@ -74,37 +76,52 @@ public String generate3Dcoordinates( String inputfile )



public List<IMolecule> generateMultiple3Dcoordinates(
List<IMolecule> molecules )
public List<ICDKMolecule> generateMultiple3Dcoordinates(
List<IMolecule> molecules, IProgressMonitor monitor )
throws BioclipseException {

return generateMultiple3Dconformations( molecules, 1 );
return generateMultiple3Dconformations( molecules, 1, monitor );
}


public List<IMolecule> generateMultiple3Dconformations(
public List<ICDKMolecule> generateMultiple3Dconformations(
List<IMolecule> molecules,
int numConf )
int numConf, IProgressMonitor monitor )
throws BioclipseException {

List<IMolecule> retlist=new ArrayList<IMolecule>();
List<ICDKMolecule> retlist=new ArrayList<ICDKMolecule>();
monitor.beginTask("Balloon conformation generation", molecules.size());

int i=0;
for (IMolecule mol : molecules){
List<ICDKMolecule> conformations = generate3Dconformations( mol,
numConf );
if (numConf==1)
retlist.add( conformations.get( 0 ));
else
retlist.addAll( conformations);
i++;

List<ICDKMolecule> conformations;
try {
conformations = generate3Dconformations( mol,numConf );

//We only enforce one conformation for target conf 1
if (numConf==1)
retlist.add( conformations.get( 0 ));
else
retlist.addAll( conformations);
} catch (BioclipseException e) {
logger.error("Balloon failed on mol " + i + ". Reason: " + e.getMessage());
}
monitor.worked(1);
if (i%5==0)
monitor.subTask("Processed: " + i + "/" + molecules.size() +" molecules");
}

monitor.done();

return retlist;
}

/**
* Generate 3D conf for a single molecule
*/
public IMolecule generate3Dcoordinates( IMolecule molecule )
public ICDKMolecule generate3Dcoordinates( IMolecule molecule )
throws BioclipseException {

return generate3Dconformations( molecule, 1 ).get( 0 );
Expand Down
Expand Up @@ -12,6 +12,8 @@

import java.util.List;

import org.eclipse.core.runtime.IProgressMonitor;

import net.bioclipse.cdk.domain.ICDKMolecule;
import net.bioclipse.core.PublishedClass;
import net.bioclipse.core.PublishedMethod;
Expand Down Expand Up @@ -144,7 +146,7 @@ String generate3Dconformations( String inputfile,
methodSummary = "Return a new molecule with 3D " +
"coordinates generated by Balloon.")
@Recorded
public IMolecule generate3Dcoordinates( IMolecule molecule )
public ICDKMolecule generate3Dcoordinates( IMolecule molecule )
throws BioclipseException;

@PublishedMethod(
Expand All @@ -161,20 +163,32 @@ public List<ICDKMolecule> generate3Dconformations( IMolecule molecule, int numCo
methodSummary = "Return a list of molecules with 3D " +
"coordinates generated by Balloon.")
@Recorded
public List<IMolecule> generateMultiple3Dcoordinates(
public List<ICDKMolecule> generateMultiple3Dcoordinates(
List<IMolecule> molecules )
throws BioclipseException;
throws BioclipseException;

public List<ICDKMolecule> generateMultiple3Dcoordinates(
List<IMolecule> molecules,
IProgressMonitor monitor )
throws BioclipseException;


@PublishedMethod(
params = "List<IMolecule> molecules, int numConf",
methodSummary = "Return a list of molecule with the " +
"selected " +
"number of target 3D " +
"conformations generated by Balloon.")
@Recorded
public List<IMolecule> generateMultiple3Dconformations(
public List<ICDKMolecule> generateMultiple3Dconformations(
List<IMolecule> molecules,
int numConf)
throws BioclipseException;
throws BioclipseException;

public List<ICDKMolecule> generateMultiple3Dconformations(
List<IMolecule> molecules,
int numConf,
IProgressMonitor monitor)
throws BioclipseException;

}

0 comments on commit 2fd77bf

Please sign in to comment.