JAL-2344 added FileFormatI.isStructureFile()
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 28 Nov 2016 14:35:59 +0000 (14:35 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 28 Nov 2016 14:35:59 +0000 (14:35 +0000)
src/jalview/io/AppletFormatAdapter.java
src/jalview/io/FileFormat.java
src/jalview/io/FileFormatI.java

index 74fd422..45d65d6 100755 (executable)
@@ -75,60 +75,8 @@ public class AppletFormatAdapter
 
   private AlignExportSettingI exportSettings;
 
-  /**
-   * List of valid format strings used in the isValidFormat method
-   */
-  // public static final String[] READABLE_FORMATS = new String[] { "BLC",
-  // "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH", "PDB",
-  // "JnetFile", "RNAML", "PHYLIP", "JSON",
-  // IdentifyFile.FeaturesFile, "HTML", "mmCIF" };
-
-  /**
-   * List of readable format file extensions by application in order
-   * corresponding to READABLE_FNAMES
-   */
-  // public static final String[] READABLE_EXTENSIONS = new String[] {
-  // "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
-  // "sto,stk", "xml,rnaml", "phy", "json", ".gff2,gff3", "jar,jvp",
-  // "html", "cif" };
-
-  //
-  // /**
-  // * List of readable formats by application in order corresponding to
-  // * READABLE_EXTENSIONS
-  // */
-  // public static final String[] READABLE_FNAMES = new String[] { "Fasta",
-  // "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Stockholm", "RNAML",
-  // "PHYLIP", "JSON", IdentifyFile.FeaturesFile,
-  // "Jalview", HtmlFile.FILE_DESC, "mmCIF" };
-
-  /**
-   * List of valid format strings for use by callers of the formatSequences
-   * method
-   */
-  // public static final String[] WRITEABLE_FORMATS = new String[] { "BLC",
-  // "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "AMSA", "STH",
-  // "PHYLIP", "JSON" };
-
-  /**
-   * List of extensions corresponding to file format types in WRITABLE_FNAMES
-   * that are writable by the application.
-   */
-  // public static final String[] WRITABLE_EXTENSIONS = new String[] {
-  // "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
-  // "sto,stk", "phy", "json", "jvp" };
-
-  /**
-   * List of writable formats by the application. Order must correspond with the
-   * WRITABLE_EXTENSIONS list of formats.
-   */
-  // public static final String[] WRITABLE_FNAMES = new String[] { "Fasta",
-  // "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "STH", "PHYLIP",
-  // "JSON", "Jalview" };
-
   public static String INVALID_CHARACTERS = "Contains invalid characters";
 
-  // TODO: make these messages dynamic
   public static String SUPPORTED_FORMATS = "Formats currently supported are\n"
           + prettyPrint(FileFormat.getReadableFormats());
 
@@ -194,23 +142,22 @@ public class AppletFormatAdapter
     this.inFile = file;
     try
     {
-      if (FileFormat.PDB.equals(fileFormat)
-              || FileFormat.MMCif.equals(fileFormat))
+      if (fileFormat.isStructureFile())
       {
-        boolean isParseWithJMOL = StructureImportSettings
-                .getDefaultPDBFileParser().equalsIgnoreCase(
+        String structureParser = StructureImportSettings
+                .getDefaultPDBFileParser();
+        boolean isParseWithJMOL = structureParser.equalsIgnoreCase(
                         StructureImportSettings.StructureParser.JMOL_PARSER
                                 .toString());
+        StructureImportSettings.addSettings(annotFromStructure,
+                localSecondaryStruct, serviceSecondaryStruct);
         if (isParseWithJMOL)
         {
-          StructureImportSettings.addSettings(annotFromStructure,
-                  localSecondaryStruct, serviceSecondaryStruct);
-          alignFile = new JmolParser(inFile,                  sourceType);
+          alignFile = new JmolParser(inFile, sourceType);
         }
         else
         {
-          StructureImportSettings.addSettings(annotFromStructure,
-                  localSecondaryStruct, serviceSecondaryStruct);
+          // todo is MCview parsing obsolete yet?
           StructureImportSettings.setShowSeqFeatures(true);
           alignFile = new MCview.PDBfile(annotFromStructure,
                   localSecondaryStruct, serviceSecondaryStruct, inFile,
@@ -223,22 +170,6 @@ public class AppletFormatAdapter
       {
         alignFile = fileFormat.getAlignmentFile(inFile, sourceType);
       }
-      // new FastaFile(inFile, sourceType);
-      // new MSFfile(inFile, sourceType);
-      // new PileUpfile(inFile, sourceType);
-      // new ClustalFile(inFile, sourceType);
-      // new BLCFile(inFile, sourceType);
-      // new PIRFile(inFile, sourceType);
-      // new PfamFile(inFile, sourceType);
-      // alignFile = new JPredFile(inFile, sourceType);
-      // ((JPredFile) alignFile).removeNonSequences();
-      // new StockholmFile(inFile, sourceType);
-      // new SimpleBlastFile(inFile, sourceType);
-      // new PhylipFile(inFile, sourceType);
-      // new JSONFile(inFile, sourceType);
-      // new HtmlFile(inFile, sourceType);
-      // new RnamlFile(inFile, sourceType);
-      // alignFile = new FeaturesFile(true, inFile, sourceType);
       return buildAlignmentFromFile();
     } catch (Exception e)
     {
index d52045c..5f441d2 100644 (file)
@@ -404,6 +404,12 @@ public enum FileFormat implements FileFormatI
     {
       return new JmolParser(); // todo or null?
     }
+
+    @Override
+    public boolean isStructureFile()
+    {
+      return true;
+    }
   },
   MMCif("mmCIF", "cif", true, false)
   {
@@ -427,6 +433,12 @@ public enum FileFormat implements FileFormatI
     {
       return new JmolParser(); // todo or null?
     }
+
+    @Override
+    public boolean isStructureFile()
+    {
+      return true;
+    }
   },
   Jalview("Jalview", "jar,jvp", true, true)
   {
@@ -591,4 +603,10 @@ public enum FileFormat implements FileFormatI
   {
     return true;
   }
+
+  @Override
+  public boolean isStructureFile()
+  {
+    return false;
+  }
 }
index 319df9f..0593d1e 100644 (file)
@@ -53,4 +53,11 @@ public interface FileFormatI
    * @return
    */
   boolean isTextFormat();
+
+  /**
+   * Answers true if the file format is one that provides a 3D structure
+   * 
+   * @return
+   */
+  boolean isStructureFile();
 }