1 package compbio.ws.client;
\r
5 import compbio.engine.client.ConfExecutable;
\r
6 import compbio.engine.client.Executable;
\r
7 import compbio.runner.conservation.AACon;
\r
8 //import compbio.runner.predictors.Jpred;
\r
9 import compbio.runner.disorder.Disembl;
\r
10 import compbio.runner.disorder.GlobPlot;
\r
11 import compbio.runner.disorder.IUPred;
\r
12 import compbio.runner.disorder.Jronn;
\r
13 import compbio.runner.msa.ClustalO;
\r
14 import compbio.runner.msa.ClustalW;
\r
15 import compbio.runner.msa.Mafft;
\r
16 import compbio.runner.msa.Muscle;
\r
17 import compbio.runner.msa.Probcons;
\r
18 import compbio.runner.msa.MSAprobs;
\r
19 import compbio.runner.msa.GLprobs;
\r
20 import compbio.runner.msa.Tcoffee;
\r
21 import compbio.runner.structure.RNAalifold;
\r
23 public class ServicesUtil {
\r
25 public static Services getServiceByRunner(Class<? extends Executable> class1) {
\r
26 assert class1 != null;
\r
27 String sname = class1.getSimpleName().toLowerCase();
\r
28 for (Services service : Services.values()) {
\r
29 if (service.toString().toLowerCase().contains(sname)) {
\r
36 private static Class<? extends Executable<?>> getServiceImpl(Services service) {
\r
41 // return Jpred.class;
\r
43 return ClustalO.class;
\r
45 return ClustalW.class;
\r
49 return Muscle.class;
\r
51 return Tcoffee.class;
\r
53 return Probcons.class;
\r
55 return MSAprobs.class;
\r
57 return GLprobs.class;
\r
59 return Disembl.class;
\r
61 return GlobPlot.class;
\r
65 return IUPred.class;
\r
67 return RNAalifold.class;
\r
69 throw new RuntimeException("Unknown web service implementation class for service: " + service);
\r
73 public static Class<? extends Executable<?>> getRunnerByJobDirectory(File jobdir) {
\r
74 Services service = getServiceByRunnerName(getRunnerNameByJobDirectory(jobdir));
\r
75 return getServiceImpl(service);
\r
78 private static String getRunnerNameByJobDirectory(File jobdir) {
\r
79 String name = jobdir.getName().split("#")[0];
\r
81 if (name.startsWith(ConfExecutable.CLUSTER_TASK_ID_PREFIX)) {
\r
82 assert ConfExecutable.CLUSTER_TASK_ID_PREFIX.length() == 1;
\r
83 name = name.substring(1);
\r
88 public static Services getServiceByJobDirectory(File jobdir) {
\r
89 return getServiceByRunnerName(getRunnerNameByJobDirectory(jobdir));
\r
92 private static Services getServiceByRunnerName(String name) {
\r
93 for (Services service : Services.values()) {
\r
94 String runnerName = getServiceImpl(service).getSimpleName().toLowerCase();
\r
95 name = name.trim().toLowerCase();
\r
96 if (name.startsWith(runnerName)) {
\r