1 package compbio.runner.structure;
\r
3 import java.io.FileNotFoundException;
\r
4 import java.io.IOException;
\r
6 import org.apache.log4j.Logger;
\r
8 import compbio.data.sequence.RNAStructScoreManager;
\r
9 import compbio.engine.client.PipedExecutable;
\r
10 import compbio.engine.client.SkeletalExecutable;
\r
11 import compbio.metadata.ResultNotAvailableException;
\r
12 import compbio.runner.RunnerUtil;
\r
14 public class RNAalifold extends SkeletalExecutable<RNAalifold>
\r
15 implements PipedExecutable<RNAalifold> {
\r
17 private static Logger log = Logger.getLogger(RNAalifold.class);
\r
19 // May not be necessary as defult is "<space>" but still dont know
\r
20 // How to deal with different key value separators for different params
\r
21 public static final String KEY_VALUE_SEPARATOR = " ";
\r
23 public RNAalifold() {
\r
24 super(KEY_VALUE_SEPARATOR);
\r
28 public RNAalifold setOutput(String outFile) {
\r
29 super.setOutput(outFile);
\r
34 public RNAalifold setInput(String inFile) {
\r
35 cbuilder.setLast(inFile);
\r
36 super.setInput(inFile);
\r
40 @SuppressWarnings("unchecked")
\r
42 public Class<RNAalifold> getType() {
\r
43 return (Class<RNAalifold>) this.getClass();
\r
46 @SuppressWarnings("unchecked")
\r
48 public RNAStructScoreManager getResults(String workDirectory)
\r
49 throws ResultNotAvailableException {
\r
51 return RunnerUtil.readRNAStruct(workDirectory, getOutput());
\r
52 } catch (FileNotFoundException e) {
\r
53 log.error(e.getMessage(), e.getCause());
\r
54 throw new ResultNotAvailableException(e);
\r
55 } catch (IOException e) {
\r
56 log.error(e.getMessage(), e.getCause());
\r
57 throw new ResultNotAvailableException(e);
\r