X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFormatAdapter.java;h=74410a186d56b127812138108093f65b46073e8e;hb=2a42323bc7b92e39c676fc46768f28d032f2f686;hp=8ca0c35c9da212afcd5ba2188d710d0d1d853754;hpb=13317fa1bc7bf640dc1967ce4438676e89390ad3;p=jalview.git diff --git a/src/jalview/io/FormatAdapter.java b/src/jalview/io/FormatAdapter.java index 8ca0c35..74410a1 100755 --- a/src/jalview/io/FormatAdapter.java +++ b/src/jalview/io/FormatAdapter.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -255,6 +255,45 @@ public class FormatAdapter extends AppletFormatAdapter return this.formatSequences(format, alignment, suffix); } + public Alignment readFile(String inFile, String type, String format) + throws java.io.IOException + { + Alignment al; + if (format.equals(JSONFile.FILE_DESC)) + { + afile = new JSONFile(inFile, type); + al = new Alignment(afile.getSeqsAsArray()); + afile.addAnnotations(al); + for (SequenceGroup sg : afile.getSeqGroups()) + { + al.addGroup(sg); + } + } + else + { + al = super.readFile(inFile, type, format); + } + return al; + } + + public AlignmentI readFromFile(FileParse source, String format) + throws java.io.IOException + { + Alignment al; + if (format.equals(JSONFile.FILE_DESC)) + { + afile = new JSONFile(source); + al = new Alignment(afile.getSeqsAsArray()); + afile.addAnnotations(al); + afile.addSeqGroups(al); + } + else + { + al = (Alignment) super.readFromFile(source, format); + } + return al; + } + /** * validate format is valid for IO in Application. This is basically the * AppletFormatAdapter.isValidFormat call with additional checks for @@ -288,4 +327,5 @@ public class FormatAdapter extends AppletFormatAdapter return formatSequences(format, getCacheSuffixDefault(format), av, selectedOnly); } + }