*/
package jalview.ws;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
if (msa && msf.length > 1)
{
- String altitle = "JNet prediction on " + (viewonly ? "visible " : "") +
+ String altitle = getPredictionName(WebServiceName)+" on " + (viewonly ? "visible " : "") +
seq.getName() +
" using alignment from " + title;
{
throw new Error("Implementation Error! Multiple single sequence prediction jobs are not yet supported.");
}
- String altitle = "JNet prediction for " + (viewonly ? "visible " : "") +
+
+ String altitle = getPredictionName(WebServiceName)+" for " + (viewonly ? "visible " : "") +
"sequence " + seq.getName() +
" from " +
title;
}
}
+ private String getPredictionName(String webServiceName)
+ {
+ if (webServiceName.toLowerCase().indexOf("secondary structure prediction")>-1)
+ {
+ return webServiceName;
+ } else {
+ return webServiceName+"secondary structure prediction";
+ }
+ }
+
public JPredClient(ext.vamsas.ServiceHandle sh, String title, SequenceI seq,
AlignFrame parentFrame)
{
startJPredClient(title, seq, null);
}
+ public JPredClient()
+ {
+
+ super();
+ // add a class reference to the list
+ }
+
private void startJPredClient(String title, SequenceI[] msf,
AlignFrame parentFrame)
{
return server;
}
+
+ public void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle sh, final AlignFrame af)
+ {
+ final JMenuItem method = new JMenuItem(sh.getName());
+ method.setToolTipText(sh.getEndpointURL());
+ method.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();
+ if (msa.getSequences().length == 1)
+ {
+ // Single Sequence prediction
+ new jalview.ws.JPredClient(sh, af.getTitle(), false, msa, af, true);
+ }
+ else
+ {
+ if (msa.getSequences().length > 1)
+ {
+ // Sequence profile based prediction
+ new jalview.ws.JPredClient(sh,
+ af.getTitle(), true, msa, af, true);
+ }
+ }
+ }
+ });
+ wsmenu.add(method);
+ }
}