X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webservices%2Fcompbio%2Fws%2Fserver%2FTcoffeeWS.java;h=ee1c1c609f95ac535eae6098f1345d0e8ae31816;hb=68fe46f278b4ec408d6c68677bd56199aac749b3;hp=5608a531533b6e068109eb66382521f83800dc59;hpb=f2ed5ce799ceb51f32daa98c9d6c8fe936bf2195;p=jabaws.git diff --git a/webservices/compbio/ws/server/TcoffeeWS.java b/webservices/compbio/ws/server/TcoffeeWS.java index 5608a53..ee1c1c6 100644 --- a/webservices/compbio/ws/server/TcoffeeWS.java +++ b/webservices/compbio/ws/server/TcoffeeWS.java @@ -1,6 +1,6 @@ -/* Copyright (c) 2009 Peter Troshin +/* Copyright (c) 2011 Peter Troshin * - * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 + * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 * * This library is free software; you can redistribute it and/or modify it under the terms of the * Apache License version 2 as published by the Apache Software Foundation @@ -21,20 +21,21 @@ package compbio.ws.server; import java.io.File; import java.util.List; -import javax.annotation.Resource; import javax.jws.WebService; -import javax.xml.ws.WebServiceContext; import org.apache.log4j.Logger; +import compbio.data.msa.JABAService; import compbio.data.msa.MsaWS; import compbio.data.sequence.Alignment; import compbio.data.sequence.FastaSequence; +import compbio.data.sequence.Program; import compbio.engine.AsyncExecutor; import compbio.engine.Configurator; import compbio.engine.client.ConfiguredExecutable; import compbio.engine.client.Executable; import compbio.engine.client.SkeletalExecutable; +import compbio.engine.client.EngineUtil; import compbio.metadata.ChunkHolder; import compbio.metadata.JobStatus; import compbio.metadata.JobSubmissionException; @@ -46,41 +47,32 @@ import compbio.metadata.PresetManager; import compbio.metadata.ResultNotAvailableException; import compbio.metadata.RunnerConfig; import compbio.metadata.WrongParameterException; -import compbio.runner.Util; +import compbio.runner.RunnerUtil; import compbio.runner.msa.Tcoffee; -@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = "http://msa.data.compbio/01/01/2010/", serviceName = "TcoffeeWS") +@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "TcoffeeWS") public class TcoffeeWS implements MsaWS { - // Ask for resource injection - @Resource - WebServiceContext wsContext; - - private static Logger statLog = Logger.getLogger("TcoffeeWS-stats"); - private static Logger log = Logger.getLogger(TcoffeeWS.class); - - private static final RunnerConfig tcoffeeOptions = Util - .getSupportedOptions(Tcoffee.class); - - private static final PresetManager tcoffeePresets = Util - .getPresets(Tcoffee.class); - - private static final LimitsManager limitMan = compbio.runner.Util - .getLimits(new Tcoffee().getType()); + private static final RunnerConfig tcoffeeOptions = RunnerUtil.getSupportedOptions(Tcoffee.class); + private static final PresetManager tcoffeePresets = RunnerUtil.getPresets(Tcoffee.class); + private static final LimitsManager limitMan = EngineUtil.getLimits(new Tcoffee().getType()); @Override public String align(List sequences) throws JobSubmissionException { WSUtil.validateFastaInput(sequences); ConfiguredExecutable confTcoffee = init(sequences); - return WSUtil - .align(sequences, confTcoffee, null, "align", getLimit("")); + return WSUtil.align(sequences, confTcoffee, log, "align", getLimit("")); } ConfiguredExecutable init(List sequences) throws JobSubmissionException { Tcoffee tcoffee = new Tcoffee(); + tcoffee.setInput(SkeletalExecutable.INPUT) + .setOutput(SkeletalExecutable.OUTPUT) + .setError(SkeletalExecutable.ERROR); + ConfiguredExecutable confCoffee = Configurator .configureExecutable(tcoffee, sequences); if (confCoffee.getExecProvider() == Executable.ExecProvider.Cluster) { @@ -100,12 +92,10 @@ public class TcoffeeWS implements MsaWS { WSUtil.validateFastaInput(sequences); ConfiguredExecutable confTcoffee = init(sequences); - List params = WSUtil.getCommands(options, - Tcoffee.KEY_VALUE_SEPARATOR); + List params = WSUtil.getCommands(options, Tcoffee.KEY_VALUE_SEPARATOR); log.info("Setting parameters:" + params); confTcoffee.addParameters(params); - return WSUtil.align(sequences, confTcoffee, null, "customAlign", - getLimit("")); + return WSUtil.align(sequences, confTcoffee, log, "customAlign", getLimit("")); } @Override @@ -119,7 +109,7 @@ public class TcoffeeWS implements MsaWS { ConfiguredExecutable confTcoffee = init(sequences); confTcoffee.addParameters(preset.getOptions()); Limit limit = getLimit(preset.getName()); - return WSUtil.align(sequences, confTcoffee, null, "presetAlign", limit); + return WSUtil.align(sequences, confTcoffee, log, "presetAlign", limit); } @SuppressWarnings("unchecked") @@ -130,8 +120,7 @@ public class TcoffeeWS implements MsaWS { ConfiguredExecutable tcoffee = (ConfiguredExecutable) asyncEngine .getResults(jobId); Alignment al = tcoffee.getResults(); - // log(jobId, "getResults"); - return al; + return new Alignment (al.getSequences(), Program.Tcoffee, '-'); } @Override