package jalview.ws.slivkaws;
import jalview.api.FeatureColourI;
+import jalview.bin.Cache;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.SequenceI;
import jalview.io.AnnotationFile;
import jalview.io.DataSourceType;
import jalview.io.FeaturesFile;
+import jalview.util.MessageManager;
import jalview.ws.api.JobId;
import jalview.ws.api.SequenceAnnotationServiceI;
import jalview.ws.params.ArgumentI;
import jalview.ws.params.WsParamSetI;
+import jalview.ws.uimodel.AlignAnalysisUIText;
-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;
public class SlivkaAnnotationServiceInstance extends SlivkaWSInstance implements SequenceAnnotationServiceI
{
- public SlivkaAnnotationServiceInstance(SlivkaClient client, SlivkaService service)
+ public SlivkaAnnotationServiceInstance(SlivkaClient client,
+ SlivkaService service, boolean conservation)
{
- super(client, service, "Annotations disorder");
+ super(client, service, !conservation ? "Annotations disorder"
+ : "Alignment Conservation");
+ if (conservation)
+ {
+ setAlignAnalysisUI(new AlignAnalysisUIText(service.getName(),
+ SlivkaAnnotationServiceInstance.class,
+ "Slivka.AACons", false, true, true, true, true, 2,
+ MessageManager.getString("label.aacon_calculations"),
+ MessageManager.getString("tooltip.aacon_calculations"),
+ MessageManager.getString("label.aacon_settings"),
+ MessageManager.getString("tooltip.aacon_settings")));
+ }
+ style = ServiceClient.SEQUENCEANNOTATIONWSCLIENT;
}
@Override
throw new IOError(e);
}
Alignment aln = new Alignment(seqs.toArray(new SequenceI[0]));
- BufferedReader readerIn = new BufferedReader(new InputStreamReader(annotFile.getContent()));
- new AnnotationFile().parseAnnotationFrom(aln, null, readerIn);
- if (featFile != null)
+ if (annotFile == null
+ || !new AnnotationFile().readAnnotationFile(aln, annotFile.getURL().toString(), DataSourceType.URL))
+ {
+ Cache.log.debug("No annotation from slivka job\n" + annotFile);
+ }
+ if (featFile == null
+ || !new FeaturesFile(featFile.getURL().toString(), DataSourceType.URL).parse(aln, featureColours, true))
{
- new FeaturesFile(featFile.getURL().toString(), DataSourceType.URL).parse(aln, featureColours, true);
+ Cache.log.debug("No features from slivka job\n" + featFile);
}
return Arrays.asList(aln.getAlignmentAnnotation());
}