1 package compbio.runner.structure;
\r
4 import java.io.FileNotFoundException;
\r
5 import java.io.IOException;
\r
7 import org.apache.log4j.Logger;
\r
9 import compbio.data.sequence.RNAStructScoreManager;
\r
10 import compbio.engine.client.PipedExecutable;
\r
11 import compbio.engine.client.SkeletalExecutable;
\r
12 import compbio.metadata.ResultNotAvailableException;
\r
13 import compbio.runner.Util;
\r
15 public class RNAalifold extends SkeletalExecutable<RNAalifold>
\r
16 implements PipedExecutable<RNAalifold> {
\r
19 private static Logger log = Logger.getLogger(RNAalifold.class);
\r
21 // May not be necessary as defult is "<space>" but still dont know
\r
22 // How to deal with different key value separators for different params
\r
23 public static final String KEY_VALUE_SEPARATOR = Util.SPACE;
\r
25 public RNAalifold() {
\r
26 super(KEY_VALUE_SEPARATOR);
\r
30 public RNAalifold setOutput(String outFile) {
\r
31 super.setOutput(outFile);
\r
36 public RNAalifold setInput(String inFile) {
\r
37 cbuilder.setLast(inFile);
\r
38 super.setInput(inFile);
\r
42 @SuppressWarnings("unchecked")
\r
44 public Class<RNAalifold> getType() {
\r
45 return (Class<RNAalifold>) this.getClass();
\r
48 @SuppressWarnings("unchecked")
\r
50 public RNAStructScoreManager getResults(String workDirectory)
\r
51 throws ResultNotAvailableException {
\r
53 return Util.readRNAStruct(workDirectory, getOutput());
\r
55 } catch (FileNotFoundException e) {
\r
56 log.error(e.getMessage(), e.getCause());
\r
57 throw new ResultNotAvailableException(e);
\r
58 } catch (IOException e) {
\r
59 log.error(e.getMessage(), e.getCause());
\r
60 throw new ResultNotAvailableException(e);
\r