/*
- * 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
* 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$
*/
{
super(inFile, type);
}
-
+ public JPredFile(FileParse source) throws IOException
+ {
+ super(source);
+ }
/**
* DOCUMENT ME!
*
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<aan.length; aai++)
+ {
+ annotations.addElement(aan[aai]);
+ }
+ }
}
/**
catch (java.io.IOException e)
{
System.err.println("Exception " + e);
- e.printStackTrace();
+ // e.printStackTrace(); not java 1.1 compatible!
}
}