+/*
+ * 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.
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
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)
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
else
{
StructureImportSettings.setShowSeqFeatures(true);
- return new MCview.PDBfile(
+ return new mc_view.PDBfile(
StructureImportSettings.isVisibleChainAnnotation(),
StructureImportSettings.isProcessSecondaryStructure(),
StructureImportSettings.isExternalSecondaryStructure(),
return true;
}
},
- Jalview("Jalview", "jar,jvp", true, true)
+ Jalview("Jalview", "jvp, jar", true, true)
{
@Override
public AlignmentFileReaderI getReader(FileParse source)
@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, false)
+ {
+
+ @Override
+ public AlignmentFileReaderI getReader(FileParse source)
+ throws IOException
+ {
+ return new PhyloXmlFile(source);
+ }
+
+ @Override
+ public AlignmentFileWriterI getWriter(AlignmentI al)
+ {
+ // TODO: JAL-4021
+ // handle within Aptx?
+ return null;
+ }
+
+ @Override
+ public boolean isTextFormat()
+ {
+ return true;
+ }
+
+ @Override
+ public boolean isTreeFile()
+ {
+ return true;
}
- };
+ };
private boolean writable;
private boolean readable;
* @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)
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