JAL-3445 BSML BBB file format.
authorBobHanson <hansonr@stolaf.edu>
Sun, 14 Jun 2020 03:10:54 +0000 (22:10 -0500)
committerBobHanson <hansonr@stolaf.edu>
Sun, 14 Jun 2020 03:10:54 +0000 (22:10 -0500)
- merge of BSML test branch.
- includes BSMLFileTest
- preliminary; does not read complement
- See Jalview-JS/develop/temp/bbb.dtd.pdf

src/jalview/io/FileFormat.java
src/jalview/io/IdentifyFile.java
temp/bbb.dtd.pdf [new file with mode: 0644]
test/jalview/io/FileFormatsTest.java

index cb61740..0ad2901 100644 (file)
@@ -373,6 +373,20 @@ public enum FileFormat implements FileFormatI
     {
       return true;
     }
+  },   BSML("BSML", "bbb", true, false)
+  {
+    @Override
+    public AlignmentFileReaderI getReader(FileParse source)
+            throws IOException
+    {
+      return new BSMLFile(source);
+    }
+
+    @Override
+    public AlignmentFileWriterI getWriter(AlignmentI al)
+    {
+      return null;
+    }
   };
 
   private boolean writable;
index b312474..df40ec1 100755 (executable)
@@ -330,6 +330,11 @@ public class IdentifyFile
             reply = FileFormat.Rnaml;
             break;
           }
+          if (upper.substring(lessThan).startsWith("<BSML"))
+          {
+            reply = FileFormat.BSML;
+            break;
+          }
         }
 
         if ((data.length() < 1) || (data.indexOf("#") == 0))
diff --git a/temp/bbb.dtd.pdf b/temp/bbb.dtd.pdf
new file mode 100644 (file)
index 0000000..93f7302
Binary files /dev/null and b/temp/bbb.dtd.pdf differ
index d255fd5..677a6e9 100644 (file)
@@ -55,7 +55,7 @@ public class FileFormatsTest
   @Test(groups = "Functional")
   public void testGetReadableFormats()
   {
-    String expected = "[BSML, Fasta, PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview]";
+    String expected = "[Fasta, PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview, BSML]";
     FileFormats formats = FileFormats.getInstance();
     assertEquals(formats.getReadableFormats().toString(), expected);
   }
@@ -74,7 +74,7 @@ public class FileFormatsTest
   public void testDeregisterFileFormat()
   {
     String writable = "[Fasta, PFAM, Stockholm, PIR, BLC, AMSA, JSON, PileUp, MSF, Clustal, PHYLIP]";
-    String readable = "[BSML, Fasta, PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview]";
+    String readable = "[Fasta, PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview, BSML]";
     FileFormats formats = FileFormats.getInstance();
     System.out.println(formats.getReadableFormats().toString());
     assertEquals(formats.getWritableFormats(true).toString(), writable);
@@ -82,7 +82,7 @@ public class FileFormatsTest
 
     formats.deregisterFileFormat(FileFormat.Fasta.getName());
     writable = "[PFAM, Stockholm, PIR, BLC, AMSA, JSON, PileUp, MSF, Clustal, PHYLIP]";
-    readable = "[BSML, PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview]";
+    readable = "[PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview, BSML]";
     assertEquals(formats.getWritableFormats(true).toString(), writable);
     assertEquals(formats.getReadableFormats().toString(), readable);
 
@@ -91,7 +91,7 @@ public class FileFormatsTest
      */
     formats.registerFileFormat(FileFormat.Fasta);
     writable = "[PFAM, Stockholm, PIR, BLC, AMSA, JSON, PileUp, MSF, Clustal, PHYLIP, Fasta]";
-    readable = "[BSML, PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview, Fasta]";
+    readable = "[PFAM, Stockholm, PIR, BLC, AMSA, HTML, RNAML, JSON, PileUp, MSF, Clustal, PHYLIP, GFF or Jalview features, PDB, mmCIF, Jalview, BSML, Fasta]";
     assertEquals(formats.getWritableFormats(true).toString(), writable);
     assertEquals(formats.getReadableFormats().toString(), readable);
   }