+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
/**
*
*/
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
+import jalview.bin.Cache;
import jalview.datamodel.AlignmentView;
import jalview.gui.AlignFrame;
import jalview.gui.AlignViewport;
public static RestClient makeShmmrRestClient()
{
- String action = "Analysis", description = "Sequence Harmony and Multi-Relief (UNSTABLE!)", name = "Sequence Harmony";
+ String action = "Analysis", description = "Sequence Harmony and Multi-Relief (Brandt et al. 2010)", name = "Multi-Harmony";
Hashtable<String, InputType> iparams = new Hashtable<String, InputType>();
jalview.ws.rest.params.JobConstant toolp;
//toolp = new jalview.ws.rest.JobConstant("tool","jalview");
//iparams.put(toolp.token, toolp);
- toolp = new jalview.ws.rest.params.JobConstant("mbjob[method]","shmr");
- iparams.put(toolp.token, toolp);
- toolp = new jalview.ws.rest.params.JobConstant("mbjob[description]","step 1");
- iparams.put(toolp.token, toolp);
- toolp = new jalview.ws.rest.params.JobConstant("start_search","1");
- iparams.put(toolp.token, toolp);
- toolp = new jalview.ws.rest.params.JobConstant("blast","0");
- iparams.put(toolp.token, toolp);
+ //toolp = new jalview.ws.rest.params.JobConstant("mbjob[method]","shmr");
+ //iparams.put(toolp.token, toolp);
+ //toolp = new jalview.ws.rest.params.JobConstant("mbjob[description]","step 1");
+ //iparams.put(toolp.token, toolp);
+ //toolp = new jalview.ws.rest.params.JobConstant("start_search","1");
+ //iparams.put(toolp.token, toolp);
+ //toolp = new jalview.ws.rest.params.JobConstant("blast","0");
+ //iparams.put(toolp.token, toolp);
jalview.ws.rest.params.Alignment aliinput = new jalview.ws.rest.params.Alignment();
- aliinput.token = "ali";//_file";
- aliinput.writeAsFile=false;//true;
- //aliinput.token = "ali_file";
- //aliinput.writeAsFile=true;
+ // SHMR server has a 65K limit for content pasted into the 'ali' parameter, so we always upload our files.
+ aliinput.token = "ali_file";
+ aliinput.writeAsFile=true;
iparams.put(aliinput.token, aliinput);
jalview.ws.rest.params.SeqGroupIndexVector sgroups = new jalview.ws.rest.params.SeqGroupIndexVector();
sgroups.setMinsize(2);
action,
description,
name,
- "http://www.ibi.vu.nl/programs/shmrwww/index.php?tool=jalview",// ?tool=jalview&mbjob[method]=shmr&mbjob[description]=step1",
+ "http://zeus.few.vu.nl/programs/shmrwww/index.php?tool=jalview",// ?tool=jalview&mbjob[method]=shmr&mbjob[description]=step1",
"?tool=jalview", iparams, true, false, '-');
// a priori knowledge of the data returned from the service
shmrService.addResultDatatype(JvDataType.ANNOTATION);
}
protected static Vector<String> services=null;
+ public static final String RSBS_SERVICES="RSBS_SERVICES";
public static RestClient[] getRestClients()
{
if (services==null)
{
services = new Vector<String>();
try {
- for (RestServiceDescription descr: RestServiceDescription.parseDescriptions(jalview.bin.Cache.getDefault("RSBS_SERVICES",makeShmmrRestClient().service.toString())))
+ for (RestServiceDescription descr: RestServiceDescription.parseDescriptions(jalview.bin.Cache.getDefault(RSBS_SERVICES,makeShmmrRestClient().service.toString())))
{
services.add(descr.toString());
}
public static void setRsbsServices(Vector<String> rsbsUrls)
{
- // TODO: consider validating services ?
- services = new Vector<String>(rsbsUrls);
+ if (rsbsUrls!=null)
+ {
+ // TODO: consider validating services ?
+ services = new Vector<String>(rsbsUrls);
+ StringBuffer sprop = new StringBuffer();
+ for (String s:services)
+ {
+ sprop.append(s);
+ }
+ Cache.setProperty(RSBS_SERVICES, sprop.toString());
+ }
+ else
+ {
+ Cache.removeProperty(RSBS_SERVICES);
+ }
}
}