1 package jalview.ws.slivkaws;
3 import jalview.datamodel.AlignmentI;
4 import jalview.datamodel.SequenceI;
5 import jalview.io.DataSourceType;
6 import jalview.io.FileFormat;
7 import jalview.io.FormatAdapter;
8 import jalview.ws.api.JobId;
9 import jalview.ws.api.MultipleSequenceAlignmentI;
10 import jalview.ws.params.ArgumentI;
11 import jalview.ws.params.InvalidArgumentException;
12 import jalview.ws.params.WsParamSetI;
14 import java.io.IOError;
15 import java.io.IOException;
16 import java.rmi.ServerError;
17 import java.util.List;
19 import compbio.data.msa.Category;
20 import uk.ac.dundee.compbio.slivkaclient.RemoteFile;
21 import uk.ac.dundee.compbio.slivkaclient.SlivkaClient;
22 import uk.ac.dundee.compbio.slivkaclient.SlivkaService;
24 public class SlivkaMsaServiceInstance extends SlivkaWSInstance implements MultipleSequenceAlignmentI
26 SlivkaMsaServiceInstance(SlivkaClient client, SlivkaService service, String category) {
27 super(client, service, category);
28 style = ServiceClient.MSAWSCLIENT;
32 public JobId align(List<SequenceI> toalign, WsParamSetI parameters, List<ArgumentI> list) throws Throwable
34 return super.submit(toalign, parameters, list);
38 public AlignmentI getAlignmentFor(JobId jobId) throws InvalidArgumentException, ServerError, IOError
40 List<RemoteFile> files;
43 files = client.getJobResults(jobId.getJobId());
44 for (RemoteFile f : files)
46 if (f.getMimeType().equals("application/clustal"))
48 return new FormatAdapter().readFile(f.getURL().toString(), DataSourceType.URL, FileFormat.Clustal);
50 else if (f.getMimeType().equals("application/fasta"))
52 return new FormatAdapter().readFile(f.getURL().toString(), DataSourceType.URL, FileFormat.Fasta);
55 } catch (IOException e)