More work to disorder prediction client & services.
[jabaws.git] / testsrc / compbio / data / sequence / SequenceUtilTester.java
index 9a8c5a0..7db01ee 100644 (file)
@@ -24,6 +24,8 @@ import java.io.FileNotFoundException;
 import java.io.FileOutputStream;\r
 import java.io.IOException;\r
 import java.io.InputStream;\r
+import java.io.PrintWriter;\r
+import java.util.HashMap;\r
 import java.util.HashSet;\r
 import java.util.List;\r
 import java.util.Map;\r
@@ -82,6 +84,31 @@ public class SequenceUtilTester {
        }\r
 \r
        @Test()\r
+       public void testCleanProteinSequence() {\r
+               String dirtySeq = "atgAGTggt\taGGTgc\ncgcAC\rTgc gACtcgcGAt cgA ";\r
+               assertFalse(SequenceUtil.isProteinSequence(dirtySeq));\r
+               // This will still be NON protein sequence despite having only correct\r
+               // letters because the letters match perfectly the nucleotide sequence!\r
+               assertFalse(SequenceUtil.isProteinSequence(SequenceUtil\r
+                               .cleanProteinSequence(dirtySeq)));\r
+\r
+               String notaSeq = "atgc1tgatgcatgcatgatgmctga";\r
+               assertFalse(SequenceUtil.isProteinSequence(notaSeq));\r
+               assertTrue(SequenceUtil.isProteinSequence(SequenceUtil\r
+                               .cleanProteinSequence(notaSeq)));\r
+\r
+               String AAseq = "ARLGRVRWTQQRHAEAAVLLQQASDAAPEHPGIALWLGHALEDAGQAEAAAAAYTRAHQL";\r
+               assertTrue(SequenceUtil.isProteinSequence(AAseq));\r
+               assertTrue(SequenceUtil.isProteinSequence(SequenceUtil\r
+                               .cleanProteinSequence(AAseq)));\r
+               AAseq += "XU";\r
+\r
+               assertFalse(SequenceUtil.isProteinSequence(AAseq));\r
+               assertTrue(SequenceUtil.isProteinSequence(SequenceUtil\r
+                               .cleanProteinSequence(AAseq)));\r
+       }\r
+\r
+       @Test()\r
        public void testReadWriteFasta() {\r
 \r
                try {\r
@@ -164,14 +191,14 @@ public class SequenceUtilTester {
                try {\r
                        fio = new FileInputStream(AllTestSuit.TEST_DATA_PATH\r
                                        + "disembl.out");\r
-                       Map<FastaSequence, Set<Score>> aseqs = SequenceUtil\r
-                                       .readDisembl(fio);\r
+                       Map<String, Set<Score>> aseqs = SequenceUtil.readDisembl(fio);\r
                        assertNotNull(aseqs);\r
                        assertEquals(aseqs.size(), 3);\r
-                       System.out.println(aseqs);\r
-                       for (FastaSequence fs : aseqs.keySet()) {\r
+                       ScoreManager sman = ScoreManager.newInstance(aseqs);\r
+\r
+                       for (String fs : aseqs.keySet()) {\r
                                assertTrue(" Foobar_dundeefriends Foobar dundeefriends "\r
-                                               .contains(fs.getId()));\r
+                                               .contains(fs));\r
                                Set<Score> scores = aseqs.get(fs);\r
                                assertEquals(scores.size(), 3);\r
                        }\r
@@ -217,26 +244,31 @@ public class SequenceUtilTester {
                try {\r
                        fio = new FileInputStream(AllTestSuit.TEST_DATA_PATH\r
                                        + "globplot.out");\r
-                       Map<FastaSequence, Set<Score>> aseqs = SequenceUtil\r
-                                       .readGlobPlot(fio);\r
+                       HashMap<String, Set<Score>> aseqs = SequenceUtil.readGlobPlot(fio);\r
                        assertNotNull(aseqs);\r
                        assertEquals(aseqs.size(), 3);\r
 \r
-                       FastaSequence fsdf = null;\r
+                       String fsdf = null;\r
                        Set<Score> scores = null;\r
-                       for (FastaSequence fs : aseqs.keySet()) {\r
-                               if ("Foobar_dundeefriends".contains(fs.getId())) {\r
+                       for (String fs : aseqs.keySet()) {\r
+                               if ("Foobar_dundeefriends".contains(fs)) {\r
                                        fsdf = fs;\r
                                        scores = aseqs.get(fs);\r
                                }\r
                                assertEquals(scores.size(), 5);\r
                        }\r
+\r
+                       ScoreManager sm = ScoreManager.newInstanceSingleSequence(scores);\r
+                       sm.writeOut(new PrintWriter(System.out, true));\r
+\r
                        for (Score score : scores) {\r
-                               if (score.getMethod() == GlobProtResult.Disorder) {\r
+\r
+                               if (score.getMethod()\r
+                                               .equals(GlobProtResult.Disorder.toString())) {\r
                                        assertEquals(score.getRanges().size(), 7);\r
                                        assertTrue(score.getScores().isEmpty());\r
                                }\r
-                               if (score.getMethod() == GlobProtResult.Dydx) {\r
+                               if (GlobProtResult.valueOf(score.getMethod()) == GlobProtResult.Dydx) {\r
                                        assertFalse(score.getScores().isEmpty());\r
                                        assertTrue(score.getRanges().isEmpty());\r
                                }\r