X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fio%2FJPredFile.java;h=dfe1ecf920550e02e1c2dc65e89133f6b2195fe8;hb=35a5186a5d49868d70138aab55dfd284119914f4;hp=a7e4e705b534f394ca2952eb8382a8958d559b88;hpb=5e9f96e1f022c55e192abfe52a5ddfead40e35e8;p=jalview.git diff --git a/src/jalview/io/JPredFile.java b/src/jalview/io/JPredFile.java index a7e4e70..dfe1ecf 100755 --- a/src/jalview/io/JPredFile.java +++ b/src/jalview/io/JPredFile.java @@ -36,8 +36,8 @@ import jalview.datamodel.*; * Automagic translation happens for annotation called 'JNETPRED' (translated to Secondary Structure Prediction), or 'JNETCONF' (translates to 'Prediction Confidence'). * Numeric scores are differentiated from symbolic by being parseable into a float vector. They are put in Scores. * Symscores gets the others. - * JNetAnnotationMaker translates the data parsed by this object into annotation on an alignment. - * + * JNetAnnotationMaker translates the data parsed by this object into annotation on an alignment. It is automatically called + * but can be used to transfer the annotation onto a sequence in another alignment (and insert gaps where necessary) * @author jprocter * @version $Revision$ */ @@ -63,7 +63,10 @@ public class JPredFile { super(inFile, type); } - + public JPredFile(FileParse source) throws IOException + { + super(source); + } /** * DOCUMENT ME! * @@ -293,6 +296,25 @@ public class JPredFile seqs.addElement(newSeq); } + if (seqs.size()>0) + { + // try to make annotation for a prediction only input (default if no alignment is given) + Alignment tal = new Alignment(this.getSeqsAsArray()); + try { + JnetAnnotationMaker.add_annotation(this, tal, QuerySeqPosition, true); + } catch (Exception e) + { + tal = null; + IOException ex = new IOException("Couldn't parse concise annotation for prediction profile.\n"+e); + throw ex; + } + this.annotations = new Vector(); + AlignmentAnnotation[] aan = tal.getAlignmentAnnotation(); + for (int aai = 0; aan!=null && aai