X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fws%2Fjws1%2FJPredClient.java;h=3b7bdb6bb38303aca89180cfb846ab4a7009ff13;hb=8ab24374eabe70d3d55bc92bcbbae401c743baa5;hp=846cd2943d3e95dd2d8308b0f7cd4b92e860c119;hpb=153dd62dc91da13ae732600e6ea55ddbe15eab39;p=jalview.git
diff --git a/src/jalview/ws/jws1/JPredClient.java b/src/jalview/ws/jws1/JPredClient.java
index 846cd29..3b7bdb6 100644
--- a/src/jalview/ws/jws1/JPredClient.java
+++ b/src/jalview/ws/jws1/JPredClient.java
@@ -1,33 +1,47 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see .
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.ws.jws1;
+import jalview.analysis.AlignSeq;
+import jalview.bin.Cache;
+import jalview.datamodel.AlignmentView;
+import jalview.datamodel.SeqCigar;
+import jalview.datamodel.SequenceI;
+import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
+import jalview.gui.JvOptionPane;
+import jalview.gui.WebserviceInfo;
+import jalview.util.MessageManager;
+
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.util.*;
+import java.util.Hashtable;
-import javax.swing.*;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
-import ext.vamsas.*;
-import jalview.analysis.*;
-import jalview.bin.*;
-import jalview.datamodel.*;
-import jalview.gui.*;
+import ext.vamsas.Jpred;
+import ext.vamsas.JpredServiceLocator;
+import ext.vamsas.JpredSoapBindingStub;
+import ext.vamsas.ServiceHandle;
public class JPredClient extends WS1Client
{
@@ -45,9 +59,8 @@ public class JPredClient extends WS1Client
* @param viewonly
* TODO
*/
- public JPredClient(ext.vamsas.ServiceHandle sh, String title,
- boolean msa, AlignmentView alview, AlignFrame parentFrame,
- boolean viewonly)
+ public JPredClient(ext.vamsas.ServiceHandle sh, String title, boolean msa,
+ AlignmentView alview, AlignFrame parentFrame, boolean viewonly)
{
super();
wsInfo = setWebService(sh);
@@ -99,33 +112,7 @@ public class JPredClient extends WS1Client
if (viewonly)
{
- int[] viscontigs = alview.getVisibleContigs();
- int spos = 0;
- int i = 0;
- if (viscontigs != null)
- {
- // Construct the delMap - mapping from the positions within the input to
- // Jnet to the contigs in the original sequence
-
- delMap = new int[seq.getEnd() - seq.getStart() + 1];
- int gapMap[] = seq.gapMap();
- for (int contig = 0; contig < viscontigs.length; contig += 2)
- {
-
- while (spos < gapMap.length && gapMap[spos] < viscontigs[contig])
- {
- spos++;
- }
- while (spos < gapMap.length
- && gapMap[spos] <= viscontigs[contig + 1])
- {
- delMap[i++] = spos++;
- }
- }
- int tmap[] = new int[i];
- System.arraycopy(delMap, 0, tmap, 0, i);
- delMap = tmap;
- }
+ delMap = alview.getVisibleContigMapFor(seq.gapMap());
}
if (msa && msf.length > 1)
{
@@ -166,8 +153,8 @@ public class JPredClient extends WS1Client
{
if (!msa && msf.length > 1)
{
- throw new Error(
- "Implementation Error! Multiple single sequence prediction jobs are not yet supported.");
+ throw new Error(MessageManager.getString(
+ "error.implementation_error_multiple_single_sequence_prediction_jobs_not_supported"));
}
String altitle = getPredictionName(WebServiceName) + " for "
@@ -196,8 +183,8 @@ public class JPredClient extends WS1Client
private String getPredictionName(String webServiceName)
{
- if (webServiceName.toLowerCase().indexOf(
- "secondary structure prediction") > -1)
+ if (webServiceName.toLowerCase()
+ .indexOf("secondary structure prediction") > -1)
{
return webServiceName;
}
@@ -249,18 +236,13 @@ public class JPredClient extends WS1Client
SequenceI seq = msf[0];
- String altitle = "JNet prediction on " + seq.getName()
+ String altitle = "JPred prediction on " + seq.getName()
+ " using alignment from " + title;
- wsInfo
- .setProgressText("Job details for MSA based prediction ("
- + title
- + ") on sequence :\n>"
- + seq.getName()
- + "\n"
- + AlignSeq
- .extractGaps("-. ", seq.getSequenceAsString())
- + "\n");
+ wsInfo.setProgressText("Job details for MSA based prediction (" + title
+ + ") on sequence :\n>" + seq.getName() + "\n"
+ + AlignSeq.extractGaps("-. ", seq.getSequenceAsString())
+ + "\n");
SequenceI aln[] = new SequenceI[msf.length];
for (int i = 0, j = msf.length; i < j; i++)
{
@@ -289,14 +271,11 @@ public class JPredClient extends WS1Client
{
wsInfo = setWebService();
}
- wsInfo
- .setProgressText("Job details for prediction on sequence :\n>"
- + seq.getName()
- + "\n"
- + AlignSeq
- .extractGaps("-. ", seq.getSequenceAsString())
- + "\n");
- String altitle = "JNet prediction for sequence " + seq.getName()
+ wsInfo.setProgressText("Job details for prediction on sequence :\n>"
+ + seq.getName() + "\n"
+ + AlignSeq.extractGaps("-. ", seq.getSequenceAsString())
+ + "\n");
+ String altitle = "JPred prediction for sequence " + seq.getName()
+ " from " + title;
Hashtable SequenceInfo = jalview.analysis.SeqsetUtils
@@ -317,14 +296,15 @@ public class JPredClient extends WS1Client
private WebserviceInfo setWebService()
{
WebServiceName = "JNetWS";
- WebServiceJobTitle = "JNet secondary structure prediction";
+ WebServiceJobTitle = MessageManager
+ .getString("label.jnet_secondary_structure_prediction");
WebServiceReference = "\"Cuff J. A and Barton G.J (2000) Application of "
+ "multiple sequence alignment profiles to improve protein secondary structure prediction, "
+ "Proteins 40:502-511\".";
WsURL = "http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred";
WebserviceInfo wsInfo = new WebserviceInfo(WebServiceJobTitle,
- WebServiceReference);
+ WebServiceReference, true);
return wsInfo;
}
@@ -343,14 +323,17 @@ public class JPredClient extends WS1Client
} catch (Exception ex)
{
- JOptionPane.showMessageDialog(Desktop.desktop,
- "The Secondary Structure Prediction Service named "
- + WebServiceName + " at " + WsURL
- + " couldn't be located.", "Internal Jalview Error",
- JOptionPane.WARNING_MESSAGE);
- wsInfo.setProgressText("Serious! " + WebServiceName
- + " Service location failed\nfor URL :" + WsURL + "\n"
- + ex.getMessage());
+ JvOptionPane.showMessageDialog(Desktop.desktop,
+ MessageManager.formatMessage(
+ "label.secondary_structure_prediction_service_couldnt_be_located",
+ new String[]
+ { WebServiceName, WsURL }),
+ MessageManager.getString("label.internal_jalview_error"),
+ JvOptionPane.WARNING_MESSAGE);
+ wsInfo.setProgressText(MessageManager.formatMessage(
+ "label.secondary_structure_prediction_service_couldnt_be_located",
+ new String[]
+ { WebServiceName, WsURL }) + "\n" + ex.getMessage());
wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
}
@@ -358,6 +341,7 @@ public class JPredClient extends WS1Client
return server;
}
+ @Override
public void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle sh,
final AlignFrame af)
{
@@ -365,6 +349,7 @@ public class JPredClient extends WS1Client
method.setToolTipText(sh.getEndpointURL());
method.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();
@@ -379,8 +364,8 @@ public class JPredClient extends WS1Client
if (msa.getSequences().length > 1)
{
// Sequence profile based prediction
- new jalview.ws.jws1.JPredClient(sh, af.getTitle(), true, msa, af,
- true);
+ new jalview.ws.jws1.JPredClient(sh, af.getTitle(), true, msa,
+ af, true);
}
}
}