X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws1%2FJPredClient.java;h=f13672b144d54d0e02a5ed948c2264e8e3c33291;hb=37de9310bec3501cbc6381e0c3dcb282fcaad812;hp=eab47d77a04abac068bdee5e39b6ebefe19fb611;hpb=add30afdc46a14e61ccf55881fa91b9ca9abfe80;p=jalview.git diff --git a/src/jalview/ws/jws1/JPredClient.java b/src/jalview/ws/jws1/JPredClient.java index eab47d7..f13672b 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.5) - * 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.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 javax.swing.JOptionPane; -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 { @@ -99,33 +113,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) { @@ -167,7 +155,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."); + MessageManager + .getString("error.implementation_error_multiple_single_sequence_prediction_jobs_not_supported")); } String altitle = getPredictionName(WebServiceName) + " for " @@ -252,15 +241,9 @@ public class JPredClient extends WS1Client String altitle = "JNet 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,13 +272,9 @@ public class JPredClient extends WS1Client { wsInfo = setWebService(); } - wsInfo - .setProgressText("Job details for prediction on sequence :\n>" - + seq.getName() - + "\n" - + AlignSeq - .extractGaps("-. ", seq.getSequenceAsString()) - + "\n"); + 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() + " from " + title; @@ -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,21 @@ 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()); + JOptionPane + .showMessageDialog( + Desktop.desktop, + MessageManager + .formatMessage( + "label.secondary_structure_prediction_service_couldnt_be_located", + new String[] { WebServiceName, WsURL }), + MessageManager + .getString("label.internal_jalview_error"), + JOptionPane.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); } @@ -371,16 +358,16 @@ public class JPredClient extends WS1Client if (msa.getSequences().length == 1) { // Single Sequence prediction - new jalview.ws.jws1.JPredClient(sh, af.getTitle(), false, msa, af, - true); + new jalview.ws.jws1.JPredClient(sh, af.getTitle(), false, msa, + af, true); } else { 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); } } }