From 17372df0e307273ba8955f08d05ad06d1c7f54e0 Mon Sep 17 00:00:00 2001 From: jprocter Date: Wed, 31 Oct 2007 17:39:13 +0000 Subject: [PATCH] concise files can now be read as a normal alignment, and will be displayed with annotation. See javadoc for usage notes. --- src/jalview/io/JPredFile.java | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/jalview/io/JPredFile.java b/src/jalview/io/JPredFile.java index a7e4e70..b003e6a 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$ */ @@ -293,6 +293,26 @@ 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. ("+e.getMessage()+")"); + ex.setStackTrace(e.getStackTrace()); + throw ex; + } + this.annotations = new Vector(); + AlignmentAnnotation[] aan = tal.getAlignmentAnnotation(); + for (int aai = 0; aan!=null && aai