1 package jalview.ws.slivkaws;
3 import jalview.datamodel.AlignmentView;
4 import jalview.gui.AlignFrame;
5 import jalview.ws.WSMenuEntryProviderI;
6 import jalview.ws.jws2.MsaWSClient;
8 import java.awt.event.ActionEvent;
9 import java.io.IOException;
10 import java.net.URISyntaxException;
12 import javax.swing.JMenu;
13 import javax.swing.JMenuItem;
15 import uk.ac.dundee.compbio.slivkaclient.SlivkaClient;
17 public class SlivkaWSDiscoverer
18 implements Runnable, WSMenuEntryProviderI
20 private static SlivkaWSDiscoverer instance = null;
21 private SlivkaClient client;
22 private ClustaloWS clustalo;
24 private SlivkaWSDiscoverer() {
27 client = new SlivkaClient("gjb-www-1.cluster.lifesci.dundee.ac.uk", 3203);
28 } catch (URISyntaxException e)
30 throw new RuntimeException(e);
32 clustalo = new ClustaloWS(client);
35 public static SlivkaWSDiscoverer getInstance()
37 if (instance == null) {
38 instance = new SlivkaWSDiscoverer();
44 public void attachWSMenuEntry(JMenu wsmenu, final AlignFrame alignFrame)
46 JMenu submenu = new JMenu("Slivka");
48 JMenuItem noParamMenuItem = new JMenuItem("ClustalO with defaults");
49 noParamMenuItem.addActionListener((ActionEvent e) -> {
50 AlignmentView msa = alignFrame.gatherSequencesForAlignment();
54 clustalo, alignFrame.getTitle(), msa, false, true,
55 alignFrame.getViewport().getAlignment().getDataset(),
59 submenu.add(noParamMenuItem);
61 JMenuItem parametrisedMenuItem = new JMenuItem("ClustalO with custom parameters");
62 parametrisedMenuItem.addActionListener((ActionEvent evt) -> {
63 AlignmentView msa = alignFrame.gatherSequencesForAlignment();
68 SlivkaParamSet paramSet = new SlivkaParamSet(clustalo.getService());
70 clustalo, paramSet, null, true, alignFrame.getTitle(), msa, false, true,
71 alignFrame.getViewport().getAlignment().getDataset(), alignFrame
73 } catch (IOException e)
79 submenu.add(parametrisedMenuItem);