From: Jim Procter Date: Sat, 5 Oct 2013 14:03:53 +0000 (+0100) Subject: Merge branch 'JAL-1378_jb2.1cli' into RNAalifold X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FRNAalifold;hp=8f1d9040aa9ddac452311d6bb232f7f28f7e83e7;p=jalview.git Merge branch 'JAL-1378_jb2.1cli' into RNAalifold --- diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index 580c850..fa063ff 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -707,6 +707,7 @@ public class Sequence implements SequenceI { tmp = new char[i]; System.arraycopy(sequence, 0, tmp, 0, i); + j=sequence.length; } else { @@ -715,6 +716,9 @@ public class Sequence implements SequenceI System.arraycopy(sequence, j, tmp, i, sequence.length - j); } boolean createNewDs = false; + // TODO: take a look at the new dataset creation validation method below - + // this could become time comsuming for large sequences - consider making it + // more efficient for (int s = i; s < j; s++) { if (jalview.schemes.ResidueProperties.aaIndex[sequence[s]] != 23) diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index ceb08ee..829b9ab 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -77,6 +77,7 @@ import jalview.schemes.UserColourScheme; import jalview.schemes.ZappoColourScheme; import jalview.ws.jws1.Discoverer; import jalview.ws.jws2.Jws2Discoverer; +import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.seqfetcher.DbSourceProxy; import java.awt.BorderLayout; @@ -4158,6 +4159,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void run() { + final List legacyItems=new ArrayList(); try { System.err.println("Building ws menu again " @@ -4189,28 +4191,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // TODO: refactor to allow list of AbstractName/Handler bindings to // be // stored or retrieved from elsewhere - Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS"); + // No MSAWS used any more: + // Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS"); Vector secstrpr = (Vector) Discoverer.services .get("SecStrPred"); - Vector seqsrch = null; // (Vector) - // Discoverer.services.get("SeqSearch"); - // TODO: move GUI generation code onto service implementation - so a - // client instance attaches itself to the GUI with method call like - // jalview.ws.MsaWSClient.bind(servicehandle, Desktop.instance, - // alignframe) - if (msaws != null) - { - // Add any Multiple Sequence Alignment Services - for (int i = 0, j = msaws.size(); i < j; i++) - { - final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) msaws - .get(i); - jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer - .getServiceClient(sh); - impl.attachWSMenuEntry(msawsmenu, me); - - } - } if (secstrpr != null) { // Add any secondary structure prediction services @@ -4220,35 +4204,23 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .get(i); jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer .getServiceClient(sh); + int p=secstrmenu.getItemCount(); impl.attachWSMenuEntry(secstrmenu, me); - } - } - if (seqsrch != null) - { - // Add any sequence search services - for (int i = 0, j = seqsrch.size(); i < j; i++) - { - final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) seqsrch - .elementAt(i); - jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer - .getServiceClient(sh); - impl.attachWSMenuEntry(seqsrchmenu, me); + int q=secstrmenu.getItemCount(); + for (int litm=p;litm submens=new ArrayList(); - // submens.add(msawsmenu); - // submens.add(secstrmenu); - // submens.add(dismenu); - // submens.add(analymenu); - // No search services yet // wsmenu.add(seqsrchmenu); @@ -4273,6 +4245,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, webService.add(me.webServiceNoServices); } // TODO: move into separate menu builder class. + boolean new_sspred=false; if (Cache.getDefault("SHOW_JWS2_SERVICES", true)) { Jws2Discoverer jws2servs = Jws2Discoverer.getDiscoverer(); @@ -4281,6 +4254,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (jws2servs.hasServices()) { jws2servs.attachWSMenuEntry(webService, me); + for (Jws2Instance sv:jws2servs.getServices()) { + if (sv.description.toLowerCase().contains("jpred")) + { + for (JMenuItem jmi:legacyItems) + { + jmi.setVisible(false); + } + } + } + } if (jws2servs.isRunning()) { @@ -4291,7 +4274,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } } - build_urlServiceMenu(me.webService); build_fetchdbmenu(webService); for (JMenu item : wsmenu) diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 322365c..ab8d0af 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -2436,7 +2436,9 @@ public class Desktop extends jalview.jbgui.GDesktop implements { boolean alive = true; Thread t0 = null, t1 = null, t2 = null; - + // JAL-940 - JALVIEW 1 services are now being EOLed as of JABA 2.1 release + if (true) + { // todo: changesupport handlers need to be transferred if (discoverer == null) { @@ -2446,28 +2448,31 @@ public class Desktop extends jalview.jbgui.GDesktop implements } // JAL-940 - disabled JWS1 service configuration - always start discoverer // until we phase out completely - if (true) - { (t0 = new Thread(discoverer)).start(); } - try + // ENFIN services are EOLed as of Jalview 2.8.1 release + if (false) { - if (Cache.getDefault("SHOW_ENFIN_SERVICES", true)) + try { - // EnfinEnvision web service menu entries are rebuild every time the - // menu is shown, so no changeSupport events are needed. - jalview.ws.EnfinEnvision2OneWay.getInstance(); - (t1 = new Thread(jalview.ws.EnfinEnvision2OneWay.getInstance())) - .start(); + if (Cache.getDefault("SHOW_ENFIN_SERVICES", true)) + { + // EnfinEnvision web service menu entries are rebuild every time the + // menu is shown, so no changeSupport events are needed. + jalview.ws.EnfinEnvision2OneWay.getInstance(); + (t1 = new Thread(jalview.ws.EnfinEnvision2OneWay.getInstance())) + .start(); + } + } catch (Exception e) + { + Cache.log + .info("Exception when trying to launch Envision2 workflow discovery.", + e); + Cache.log.info(e.getStackTrace()); } - } catch (Exception e) - { - Cache.log - .info("Exception when trying to launch Envision2 workflow discovery.", - e); - Cache.log.info(e.getStackTrace()); } + if (Cache.getDefault("SHOW_JWS2_SERVICES", true)) { if (jalview.ws.jws2.Jws2Discoverer.getDiscoverer().isRunning()) diff --git a/src/jalview/ws/jws2/Jws2Discoverer.java b/src/jalview/ws/jws2/Jws2Discoverer.java index 32e9ad5..8f56e2f 100644 --- a/src/jalview/ws/jws2/Jws2Discoverer.java +++ b/src/jalview/ws/jws2/Jws2Discoverer.java @@ -38,6 +38,7 @@ import java.util.HashSet; import java.util.Hashtable; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.StringTokenizer; import java.util.Vector; @@ -105,6 +106,7 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI public void run() { + if (running && oldthread != null && oldthread.isAlive()) { if (!aborted) @@ -127,6 +129,13 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI } running = true; + // first set up exclusion list if needed + final Set ignoredServices = new HashSet(); + for (String ignored:jalview.bin.Cache.getDefault("IGNORED_JABAWS_SERVICETYPES", Services.JpredWS.toString()).split("\\|")) + { + ignoredServices.add(ignored); + } + changeSupport.firePropertyChange("services", services, new Vector()); oldthread = Thread.currentThread(); @@ -171,7 +180,10 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI // for all possible services for (Services sv : squery.JABAWS2SERVERS) { - svctypes.add(sv.toString()); + if (!ignoredServices.contains(sv.toString())) + { + svctypes.add(sv.toString()); + } } } @@ -226,7 +238,10 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI services = new Vector(); for (Jws2Instance svc : svcs) { - services.add(svc); + if (!ignoredServices.contains(svc.serviceType)) + { + services.add(svc); + } } } } diff --git a/src/jalview/ws/jws2/RNAalifoldClient.java b/src/jalview/ws/jws2/RNAalifoldClient.java index 2779732..ec40552 100644 --- a/src/jalview/ws/jws2/RNAalifoldClient.java +++ b/src/jalview/ws/jws2/RNAalifoldClient.java @@ -216,9 +216,17 @@ public class RNAalifoldClient extends JabawsAlignCalcWorker implements basePairs.put(score.getRanges().first(), new Float(score .getScores().get(0))); } - for (int i = 0; i < struct.length(); i++) + + for (int i = 0,ri=0,iEnd=struct.length();i contacts = isContact(basePairs, i + 1); @@ -242,16 +250,23 @@ public class RNAalifoldClient extends JabawsAlignCalcWorker implements } } - anns[i] = new Annotation(struct.substring(i, i + 1), description, + anns[ri] = new Annotation(struct.substring(i, i + 1), description, isSS(struct.charAt(i)), prob); } } else if (data == null || data.size() == 1) { - for (int i = 0; i < struct.length(); i++) + for (int i = 0,ri=0,iEnd=struct.length();i aaconClient = alignFrame.getViewport() - .getCalcManager() - .getRegisteredWorkersOfClass(aaui.getClient()); - if (aaconClient != null && aaconClient.size() > 0) - { - aaConEnabled.setSelected(true); - } - else - { - aaConEnabled.setSelected(false); - } - } - - @Override - public void menuDeselected(MenuEvent arg0) - { - // TODO Auto-generated method stub - - } - - @Override - public void menuCanceled(MenuEvent arg0) - { - // TODO Auto-generated method stub - - } - }); aaConEnabled.setToolTipText("

