X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJPredFile.java;h=5bc615ec0af0d76c4966daee69633db919f79875;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=1e1b8bf3fb03f1afc9117466ccd0845a2f9c33fb;hpb=506d60f0e188723ddc91c26824b41ac7034df3fe;p=jalview.git diff --git a/src/jalview/io/JPredFile.java b/src/jalview/io/JPredFile.java index 1e1b8bf..5bc615e 100755 --- a/src/jalview/io/JPredFile.java +++ b/src/jalview/io/JPredFile.java @@ -1,20 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors * - * 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 file is part of Jalview. * - * 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. + * Jalview 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 3 + * of the License, or (at your option) any later version. + * + * Jalview 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 + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ /** * PredFile.java @@ -23,10 +25,16 @@ */ package jalview.io; -import java.io.*; -import java.util.*; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceI; +import jalview.util.MessageManager; -import jalview.datamodel.*; +import java.io.IOException; +import java.util.Hashtable; +import java.util.StringTokenizer; +import java.util.Vector; /** * Parser for the JPred/JNet concise format. This is a series of CSV lines, each @@ -52,7 +60,8 @@ public class JPredFile extends AlignFile Hashtable Scores; // Hash of names and score vectors Hashtable Symscores; // indexes of symbol annotation properties in sequenceI - // vector + + // vector private int QuerySeqPosition; @@ -60,12 +69,12 @@ public class JPredFile extends AlignFile * Creates a new JPredFile object. * * @param inFile - * DOCUMENT ME! + * DOCUMENT ME! * @param type - * DOCUMENT ME! + * DOCUMENT ME! * * @throws IOException - * DOCUMENT ME! + * DOCUMENT ME! */ public JPredFile(String inFile, String type) throws IOException { @@ -81,7 +90,7 @@ public class JPredFile extends AlignFile * DOCUMENT ME! * * @param QuerySeqPosition - * DOCUMENT ME! + * DOCUMENT ME! */ public void setQuerySeqPosition(int QuerySeqPosition) { @@ -207,8 +216,8 @@ public class JPredFile extends AlignFile for (int j = 0; j < i; j++) { - scores.setElementAt((Object) ((Float) scores.elementAt(j)) - .toString(), j); + scores.setElementAt( + (Object) ((Float) scores.elementAt(j)).toString(), j); } scores.addElement((Object) ascore); @@ -290,24 +299,26 @@ public class JPredFile extends AlignFile if (maxLength != seq_entries.elementAt(i).toString().length()) { - throw new IOException("JPredConcise: Entry (" - + ids.elementAt(i).toString() - + ") has an unexpected number of columns"); + throw new IOException( + MessageManager + .formatMessage( + "exception.jpredconcide_entry_has_unexpected_number_of_columns", + new String[] { ids.elementAt(i).toString() })); } if ((newSeq.getName().startsWith("QUERY") || newSeq.getName() - .startsWith("align;")) - && (QuerySeqPosition == -1)) + .startsWith("align;")) && (QuerySeqPosition == -1)) { QuerySeqPosition = seqs.size(); } seqs.addElement(newSeq); } - if (seqs.size() > 0) + if (seqs.size() > 0 && QuerySeqPosition > -1) { // try to make annotation for a prediction only input (default if no - // alignment is given) + // alignment is given and prediction contains a QUERY or align;sequence_id + // line) Alignment tal = new Alignment(this.getSeqsAsArray()); try { @@ -317,8 +328,12 @@ public class JPredFile extends AlignFile { tal = null; IOException ex = new IOException( - "Couldn't parse concise annotation for prediction profile.\n" - + e); + MessageManager + .formatMessage( + "exception.couldnt_parse_concise_annotation_for_prediction", + new String[] { e.getMessage() })); + e.printStackTrace(); // java 1.1 does not have : + // ex.setStackTrace(e.getStackTrace()); throw ex; } this.annotations = new Vector(); @@ -344,7 +359,7 @@ public class JPredFile extends AlignFile * DOCUMENT ME! * * @param args - * DOCUMENT ME! + * DOCUMENT ME! */ public static void main(String[] args) { @@ -407,8 +422,8 @@ public class JPredFile extends AlignFile /* * StringBuffer out = new StringBuffer(); * - * out.append("START PRED\n"); for (int i = 0; i < s[0].sequence.length(); i++) { - * out.append(s[0].sequence.substring(i, i + 1) + " "); + * out.append("START PRED\n"); for (int i = 0; i < s[0].sequence.length(); i++) + * { out.append(s[0].sequence.substring(i, i + 1) + " "); * out.append(s[1].sequence.substring(i, i + 1) + " "); * out.append(s[1].score[0].elementAt(i) + " "); * out.append(s[1].score[1].elementAt(i) + " "); @@ -419,12 +434,11 @@ public class JPredFile extends AlignFile * * public static void main(String[] args) { try { BLCFile blc = new * BLCFile(args[0], "File"); DrawableSequence[] s = new - * DrawableSequence[blc.seqs.size()]; for (int i = 0; i < blc.seqs.size(); i++) { - * s[i] = new DrawableSequence( (Sequence) blc.seqs.elementAt(i)); } String out = - * BLCFile.print(s); + * DrawableSequence[blc.seqs.size()]; for (int i = 0; i < blc.seqs.size(); i++) + * { s[i] = new DrawableSequence( (Sequence) blc.seqs.elementAt(i)); } String + * out = BLCFile.print(s); * * AlignFrame af = new AlignFrame(null, s); af.resize(700, 500); af.show(); * System.out.println(out); } catch (java.io.IOException e) { - * System.out.println("Exception " + e); } } - * } + * System.out.println("Exception " + e); } } } */