JAL-3066 Sequence annotation services.
[jalview.git] / src / jalview / ws / slivkaws / SlivkaAnnotationServiceInstance.java
index 184ca2d..4aaae6a 100644 (file)
@@ -6,6 +6,8 @@ import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.features.FeatureMatcherSetI;
 import jalview.io.AnnotationFile;
+import jalview.io.DataSourceType;
+import jalview.io.FeaturesFile;
 import jalview.ws.api.JobId;
 import jalview.ws.api.SequenceAnnotationServiceI;
 import jalview.ws.params.ArgumentI;
@@ -99,9 +101,12 @@ public class SlivkaAnnotationServiceInstance extends SlivkaWSInstance implements
       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);
+    BufferedReader readerIn = new BufferedReader(new InputStreamReader(annotFile.getContent()));
+    new AnnotationFile().parseAnnotationFrom(aln, null, readerIn);
+    if (featFile != null)
+    {
+      new FeaturesFile(featFile.getURL().toString(), DataSourceType.URL).parse(aln, featureColours, true);
+    }
     return Arrays.asList(aln.getAlignmentAnnotation());
   }
 }