X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAlignFile.java;h=c0f85313ee804aa666ff9395e0e0ecbe0121205e;hb=6819474b5da8df0145cfe2c65ea9445609332c20;hp=a4fb83064032610e75fb73708b50ec56d98c9118;hpb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;p=jalview.git diff --git a/src/jalview/io/AlignFile.java b/src/jalview/io/AlignFile.java index a4fb830..c0f8531 100755 --- a/src/jalview/io/AlignFile.java +++ b/src/jalview/io/AlignFile.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * 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 * * 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. - * + * * 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 @@ -17,10 +17,24 @@ */ 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 java.io.IOException; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Vector; + +import javax.xml.parsers.ParserConfigurationException; -import jalview.datamodel.*; +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; /** * DOCUMENT ME! @@ -37,7 +51,7 @@ public abstract class AlignFile extends FileParse /** * Sequences to be added to form a new alignment. */ - protected Vector seqs; + protected Vector seqs; /** * annotation to be added to generated alignment object @@ -60,6 +74,8 @@ public abstract class AlignFile extends FileParse */ public AlignFile() { + // Shouldn't we init data structures (JBPNote: not sure - initData is for initialising the structures used for reading from a datasource, and the bare constructor hasn't got any datasource) + initData(); } /** @@ -69,14 +85,18 @@ public abstract class AlignFile extends FileParse * Filename to read from. * @param type * What type of file to read from (File, URL) + * @throws Exception */ - public AlignFile(String inFile, String type) throws IOException + public AlignFile(String inFile, String type) throws Exception { super(inFile, type); - initData(); - parse(); + // sets the index of each sequence in the alignment + for (int i = 0, c = seqs.size(); i < c; i++) + { + seqs.get(i).setIndex(i); + } } /** @@ -84,19 +104,24 @@ public abstract class AlignFile extends FileParse * off. * * @param source - * @throws IOException + * @throws Exception */ - public AlignFile(FileParse source) throws IOException + public AlignFile(FileParse source) throws Exception { super(source); initData(); parse(); + // sets the index of each sequence in the alignment + for (int i = 0, c = seqs.size(); i < c; i++) + { + seqs.get(i).setIndex(i); + } } /** * Return the seqs Vector */ - public Vector getSeqs() + public Vector getSeqs() { return seqs; } @@ -226,8 +251,9 @@ public abstract class AlignFile extends FileParse /** * This method must be implemented to parse the contents of the file. + */ - public abstract void parse() throws IOException; + public abstract void parse() throws Exception; /** * Print out in alignment file format the Sequences in the seqs Vector.