X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws1%2FJPredThread.java;h=e685d00297e3a10a8bf2a10560fcf622ee36237b;hb=95ebbef7b78bf266a8252bd479510be3c80cd234;hp=4e95b14c8bb3dbef5a5a253492dbc6b3e91da814;hpb=f89e9db5a8160c422e0c16f009294a8e1fa458d5;p=jalview.git diff --git a/src/jalview/ws/jws1/JPredThread.java b/src/jalview/ws/jws1/JPredThread.java index 4e95b14..e685d00 100644 --- a/src/jalview/ws/jws1/JPredThread.java +++ b/src/jalview/ws/jws1/JPredThread.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,16 +21,24 @@ package jalview.ws.jws1; import jalview.analysis.AlignSeq; +import jalview.analysis.SeqsetUtils; import jalview.bin.Cache; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; import jalview.datamodel.ColumnSelection; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.gui.Desktop; import jalview.gui.WebserviceInfo; +import jalview.io.DataSourceType; +import jalview.io.FileFormatI; import jalview.io.FormatAdapter; +import jalview.io.IdentifyFile; +import jalview.io.JPredFile; +import jalview.io.JnetAnnotationMaker; +import jalview.io.PileUpfile; import jalview.util.Comparison; import jalview.util.MessageManager; import jalview.ws.AWsJob; @@ -70,6 +78,7 @@ class JPredThread extends JWS1Thread implements WSClientI * @return true if getResultSet will return a valid alignment and prediction * result. */ + @Override public boolean hasResults() { if (subjobComplete && result != null && result.isFinished() @@ -81,6 +90,7 @@ class JPredThread extends JWS1Thread implements WSClientI return false; } + @Override public boolean hasValidInput() { if (sequence != null) @@ -103,29 +113,29 @@ class JPredThread extends JWS1Thread implements WSClientI { return null; } - Alignment al = null; + AlignmentI al = null; ColumnSelection alcsel = null; int FirstSeq = -1; // the position of the query sequence in Alignment al JpredResult result = (JpredResult) this.result; - jalview.bin.Cache.log.debug("Parsing output from JNet job."); + Cache.log.debug("Parsing output from JNet job."); // JPredFile prediction = new JPredFile("C:/JalviewX/files/jpred.txt", // "File"); - jalview.io.JPredFile prediction = new jalview.io.JPredFile( - result.getPredfile(), "Paste"); + JPredFile prediction = new JPredFile( + result.getPredfile(), DataSourceType.PASTE); SequenceI[] preds = prediction.getSeqsAsArray(); - jalview.bin.Cache.log.debug("Got prediction profile."); + Cache.log.debug("Got prediction profile."); if ((this.msa != null) && (result.getAligfile() != null)) { - jalview.bin.Cache.log.debug("Getting associated alignment."); + Cache.log.debug("Getting associated alignment."); // we ignore the returned alignment if we only predicted on a single // sequence - String format = new jalview.io.IdentifyFile().Identify( - result.getAligfile(), "Paste"); + FileFormatI format = new IdentifyFile().identify( + result.getAligfile(), DataSourceType.PASTE); - if (jalview.io.FormatAdapter.isValidFormat(format)) + if (format != null) { SequenceI sqs[]; if (predMap != null) @@ -139,17 +149,18 @@ class JPredThread extends JWS1Thread implements WSClientI else { al = new FormatAdapter().readFile(result.getAligfile(), - "Paste", format); + DataSourceType.PASTE, format); sqs = new SequenceI[al.getHeight()]; for (int i = 0, j = al.getHeight(); i < j; i++) { sqs[i] = al.getSequenceAt(i); } - if (!jalview.analysis.SeqsetUtils.deuniquify( - SequenceInfo, sqs)) + if (!SeqsetUtils.deuniquify(SequenceInfo, sqs)) { - throw (new Exception(MessageManager.getString("exception.couldnt_recover_sequence_properties_for_alignment"))); + throw (new Exception( + MessageManager + .getString("exception.couldnt_recover_sequence_properties_for_alignment"))); } } FirstSeq = 0; @@ -162,13 +173,15 @@ class JPredThread extends JWS1Thread implements WSClientI { al.setDataset(null); } - jalview.io.JnetAnnotationMaker.add_annotation(prediction, al, + JnetAnnotationMaker.add_annotation(prediction, al, FirstSeq, false, predMap); } else { - throw (new Exception(MessageManager.formatMessage("exception.unknown_format_for_file", new String[]{format,result.getAligfile()}))); + throw (new Exception(MessageManager.formatMessage( + "exception.unknown_format_for_file", new String[] { "", + result.getAligfile() }))); } } else @@ -182,15 +195,17 @@ class JPredThread extends JWS1Thread implements WSClientI .getAlignmentAndColumnSelection(gc)[0]; if (this.msaIndex >= sqs.length) { - throw new Error(MessageManager.getString("error.implementation_error_invalid_msa_index_for_job")); + throw new Error( + MessageManager + .getString("error.implementation_error_invalid_msa_index_for_job")); } // /// // Uses RemoveGapsCommand // /// - new jalview.commands.RemoveGapsCommand(MessageManager.getString("label.remove_gaps"), - new SequenceI[] - { sqs[msaIndex] }, currentView); + new jalview.commands.RemoveGapsCommand( + MessageManager.getString("label.remove_gaps"), + new SequenceI[] { sqs[msaIndex] }, currentView); SequenceI profileseq = al.getSequenceAt(FirstSeq); profileseq.setSequence(sqs[msaIndex].getSequenceAsString()); @@ -199,7 +214,9 @@ class JPredThread extends JWS1Thread implements WSClientI if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash( al.getSequenceAt(FirstSeq), SequenceInfo)) { - throw (new Exception(MessageManager.getString("exception.couldnt_recover_sequence_props_for_jnet_query"))); + throw (new Exception( + MessageManager + .getString("exception.couldnt_recover_sequence_props_for_jnet_query"))); } else { @@ -235,8 +252,7 @@ class JPredThread extends JWS1Thread implements WSClientI alant.sequenceRef); } } - return new Object[] - { al, alcsel }; // , FirstSeq, noMsa}; + return new Object[] { al, alcsel }; // , FirstSeq, noMsa}; } /** @@ -279,7 +295,7 @@ class JPredThread extends JWS1Thread implements WSClientI * @param al * @param profileseq */ - private void alignToProfileSeq(Alignment al, SequenceI profileseq) + private void alignToProfileSeq(AlignmentI al, SequenceI profileseq) { char gc = al.getGapCharacter(); int[] gapMap = profileseq.gapMap(); @@ -348,8 +364,8 @@ class JPredThread extends JWS1Thread implements WSClientI if (msf.length > 1) { msa = new vamsas.objects.simple.Msfalignment(); - jalview.io.PileUpfile pileup = new jalview.io.PileUpfile(); - msa.setMsf(pileup.print(msf)); + PileUpfile pileup = new PileUpfile(); + msa.setMsf(pileup.print(msf, true)); } } } @@ -385,8 +401,7 @@ class JPredThread extends JWS1Thread implements WSClientI if (job.hasValidInput()) { OutputHeader = wsInfo.getProgressText(); - jobs = new WSJob[] - { job }; + jobs = new WSJob[] { job }; job.setJobnum(0); } else @@ -404,8 +419,7 @@ class JPredThread extends JWS1Thread implements WSClientI JPredJob job = new JPredJob(SequenceInfo, msf, delMap); if (job.hasValidInput()) { - jobs = new WSJob[] - { job }; + jobs = new WSJob[] { job }; OutputHeader = wsInfo.getProgressText(); job.setJobnum(0); } @@ -415,11 +429,14 @@ class JPredThread extends JWS1Thread implements WSClientI } } + @Override public void StartJob(AWsJob j) { if (!(j instanceof JPredJob)) { - throw new Error(MessageManager.formatMessage("error.implementation_error_startjob_called", new String[]{j.getClass().toString()})); + throw new Error(MessageManager.formatMessage( + "error.implementation_error_startjob_called", + new String[] { j.getClass().toString() })); } try { @@ -440,7 +457,9 @@ class JPredThread extends JWS1Thread implements WSClientI { job.result = new JpredResult(); job.result.setInvalid(true); - job.result.setStatus(MessageManager.formatMessage("label.submission_params", new String[]{job.getJobId().toString()})); + job.result.setStatus(MessageManager.formatMessage( + "label.submission_params", new String[] { job.getJobId() + .toString() })); throw new Exception(job.getJobId()); } else @@ -452,7 +471,9 @@ class JPredThread extends JWS1Thread implements WSClientI } else { - throw new Exception(MessageManager.getString("exception.server_timeout_try_later")); + throw new Exception( + MessageManager + .getString("exception.server_timeout_try_later")); } } catch (Exception e) { @@ -476,7 +497,11 @@ class JPredThread extends JWS1Thread implements WSClientI { wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR); // JBPNote - this could be a popup informing the user of the problem. - wsInfo.appendProgressText(j.getJobnum(), MessageManager.formatMessage("info.failed_to_submit_prediction", new String[]{e.getMessage(),wsInfo.getProgressText()})); + wsInfo.appendProgressText(j.getJobnum(), MessageManager + .formatMessage( + "info.failed_to_submit_prediction", + new String[] { e.getMessage(), + wsInfo.getProgressText() })); jalview.bin.Cache.log.debug( "Failed Submission of job " + j.getJobnum(), e); @@ -487,6 +512,7 @@ class JPredThread extends JWS1Thread implements WSClientI } } + @Override public void parseResult() { int results = 0; // number of result sets received @@ -514,6 +540,7 @@ class JPredThread extends JWS1Thread implements WSClientI wsInfo.showResultsNewFrame .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(java.awt.event.ActionEvent evt) { displayResults(true); @@ -522,6 +549,7 @@ class JPredThread extends JWS1Thread implements WSClientI wsInfo.mergeResults .addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(java.awt.event.ActionEvent evt) { displayResults(false); @@ -566,7 +594,9 @@ class JPredThread extends JWS1Thread implements WSClientI else { // do merge with other job results - throw new Error(MessageManager.getString("error.multiple_jnet_subjob_merge_not_implemented")); + throw new Error( + MessageManager + .getString("error.multiple_jnet_subjob_merge_not_implemented")); } } catch (Exception e) { @@ -574,7 +604,10 @@ class JPredThread extends JWS1Thread implements WSClientI "JNet Client: JPred Annotation Parse Error", e); wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR); - wsInfo.appendProgressText(j.getJobnum(), MessageManager.formatMessage("info.invalid_jnet_job_result_data", new String[]{OutputHeader.toString(),j.result.getStatus(), e.getMessage() })); + wsInfo.appendProgressText(j.getJobnum(), MessageManager + .formatMessage("info.invalid_jnet_job_result_data", + new String[] { OutputHeader.toString(), + j.result.getStatus(), e.getMessage() })); j.result.setBroken(true); } } @@ -585,6 +618,8 @@ class JPredThread extends JWS1Thread implements WSClientI if (newWindow) { AlignFrame af; + ((AlignmentI) res[0]).setSeqrep(((AlignmentI) res[0]) + .getSequenceAt(0)); if (input == null) { if (res[1] != null) @@ -630,21 +665,25 @@ class JPredThread extends JWS1Thread implements WSClientI } } + @Override public void pollJob(AWsJob job) throws Exception { ((JPredJob) job).result = server.getresult(job.getJobId()); } + @Override public boolean isCancellable() { return false; } + @Override public void cancelJob() { throw new Error(MessageManager.getString("error.implementation_error")); } + @Override public boolean canMergeResults() { return false;