Some refactoring
[jabaws.git] / runner / compbio / runner / disorder / Jronn.java
index 1b9037e..0bf17e4 100644 (file)
@@ -23,6 +23,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;\r
 import java.io.IOException;\r
 import java.io.InputStream;\r
+import java.security.InvalidParameterException;\r
 import java.util.Arrays;\r
 import java.util.List;\r
 \r
@@ -48,8 +49,18 @@ import compbio.runner.Util;
  */\r
 public class Jronn extends SkeletalExecutable<Jronn> {\r
 \r
+       \r
        private static Logger log = Logger.getLogger(Jronn.class);\r
 \r
+       /**\r
+        * Number of cores to use, defaults to 1 for local execution or the value of\r
+        * "jronn.cluster.cpunum" property for cluster execution\r
+        */\r
+       private int ncoreNumber = 0;\r
+\r
+       private String ncorePrm = "-n";\r
+\r
+       \r
        // Cache for Limits information\r
        private static LimitsManager<Jronn> limits;\r
 \r
@@ -57,7 +68,7 @@ public class Jronn extends SkeletalExecutable<Jronn> {
        public static final String STAT_FILE = "stat.txt";\r
 \r
        public Jronn() {\r
-               addParameters(Arrays.asList("-jar", getLibPath(), "-n=1", "-s="\r
+               addParameters(Arrays.asList("-jar", getLibPath(), "-s="\r
                                + STAT_FILE, "-f=H"));\r
        }\r
 \r
@@ -161,4 +172,19 @@ public class Jronn extends SkeletalExecutable<Jronn> {
        public static String getStatFile() {\r
                return STAT_FILE;\r
        }\r
+       \r
+       public void setNCore(int ncoreNumber) {\r
+               if (ncoreNumber < 1 || ncoreNumber > 100) {\r
+                       throw new IndexOutOfBoundsException(\r
+                                       "Number of cores must be within 1 and 100 ");\r
+               }\r
+               this.ncoreNumber = ncoreNumber;\r
+               cbuilder.setParam(ncorePrm, Integer.toString(getNCore()));\r
+       }\r
+\r
+       int getNCore() {\r
+               return ncoreNumber;\r
+       }\r
+       \r
+    \r
 }\r