X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJPredFile.java;h=7daee5518c9c3a956f7322496d7516fc53335105;hb=49685e6426d5ac136dce4907196751680c667670;hp=a7e4e705b534f394ca2952eb8382a8958d559b88;hpb=5e9f96e1f022c55e192abfe52a5ddfead40e35e8;p=jalview.git diff --git a/src/jalview/io/JPredFile.java b/src/jalview/io/JPredFile.java index a7e4e70..7daee55 100755 --- a/src/jalview/io/JPredFile.java +++ b/src/jalview/io/JPredFile.java @@ -1,22 +1,21 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle - * + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) + * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * * This program 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 2 * of the License, or (at your option) any later version. - * + * * This program 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 this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ - /** * PredFile.java * JalviewX / Vamsas Project @@ -36,8 +35,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 +62,10 @@ public class JPredFile { super(inFile, type); } - + public JPredFile(FileParse source) throws IOException + { + super(source); + } /** * DOCUMENT ME! * @@ -293,6 +295,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