RNAStruct replaced by RNAStructScoreManager. Why does webservice
[jabaws.git] / runner / compbio / runner / structure / RNAalifold.java
1 package compbio.runner.structure;\r
2 \r
3 \r
4 import java.io.FileNotFoundException;\r
5 import java.io.IOException;\r
6 import java.util.Arrays;\r
7 import java.util.List;\r
8 \r
9 \r
10 \r
11 \r
12 \r
13 import org.apache.log4j.Logger;\r
14 \r
15 import compbio.data.sequence.ScoreManager;\r
16 import compbio.data.sequence.RNAStructScoreManager;\r
17 import compbio.data.sequence.UnknownFileFormatException;\r
18 import compbio.engine.client.PipedExecutable;\r
19 import compbio.engine.client.SkeletalExecutable;\r
20 import compbio.metadata.ResultNotAvailableException;\r
21 import compbio.runner.Util;\r
22 \r
23 \r
24 import compbio.engine.client.CommandBuilder;\r
25 \r
26 public class RNAalifold extends SkeletalExecutable<RNAalifold> \r
27                 implements PipedExecutable<RNAalifold> {\r
28         \r
29         \r
30         private static Logger log = Logger.getLogger(RNAalifold.class);\r
31 \r
32         // May not be necessary as defult is "<space>" but still dont know\r
33         // How to deal with different key value separators for different params\r
34         public static final String KEY_VALUE_SEPARATOR = " ";\r
35         \r
36         public RNAalifold() {\r
37                 super(KEY_VALUE_SEPARATOR);\r
38         }\r
39         \r
40         @Override\r
41         public RNAalifold setOutput(String outFile) {\r
42                 super.setOutput(outFile);\r
43                 return this;\r
44         }\r
45         \r
46         @Override\r
47         public RNAalifold setInput(String inFile) {\r
48                 cbuilder.setLast(inFile);\r
49                 super.setInput(inFile);\r
50                 return this;\r
51         }\r
52         \r
53         @SuppressWarnings("unchecked")\r
54         @Override\r
55         public Class<RNAalifold> getType() {\r
56                 return (Class<RNAalifold>) this.getClass();\r
57         }\r
58         \r
59         @SuppressWarnings("unchecked")\r
60         @Override\r
61         public RNAStructScoreManager getResults(String workDirectory)\r
62                         throws ResultNotAvailableException {\r
63                 try {\r
64                         return Util.readRNAStruct(workDirectory, getOutput());\r
65                         \r
66                 } catch (FileNotFoundException e) {\r
67                         log.error(e.getMessage(), e.getCause());\r
68                         throw new ResultNotAvailableException(e);\r
69                 } catch (IOException e) {\r
70                         log.error(e.getMessage(), e.getCause());\r
71                         throw new ResultNotAvailableException(e);\r
72                 }\r
73         }\r
74 \r
75 }\r