1 package compbio.ws.jpred;
3 import java.io.IOException;
4 import java.util.ArrayList;
7 import javax.jws.WebService;
9 import org.apache.log4j.Logger;
11 import compbio.beans.ProteinBean;
12 import compbio.cassandra.CassandraNativeConnector;
13 import compbio.cassandra.readers.SequenceReader;
14 import compbio.engine.archive.ArchivedJob;
16 @WebService(endpointInterface = "compbio.ws.jpred.Jpred", targetNamespace = "http://server.proteocache.ws", serviceName = "ProteoCacheWS", portName = "ProteoCacheWSPort")
17 public class JpredWS implements Jpred {
18 private static Logger log = Logger.getLogger(CassandraNativeConnector.class);
21 private List<String> findJobs(String sequence, String program, String version) {
22 CassandraNativeConnector dbconnector = new CassandraNativeConnector();
23 SequenceReader reader = new SequenceReader();
24 reader.setSession(dbconnector.getSession());
25 log.debug("ProteoCacheWS is connected:\n search for sequence: " + sequence + "\ncalculated with " + program + " (version: "
27 List<String> jobs = new ArrayList<String>();
28 List<ProteinBean> result = reader.readProteins(sequence, "whole");
30 for (ProteinBean protein : result) {
31 List<String> thejobs = protein.getJobid();
32 jobid = thejobs.get(0);
33 for (String job : thejobs) {
42 public String findSequence(String sequence, String program, String version) {
43 List<String> jobs = findJobs(sequence, program, version);
45 return jobs.size() + " jobs found";
47 return "no jobs found";
51 public String findJobForSequence(String sequence, String program, String version) {
52 List<String> jobs = findJobs(sequence, program, version);
54 for (String job : jobs) {
56 ArchivedJob aj = new ArchivedJob(job);
58 link = aj.prepareJobArchiveToWeb();
59 } catch (IOException e) {
60 log.error("JpredWS.findSequence: IO exception with job archive file");
61 log.error(e.getLocalizedMessage(), e.getCause());
73 public String getArchive(String jobid) {
74 String link = "undefined";
75 ArchivedJob aj = new ArchivedJob(jobid);
77 link = aj.prepareJobArchiveToWeb();
78 } catch (IOException e) {
79 log.error("JpredWS.findSequence: IO exception with job archive file");
80 log.error(e.getLocalizedMessage(), e.getCause());