+ \r
+ @Override\r
+ public CommandBuilder<ClustalO> getParameters(ExecProvider provider) {\r
+ // Limit number of cores to 1 for ANY execution which does not set\r
+ // Ncores explicitly using setNCore method\r
+ if (ncoreNumber == 0) {\r
+ setNCore(1);\r
+ }\r
+ if (provider == Executable.ExecProvider.Cluster) {\r
+ int cpunum = SkeletalExecutable.getClusterCpuNum(getType());\r
+ if (cpunum != 0) {\r
+ setNCore(cpunum);\r
+ } \r
+ }\r
+ return super.getParameters(provider);\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