JAL-1260 file formats and IdentifyFile updates for GenBank and ENA
[jalview.git] / src / jalview / io / IdentifyFile.java
index 8fa76ec..e7ee711 100755 (executable)
@@ -165,16 +165,16 @@ public class IdentifyFile
           if (source.inFile != null)
           {
             String fileStr = source.inFile.getName();
-            // possibly a Jalview archive.
-            if (fileStr.lastIndexOf(".jar") > -1
-                    || fileStr.lastIndexOf(".zip") > -1)
+            if (fileStr.contains(".jar")
+                    || fileStr.contains(".zip") || fileStr.contains(".jvp"))
             {
+              // possibly a Jalview archive (but check further)
               reply = FileFormat.Jalview;
             }
           }
           if (!lineswereskipped && data.startsWith("PK"))
           {
-            reply = FileFormat.Jalview; // archive.
+            reply = FileFormat.Jalview; // archive
             break;
           }
         }
@@ -185,6 +185,19 @@ public class IdentifyFile
           reply = FileFormat.ScoreMatrix;
           break;
         }
+        if (data.startsWith("LOCUS"))
+        {
+          reply = FileFormat.GenBank;
+          break;
+        }
+        if (data.startsWith("ID "))
+        {
+          if (data.substring(2).trim().split(";").length == 7)
+          {
+            reply = FileFormat.Embl;
+            break;
+          }
+        }
         if (data.startsWith("H ") && !aaIndexHeaderRead)
         {
           aaIndexHeaderRead = true;
@@ -452,6 +465,11 @@ public class IdentifyFile
     return true;
   }
 
+  /**
+   * 
+   * @param args
+   * @j2sIgnore
+   */
   public static void main(String[] args)
   {
     for (int i = 0; args != null && i < args.length; i++)