X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fslivkaws%2FSlivkaAnnotationServiceInstance.java;h=184ca2d71f3ab256e6541b5d0c53a636624ca596;hb=6a7ffd7997c11b84a81acbdd83e462cac76f124b;hp=4fb35a0698bcd644a7a7068edca217fe483489bb;hpb=456e5c765ac1e85336fd9f9b1a35453069bb2298;p=jalview.git diff --git a/src/jalview/ws/slivkaws/SlivkaAnnotationServiceInstance.java b/src/jalview/ws/slivkaws/SlivkaAnnotationServiceInstance.java index 4fb35a0..184ca2d 100644 --- a/src/jalview/ws/slivkaws/SlivkaAnnotationServiceInstance.java +++ b/src/jalview/ws/slivkaws/SlivkaAnnotationServiceInstance.java @@ -1,16 +1,23 @@ package jalview.ws.slivkaws; import jalview.api.FeatureColourI; +import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.SequenceI; import jalview.datamodel.features.FeatureMatcherSetI; +import jalview.io.AnnotationFile; import jalview.ws.api.JobId; import jalview.ws.api.SequenceAnnotationServiceI; import jalview.ws.params.ArgumentI; import jalview.ws.params.WsParamSetI; +import java.io.BufferedReader; import java.io.ByteArrayInputStream; +import java.io.IOError; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -25,7 +32,7 @@ public class SlivkaAnnotationServiceInstance extends SlivkaWSInstance implements { public SlivkaAnnotationServiceInstance(SlivkaClient client, SlivkaService service) { - super(client, service, "Annotations"); + super(client, service, "Annotations disorder"); } @Override @@ -71,7 +78,30 @@ public class SlivkaAnnotationServiceInstance extends SlivkaWSInstance implements List seqs, Map featureColours, Map featureFilters) throws Throwable { - // TODO Auto-generated method stub - return null; + RemoteFile annotFile = null; + RemoteFile featFile = null; + try + { + List files = client.getJobResults(job.getJobId()); + for (RemoteFile f : files) + { + if (f.getMimeType().equals("application/jalview-annotations")) + { + annotFile = f; + } + else if (f.getMimeType().equals("application/jalview-features")) + { + featFile = f; + } + } + } catch (IOException e) + { + throw new IOError(e); + } + Alignment aln = new Alignment(seqs.toArray(new SequenceI[0])); + BufferedReader in = new BufferedReader(new InputStreamReader(annotFile.getContent())); + AnnotationFile f = new AnnotationFile(); + f.parseAnnotationFrom(aln, null, in); + return Arrays.asList(aln.getAlignmentAnnotation()); } }