X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileFormat.java;h=361d699c6a3a74a0fdf5deb1f6aa73cab466f225;hb=4a3def9f59cefe629c9a33d87483283aee085928;hp=ff7475f39c8b97ced9a6fa695beda1234b8566f7;hpb=b879c4a2d32d3489e63ac06917e81637e6bb4068;p=jalview.git diff --git a/src/jalview/io/FileFormat.java b/src/jalview/io/FileFormat.java index ff7475f..361d699 100644 --- a/src/jalview/io/FileFormat.java +++ b/src/jalview/io/FileFormat.java @@ -20,13 +20,15 @@ */ package jalview.io; +import java.io.IOException; + import jalview.datamodel.AlignmentI; +import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; +import jalview.ext.forester.io.PhyloXmlFile; import jalview.ext.jmol.JmolParser; import jalview.structure.StructureImportSettings; -import java.io.IOException; - public enum FileFormat implements FileFormatI { Fasta("Fasta", "fa, fasta, mfa, fastq", true, true) @@ -243,6 +245,37 @@ public enum FileFormat implements FileFormatI return new PhylipFile(); } }, + GenBank("GenBank Flatfile", "gb, gbk", true, false) + { + @Override + public AlignmentFileReaderI getReader(FileParse source) + throws IOException + { + return new GenBankFile(source, "GenBank"); + } + + @Override + public AlignmentFileWriterI getWriter(AlignmentI al) + { + return null; + } + }, + Embl("ENA Flatfile", "txt", true, false) + { + @Override + public AlignmentFileReaderI getReader(FileParse source) + throws IOException + { + // Always assume we import from EMBL for now + return new EmblFlatFile(source, DBRefSource.EMBL); + } + + @Override + public AlignmentFileWriterI getWriter(AlignmentI al) + { + return null; + } + }, Jnet("JnetFile", "", false, false) { @Override @@ -347,7 +380,7 @@ public enum FileFormat implements FileFormatI return true; } }, - Jalview("Jalview", "jar,jvp", true, true) + Jalview("Jalview", "jvp, jar", true, true) { @Override public AlignmentFileReaderI getReader(FileParse source) @@ -371,10 +404,69 @@ public enum FileFormat implements FileFormatI @Override public boolean isIdentifiable() { - return false; + return true; + } + }, + // Nexus("Nexus", "nex,nexus,nx,tre", true, true) + // { + // + // @Override + // public AlignmentFileReaderI getReader(FileParse source) + // throws IOException + // { + // return new NexusFile(source); + // } + // + // @Override + // public AlignmentFileWriterI getWriter(AlignmentI al) + // { + // // handle within Aptx? + // return null; + // } + // + // @Override + // public boolean isTextFormat() + // { + // return true; + // } + // + // @Override + // public boolean isTreeFile() + // { + // return true; + // } + // + // }, + PhyloXML("PhyloXML", "phyloxml,phylo.xml,pxml", true, true) + { + + @Override + public AlignmentFileReaderI getReader(FileParse source) + throws IOException + { + return new PhyloXmlFile(source); + } + + @Override + public AlignmentFileWriterI getWriter(AlignmentI al) + { + // handle within Aptx? + return null; + } + + @Override + public boolean isTextFormat() + { + return true; + } + + @Override + public boolean isTreeFile() + { + return true; } - }; + }; private boolean writable; private boolean readable; @@ -408,7 +500,10 @@ public enum FileFormat implements FileFormatI * @param extensions * comma-separated list of file extensions associated with the format * @param isReadable + * - can be recognised by IdentifyFile and imported with the given + * reader * @param isWritable + * - can be exported with the returned writer */ private FileFormat(String shortName, String extensions, boolean isReadable, boolean isWritable) @@ -447,6 +542,12 @@ public enum FileFormat implements FileFormatI return false; } + @Override + public boolean isTreeFile() + { + return false; + } + /** * By default, answers true, indicating the format is one that can be * identified by IdentifyFile. Formats that cannot be identified should