* server is a WSDL2Java generated stub for an archetypal MsaWSI service.\r
*/\r
ext.vamsas.MuscleWS server;\r
+ AlignFrame alignFrame;\r
\r
\r
/**\r
* @param preserveOrder DOCUMENT ME!\r
*/\r
\r
- public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle, SequenceI[] msa,\r
- boolean submitGaps, boolean preserveOrder)\r
+ public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle,\r
+ SequenceI[] msa,\r
+ boolean submitGaps, boolean preserveOrder,\r
+ Alignment seqdataset,\r
+ AlignFrame _alignFrame)\r
{\r
\r
+ alignFrame = _alignFrame;\r
if (!sh.getAbstractName().equals("MsaWS"))\r
{\r
JOptionPane.showMessageDialog(Desktop.desktop,\r
\r
return;\r
}\r
- startMsaWSClient(altitle, msa, submitGaps, preserveOrder);\r
+ startMsaWSClient(altitle, msa, submitGaps, preserveOrder, seqdataset);\r
\r
}\r
\r
\r
private void startMsaWSClient(String altitle, SequenceI[] msa,\r
- boolean submitGaps, boolean preserveOrder)\r
+ boolean submitGaps, boolean preserveOrder, Alignment seqdataset)\r
{\r
if (!locateWebService())\r
{\r
\r
MsaWSThread musclethread = new MsaWSThread(WebServiceName +\r
" alignment of " + altitle, msa,\r
- submitGaps, preserveOrder);\r
+ submitGaps, preserveOrder, seqdataset);\r
wsInfo.setthisService(musclethread);\r
musclethread.start();\r
}\r
" Service location failed\nfor URL :" + WsURL +\r
"\n" +\r
ex.getMessage());\r
- wsInfo.setStatus(wsInfo.ERROR);\r
+ wsInfo.setStatus(WebserviceInfo.ERROR);\r
ex.printStackTrace();\r
\r
return false;\r
vamsas.objects.simple.SequenceSet seqs = new vamsas.objects.simple.\r
SequenceSet();\r
Hashtable SeqNames = null;\r
- boolean submitGaps = false; // and always store and recover sequence order\r
+ boolean submitGaps = false; // pass sequences including gaps to alignment service\r
boolean preserveOrder = true; // and always store and recover sequence order\r
String jobId;\r
String alTitle; // name which will be used to form new alignment window.\r
int allowedServerExceptions = 3; // thread dies if too many exceptions.\r
boolean jobComplete = false;\r
\r
+ Alignment dataset; // dataset to which the new alignment will be associated.\r
+\r
MsaWSThread(String title, SequenceI[] msa, boolean subgaps,\r
- boolean presorder)\r
+ boolean presorder, Alignment seqset)\r
{\r
alTitle = title;\r
submitGaps = subgaps;\r
preserveOrder = presorder;\r
-\r
+ dataset = seqset;\r
OutputHeader = wsInfo.getProgressText();\r
SeqNames = new Hashtable();\r
\r
e.toString() +\r
"\n");\r
this.allowedServerExceptions = 0;\r
- wsInfo.setStatus(wsInfo.STATE_STOPPED_SERVERERROR);\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);\r
wsInfo.appendProgressText(\r
"Failed to submit sequences for alignment.\n" +\r
"It is most likely that there is a problem with the server.\n" +\r
jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs);\r
\r
Alignment al = new Alignment(seqs);\r
-\r
+ if (dataset!=null) {\r
+ al.setDataset(dataset);\r
+ }\r
// TODO: JBPNote Should also rename the query sequence sometime...\r
AlignFrame af = new AlignFrame(al);\r
+\r
+ //>>>This is a fix for the moment, until a better solution is found!!<<<\r
+ af.getFeatureRenderer().transferSettings(alignFrame.getFeatureRenderer());\r
+\r
af.addSortByOrderMenuItem(ServiceName + " Ordering",\r
msaorder);\r
\r