Add JRonn runner, tester, methods to parse jronn output files.
[jabaws.git] / runner / compbio / runner / Util.java
index a3c86c6..9475a0b 100644 (file)
@@ -27,6 +27,7 @@ import java.util.List;
 import org.apache.log4j.Logger;\r
 \r
 import compbio.data.sequence.Alignment;\r
+import compbio.data.sequence.AnnotatedSequence;\r
 import compbio.data.sequence.ClustalAlignmentUtil;\r
 import compbio.data.sequence.FastaSequence;\r
 import compbio.data.sequence.SequenceUtil;\r
@@ -130,6 +131,23 @@ public final class Util {
        return ClustalAlignmentUtil.readClustalFile(cfile);\r
     }\r
 \r
+    public static final List<AnnotatedSequence> readJronnFile(\r
+           String workDirectory, String clustFile)\r
+           throws UnknownFileFormatException, IOException,\r
+           FileNotFoundException, NullPointerException {\r
+       assert !compbio.util.Util.isEmpty(workDirectory);\r
+       assert !compbio.util.Util.isEmpty(clustFile);\r
+       File cfile = new File(compbio.engine.client.Util.getFullPath(\r
+               workDirectory, clustFile));\r
+       log.trace("Jronn OUTPUT FILE PATH: " + cfile.getAbsolutePath());\r
+       if (!(cfile.exists() && cfile.length() > 0)) {\r
+           throw new FileNotFoundException("Result for the jobId "\r
+                   + workDirectory + " with file name " + clustFile\r
+                   + " is not found!");\r
+       }\r
+       return SequenceUtil.readJRonn(cfile);\r
+    }\r
+\r
     public static void writeInput(List<FastaSequence> sequences,\r
            ConfiguredExecutable<?> exec) {\r
 \r