GlobPlot service, runner and result parser
[jabaws.git] / testsrc / compbio / data / sequence / SequenceUtilTester.java
index edb57a4..9a8c5a0 100644 (file)
@@ -149,11 +149,11 @@ public class SequenceUtilTester {
        /**\r
         * This test tests the loading of horizontally formatted Jronn output file\r
         * \r
-        * First seq \r
+        * First seq\r
         * \r
-        * M    0.86010 0.88512 0.37094\r
+        * M 0.86010 0.88512 0.37094\r
         * \r
-        * T    0.79983 0.85864 0.44331\r
+        * T 0.79983 0.85864 0.44331\r
         * \r
         */\r
        @SuppressWarnings("unchecked")\r
@@ -163,18 +163,85 @@ public class SequenceUtilTester {
                FileInputStream fio;\r
                try {\r
                        fio = new FileInputStream(AllTestSuit.TEST_DATA_PATH\r
-                                       + "scores.out");\r
+                                       + "disembl.out");\r
                        Map<FastaSequence, Set<Score>> aseqs = SequenceUtil\r
                                        .readDisembl(fio);\r
                        assertNotNull(aseqs);\r
-                       assertEquals(aseqs.size(), 3); \r
+                       assertEquals(aseqs.size(), 3);\r
                        System.out.println(aseqs);\r
-                       for(FastaSequence fs: aseqs.keySet()) {\r
-                               assertTrue(" Foobar_dundeefriends Foobar dundeefriends ".contains(fs.getId()));\r
-                               Set<Score> scores = aseqs.get(fs); \r
-                               assertEquals(scores.size(),3);\r
+                       for (FastaSequence fs : aseqs.keySet()) {\r
+                               assertTrue(" Foobar_dundeefriends Foobar dundeefriends "\r
+                                               .contains(fs.getId()));\r
+                               Set<Score> scores = aseqs.get(fs);\r
+                               assertEquals(scores.size(), 3);\r
                        }\r
-                         fio.close();\r
+                       fio.close();\r
+               } catch (FileNotFoundException e) {\r
+                       e.printStackTrace();\r
+                       fail(e.getLocalizedMessage());\r
+               } catch (IOException e) {\r
+                       e.printStackTrace();\r
+                       fail(e.getLocalizedMessage());\r
+               } catch (UnknownFileFormatException e) {\r
+                       e.printStackTrace();\r
+                       fail(e.getLocalizedMessage());\r
+               }\r
+       }\r
+\r
+       /**\r
+        * This test tests the loading of horizontally formatted Jronn output file\r
+        * \r
+        * First sequence:\r
+        * \r
+        * >Foobar_dundeefriends\r
+        * \r
+        * # GlobDoms 2-358, 373-568\r
+        * \r
+        * # Disorder 1-5, 206-218, 243-250, 288-300, 313-324, 359-372, 475-481\r
+        * \r
+        * # RESIDUE DYDX RAW SMOOTHED\r
+        * \r
+        * M 0.0044 -0.2259 -0.2259\r
+        * \r
+        * T -0.1308 -0.2170 -0.2170\r
+        * \r
+        * ............\r
+        * \r
+        * > Second sequence\r
+        */\r
+       @SuppressWarnings("unchecked")\r
+       @Test\r
+       public void testReadGlobPlotResults() {\r
+\r
+               FileInputStream fio;\r
+               try {\r
+                       fio = new FileInputStream(AllTestSuit.TEST_DATA_PATH\r
+                                       + "globplot.out");\r
+                       Map<FastaSequence, Set<Score>> aseqs = SequenceUtil\r
+                                       .readGlobPlot(fio);\r
+                       assertNotNull(aseqs);\r
+                       assertEquals(aseqs.size(), 3);\r
+\r
+                       FastaSequence fsdf = null;\r
+                       Set<Score> scores = null;\r
+                       for (FastaSequence fs : aseqs.keySet()) {\r
+                               if ("Foobar_dundeefriends".contains(fs.getId())) {\r
+                                       fsdf = fs;\r
+                                       scores = aseqs.get(fs);\r
+                               }\r
+                               assertEquals(scores.size(), 5);\r
+                       }\r
+                       for (Score score : scores) {\r
+                               if (score.getMethod() == GlobProtResult.Disorder) {\r
+                                       assertEquals(score.getRanges().size(), 7);\r
+                                       assertTrue(score.getScores().isEmpty());\r
+                               }\r
+                               if (score.getMethod() == GlobProtResult.Dydx) {\r
+                                       assertFalse(score.getScores().isEmpty());\r
+                                       assertTrue(score.getRanges().isEmpty());\r
+                               }\r
+                       }\r
+                       fio.close();\r
                } catch (FileNotFoundException e) {\r
                        e.printStackTrace();\r
                        fail(e.getLocalizedMessage());\r