" + JvSwingUtils.wrapTooltip(aaui.getAAconToggleTooltip() + "

") + ""); @@ -361,7 +326,7 @@ public class SequenceAnnotationWSClient extends Jws2Client }); wsmenu.add(aaConEnabled); - JMenuItem modifyParams = new JMenuItem(aaui.getAAeditSettings()); + final JMenuItem modifyParams = new JMenuItem(aaui.getAAeditSettings()); modifyParams.setToolTipText("

" + JvSwingUtils.wrapTooltip(aaui.getAAeditSettingsTooltip() + "

") + ""); @@ -375,6 +340,49 @@ public class SequenceAnnotationWSClient extends Jws2Client } }); wsmenu.add(modifyParams); + wsmenu.addMenuListener(new MenuListener() + { + + @Override + public void menuSelected(MenuEvent arg0) + { + // TODO: refactor to the implementing class. + if (alignFrame.getViewport().getAlignment() + .isNucleotide() ? aaui.isNa() : aaui.isPr()) { + aaConEnabled.setEnabled(true); + modifyParams.setEnabled(true); + } + else { + aaConEnabled.setEnabled(false); + modifyParams.setEnabled(false); + } + List aaconClient = alignFrame.getViewport() + .getCalcManager() + .getRegisteredWorkersOfClass(aaui.getClient()); + if (aaconClient != null && aaconClient.size() > 0) + { + aaConEnabled.setSelected(true); + } + else + { + aaConEnabled.setSelected(false); + } + } + + @Override + public void menuDeselected(MenuEvent arg0) + { + // TODO Auto-generated method stub + + } + + @Override + public void menuCanceled(MenuEvent arg0) + { + // TODO Auto-generated method stub + + } + }); } return true; diff --git a/src/jalview/ws/jws2/jabaws2/Jws2InstanceFactory.java b/src/jalview/ws/jws2/jabaws2/Jws2InstanceFactory.java index 3923bba..5907713 100644 --- a/src/jalview/ws/jws2/jabaws2/Jws2InstanceFactory.java +++ b/src/jalview/ws/jws2/jabaws2/Jws2InstanceFactory.java @@ -11,7 +11,10 @@ import jalview.ws.uimodel.AlignAnalysisUIText; public class Jws2InstanceFactory { private static HashMap aaConGUI; - + private static String category_rewrite(String cat_name) + { + return (cat_name != null && cat_name.equals("Prediction")) ? "Secondary Structure Prediction" : cat_name; + } private static void init() { if (aaConGUI == null) @@ -40,7 +43,7 @@ public class Jws2InstanceFactory JABAService service) { init(); - Jws2Instance svc = new Jws2Instance(jwsservers, serviceType, name, + Jws2Instance svc = new Jws2Instance(jwsservers, serviceType, category_rewrite(name), description, service); svc.aaui = aaConGUI.get(serviceType.toString()); diff --git a/utils/InstallAnywhere/Jalview.iap_xml b/utils/InstallAnywhere/Jalview.iap_xml index fea4496..2647f18 100755 --- a/utils/InstallAnywhere/Jalview.iap_xml +++ b/utils/InstallAnywhere/Jalview.iap_xml @@ -1268,7 +1268,7 @@ and any path to a file to save to the file]]>
- + false @@ -1286,7 +1286,7 @@ and any path to a file to save to the file]]>
true - + 133065