X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAlignFile.java;h=93803c80b460b85ec9dd3fe8fedcbbd3df84c49a;hb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;hp=ad834be8c071b4ffda0f1dc6103aee5a9b4cf8f4;hpb=a45774ee31d9f35d4eff46d54d7deab719afb092;p=jalview.git diff --git a/src/jalview/io/AlignFile.java b/src/jalview/io/AlignFile.java index ad834be..93803c8 100755 --- a/src/jalview/io/AlignFile.java +++ b/src/jalview/io/AlignFile.java @@ -1,26 +1,32 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) + * Copyright (C) 2014 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. - * + * * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ 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.datamodel.*; +import java.io.IOException; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Vector; /** * DOCUMENT ME! @@ -37,7 +43,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 @@ -73,10 +79,13 @@ public abstract class AlignFile extends FileParse public AlignFile(String inFile, String type) throws IOException { 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); + } } /** @@ -91,12 +100,17 @@ public abstract class AlignFile extends FileParse 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; } @@ -127,7 +141,17 @@ public abstract class AlignFile extends FileParse addProperties(al); for (int i = 0; i < annotations.size(); i++) { - al.addAnnotation((AlignmentAnnotation) annotations.elementAt(i)); + // detect if annotations.elementAt(i) rna secondary structure + // if so then do: + /* + * SequenceFeature[] pairArray = + * Rna.GetBasePairsFromAlignmentAnnotation(annotations.elementAt(i)); + * Rna.HelixMap(pairArray); + */ + AlignmentAnnotation an = (AlignmentAnnotation) annotations + .elementAt(i); + an.validateRangeAndDisplay(); + al.addAnnotation(an); } }