X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJPredFile.java;h=451ece808444c0d4dbbdf9f2a8622a7987991cc6;hb=ee198b3ca3687f18a2ee186f4e7c7330f4ea30f0;hp=509758b8a3a750d1d5077b3da7d4db09674962ad;hpb=28787d9646cca5dd77190930f59b7ff32cf995b4;p=jalview.git diff --git a/src/jalview/io/JPredFile.java b/src/jalview/io/JPredFile.java index 509758b..451ece8 100755 --- a/src/jalview/io/JPredFile.java +++ b/src/jalview/io/JPredFile.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * 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. + * 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 Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ /** * PredFile.java @@ -22,19 +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 javax.xml.parsers.ParserConfigurationException; - -import org.xml.sax.SAXException; - -import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax; -import fr.orsay.lri.varna.exceptions.ExceptionLoadingFailed; -import fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied; -import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses; - -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 @@ -70,25 +70,19 @@ public class JPredFile extends AlignFile * * @param inFile * DOCUMENT ME! - * @param type + * @param sourceType * DOCUMENT ME! * * @throws IOException * DOCUMENT ME! - * @throws SAXException - * @throws ParserConfigurationException - * @throws ExceptionFileFormatOrSyntax - * @throws ExceptionLoadingFailed - * @throws ExceptionPermissionDenied - * @throws InterruptedException - * @throws ExceptionUnmatchedClosingParentheses */ - public JPredFile(String inFile, String type) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException, ExceptionUnmatchedClosingParentheses + public JPredFile(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } - public JPredFile(FileParse source) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException, ExceptionUnmatchedClosingParentheses + public JPredFile(FileParse source) throws IOException { super(source); } @@ -137,6 +131,7 @@ public class JPredFile extends AlignFile /** * DOCUMENT ME! */ + @Override public void initData() { super.initData(); @@ -148,6 +143,7 @@ public class JPredFile extends AlignFile /** * parse a JPred concise file into a sequence-alignment like object. */ + @Override public void parse() throws IOException { // JBPNote log.System.out.println("all read in "); @@ -212,7 +208,7 @@ public class JPredFile extends AlignFile ascore = symbols.nextToken(); Float score = new Float(ascore); - scores.addElement((Object) score); + scores.addElement(score); } Scores.put(id, scores); @@ -224,15 +220,15 @@ public class JPredFile extends AlignFile for (int j = 0; j < i; j++) { scores.setElementAt( - (Object) ((Float) scores.elementAt(j)).toString(), j); + ((Float) scores.elementAt(j)).toString(), j); } - scores.addElement((Object) ascore); + scores.addElement(ascore); while (symbols.hasMoreTokens()) { ascore = symbols.nextToken(); - scores.addElement((Object) ascore); + scores.addElement(ascore); } Scores.put(id, scores); @@ -272,7 +268,9 @@ public class JPredFile extends AlignFile } if (QuerySeqPosition == -1) + { QuerySeqPosition = ids.size(); + } ids.addElement(name); noSeqs++; } @@ -285,7 +283,7 @@ public class JPredFile extends AlignFile seq_entries.addElement(newseq.toString()); ids.addElement(id); - Symscores.put((Object) id, (Object) new Integer(ids.size() - 1)); + Symscores.put(id, new Integer(ids.size() - 1)); } } } @@ -306,9 +304,11 @@ 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() @@ -333,8 +333,10 @@ 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; @@ -353,6 +355,7 @@ public class JPredFile extends AlignFile * * @return String */ + @Override public String print() { return "Not Supported"; @@ -363,25 +366,18 @@ public class JPredFile extends AlignFile * * @param args * DOCUMENT ME! - * @throws SAXException - * @throws ParserConfigurationException - * @throws ExceptionFileFormatOrSyntax - * @throws ExceptionLoadingFailed - * @throws ExceptionPermissionDenied - * @throws InterruptedException - * @throws ExceptionUnmatchedClosingParentheses */ - public static void main(String[] args) throws ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException, ExceptionUnmatchedClosingParentheses + public static void main(String[] args) { try { - JPredFile blc = new JPredFile(args[0], "File"); + JPredFile jpred = new JPredFile(args[0], DataSourceType.FILE); - for (int i = 0; i < blc.seqs.size(); i++) + for (int i = 0; i < jpred.seqs.size(); i++) { - System.out.println(((Sequence) blc.seqs.elementAt(i)).getName() + System.out.println(((Sequence) jpred.seqs.elementAt(i)).getName() + "\n" - + ((Sequence) blc.seqs.elementAt(i)).getSequenceAsString() + + ((Sequence) jpred.seqs.elementAt(i)).getSequenceAsString() + "\n"); } } catch (java.io.IOException e) @@ -412,7 +408,7 @@ public class JPredFile extends AlignFile } // check that no stray annotations have been added at the end. { - SequenceI sq = (SequenceI) seqs.elementAt(j - 1); + SequenceI sq = seqs.elementAt(j - 1); if (sq.getName().toUpperCase().startsWith("JPRED")) { annotSeqs.addElement(sq);