/*
- * 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 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
jalview.bin.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");
+ jalview.io.JPredFile prediction = new jalview.io.JPredFile(
+ result.getPredfile(), "Paste");
SequenceI[] preds = prediction.getSeqsAsArray();
jalview.bin.Cache.log.debug("Got prediction profile.");
jalview.bin.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");
+ String format = new jalview.io.IdentifyFile().Identify(
+ result.getAligfile(), "Paste");
if (jalview.io.FormatAdapter.isValidFormat(format))
{
profileseq.setSequence(sqs[msaIndex].getSequenceAsString());
}
- if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(al
- .getSequenceAt(FirstSeq), SequenceInfo))
+ if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(
+ al.getSequenceAt(FirstSeq), SequenceInfo))
{
throw (new Exception(
"Couldn't recover sequence properties for JNet Query sequence!"));
{
// Adjust input view for gaps
// propagate insertions into profile
- alcsel = propagateInsertions(profileseq, al, input);
+ alcsel = ColumnSelection.propagateInsertions(profileseq, al, input);
}
}
}
}
}
- /**
- * Add gaps into the sequences aligned to profileseq under the given
- * AlignmentView
- *
- * @param profileseq
- * @param al
- * @param input
- */
- private ColumnSelection propagateInsertions(SequenceI profileseq,
- Alignment al, AlignmentView input)
- {
- char gc = al.getGapCharacter();
- Object[] alandcolsel = input.getAlignmentAndColumnSelection(gc);
- ColumnSelection nview = (ColumnSelection) alandcolsel[1];
- SequenceI origseq;
- nview.pruneDeletions(ShiftList
- .parseMap((origseq = ((SequenceI[]) alandcolsel[0])[0])
- .gapMap())); // recover original prediction sequence's
- // mapping to view.
- int[] viscontigs = nview.getVisibleContigs(0, profileseq.getLength());
- int spos = 0;
- int offset = 0;
- // input.pruneDeletions(ShiftList.parseMap(((SequenceI[])
- // alandcolsel[0])[0].gapMap()))
- // add profile to visible contigs
- for (int v = 0; v < viscontigs.length; v += 2)
- {
- if (viscontigs[v] > spos)
- {
- StringBuffer sb = new StringBuffer();
- for (int s = 0, ns = viscontigs[v] - spos; s < ns; s++)
- {
- sb.append(gc);
- }
- for (int s = 0, ns = al.getHeight(); s < ns; s++)
- {
- SequenceI sqobj = al.getSequenceAt(s);
- if (sqobj != profileseq)
- {
- String sq = al.getSequenceAt(s).getSequenceAsString();
- if (sq.length() <= spos + offset)
- {
- // pad sequence
- int diff = spos + offset - sq.length() - 1;
- if (diff > 0)
- {
- // pad gaps
- sq = sq + sb;
- while ((diff = spos + offset - sq.length() - 1) > 0)
- {
- sq = sq
- + ((diff >= sb.length()) ? sb.toString() : sb
- .substring(0, diff));
- }
- }
- sq += sb.toString();
- }
- else
- {
- al.getSequenceAt(s).setSequence(
- sq.substring(0, spos + offset) + sb.toString()
- + sq.substring(spos + offset));
- }
- }
- }
- // offset+=sb.length();
- }
- spos = viscontigs[v + 1] + 1;
- }
- if ((offset + spos) < profileseq.getLength())
- {
- StringBuffer sb = new StringBuffer();
- for (int s = 0, ns = profileseq.getLength() - spos - offset; s < ns; s++)
- {
- sb.append(gc);
- }
- for (int s = 1, ns = al.getHeight(); s < ns; s++)
- {
- String sq = al.getSequenceAt(s).getSequenceAsString();
- // pad sequence
- int diff = origseq.getLength() - sq.length();
- while (diff > 0)
- {
- sq = sq
- + ((diff >= sb.length()) ? sb.toString() : sb
- .substring(0, diff));
- diff = origseq.getLength() - sq.length();
- }
- }
- }
- return nview;
- }
public JPredJob(Hashtable SequenceInfo, SequenceI seq, int[] delMap)
{
super();
this.predMap = delMap;
- String sq = AlignSeq.extractGaps(Comparison.GapChars, seq
- .getSequenceAsString());
+ String sq = AlignSeq.extractGaps(Comparison.GapChars,
+ seq.getSequenceAsString());
if (sq.length() >= 20)
{
this.SequenceInfo = SequenceInfo;
wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
if (e.getMessage().indexOf("Exception") > -1)
{
- wsInfo
- .setStatus(j.getJobnum(),
- WebserviceInfo.STATE_STOPPED_SERVERERROR);
- wsInfo
- .setProgressText(
- j.getJobnum(),
- "Failed to submit the prediction. (Just close the window)\n"
- + "It is most likely that there is a problem with the server.\n");
+ wsInfo.setStatus(j.getJobnum(),
+ WebserviceInfo.STATE_STOPPED_SERVERERROR);
+ wsInfo.setProgressText(
+ j.getJobnum(),
+ "Failed to submit the prediction. (Just close the window)\n"
+ + "It is most likely that there is a problem with the server.\n");
System.err
.println("JPredWS Client: Failed to submit the prediction. Quite possibly because of a server error - see below)\n"
+ e.getMessage() + "\n");
"Failed to submit the prediction:\n" + e.getMessage()
+ wsInfo.getProgressText());
- jalview.bin.Cache.log.debug("Failed Submission of job " + j.getJobnum(),
- e);
+ jalview.bin.Cache.log.debug(
+ "Failed Submission of job " + j.getJobnum(), e);
}
j.setAllowedServerExceptions(-1);
{
jalview.bin.Cache.log.error(
"JNet Client: JPred Annotation Parse Error", e);
- wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR);
+ wsInfo.setStatus(j.getJobnum(),
+ WebserviceInfo.STATE_STOPPED_ERROR);
wsInfo.appendProgressText(j.getJobnum(), OutputHeader + "\n"
+ j.result.getStatus()
+ "\nInvalid JNet job result data!\n" + e.getMessage());
public void pollJob(AWsJob job) throws Exception
{
- ((JPredJob)job).result = server.getresult(job.getJobId());
+ ((JPredJob) job).result = server.getresult(job.getJobId());
}
public boolean isCancellable()