https://github.com/F1000Research/GASOLINE
Tip revision: b311a55a1126c2d961686f08fe5b341f930db7e5 authored by GMicale on 12 June 2014, 16:41:05 UTC
Update README.md
Update README.md
Tip revision: b311a55
AlignmentTask.java
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import java.awt.Dimension;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.app.swing.CySwingAppAdapter;
import org.cytoscape.application.swing.CytoPanelComponent;
import org.cytoscape.service.util.CyServiceRegistrar;
import java.util.Properties;
import org.cytoscape.application.swing.CytoPanel;
import org.cytoscape.application.swing.CytoPanelState;
import org.cytoscape.application.swing.CytoPanelName;
public class AlignmentTask extends AbstractTask
{
private CySwingAppAdapter adapter;
private double sigma;
private int iterExtend;
private int iterSeed;
private double overlap;
private int refine;
private int minComplexSize;
private boolean pairScores;
private String homologyFileName;
private String destFolder;
private NetworksData netData;
private TaskMonitor taskMonitor = null;
private OrderedList<Allineamento> rankAlign;
private Vector<String> ontFiles;
private AlignmentPanel aPane;
public AlignmentTask(double sigma, int iterExtend, int iterSeed, double overlap,
int refine, int minComplexSize, boolean pairScores, String homFName, NetworksData netData, String destFolder,
AlignmentPanel aPane, Vector<String> ontFiles, CySwingAppAdapter adapter)
{
this.sigma=sigma;
this.iterExtend=iterExtend;
this.iterSeed=iterSeed;
this.overlap=overlap;
this.refine=refine;
this.minComplexSize=minComplexSize;
this.pairScores=pairScores;
this.homologyFileName=homFName;
this.netData=netData;
this.destFolder=destFolder;
this.aPane=aPane;
this.ontFiles=ontFiles;
this.adapter=adapter;
}
public void run(TaskMonitor taskMonitor)
{
if (taskMonitor==null)
throw new IllegalStateException("Task Monitor is not set.");
else if(taskMonitor!=null)
{
taskMonitor.setProgress(0.0);
taskMonitor.setStatusMessage("Aligning");
}
try
{
rankAlign=GASOLINE.startAlignment(sigma, iterExtend, iterSeed, overlap, refine, minComplexSize, pairScores, homologyFileName, netData, destFolder, taskMonitor);
if(rankAlign!=null)
{
CytoPanel resPanel=adapter.getCySwingApplication().getCytoPanel(CytoPanelName.EAST);
resPanel.setState(CytoPanelState.DOCK);
ResultsPanel alignRes = new ResultsPanel(rankAlign, netData.getGList(), ontFiles, adapter);
CyServiceRegistrar csr=adapter.getCyServiceRegistrar();
csr.registerService(alignRes,CytoPanelComponent.class, new Properties());
}
aPane.enable();
}
catch (Exception ex)
{
ex.printStackTrace();
JOptionPane.showMessageDialog(adapter.getCySwingApplication().getJFrame(), "Alignment Error");
aPane.enable();
return;
}
}
public void cancel()
{}
public String getTitle()
{
return "Aligning networks...";
}
}