From b340cf1b50a8d941f78e7031ea5f453550e95f36 Mon Sep 17 00:00:00 2001 From: jprocter Date: Fri, 5 Aug 2011 16:52:30 +0100 Subject: [PATCH] example script that will submit a muscle jabaws job using the currently loaded alignment (JAL-894) --- examples/groovy/alignLoadedFile.groovy | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 examples/groovy/alignLoadedFile.groovy diff --git a/examples/groovy/alignLoadedFile.groovy b/examples/groovy/alignLoadedFile.groovy new file mode 100644 index 0000000..6d8f807 --- /dev/null +++ b/examples/groovy/alignLoadedFile.groovy @@ -0,0 +1,34 @@ +// run an alignment on the current alignFrame +import jalview.ws.jws2.*; +import jalview.datamodel.*; + +// First get the JABA service discoverer and see if there are any services. +jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer.getDiscoverer(); +while (disc.isRunning()) { +Thread.sleep(50); +} +if (!disc.isRunning() && !disc.hasServices()) +{ + // discoverer is not running, and has no services - so run it again. + disc.run(); +} + +for (jalview.ws.jws2.Jws2Discoverer.Jws2Instance service: disc.getServices()) { + +if (service.serviceType.indexOf("uscle")>-1) { + // now - go through the services if any, and find a Muscle service + def msaf; + try { + msaf = currentAlFrame; + } catch (q) { + // currentAlFrame is not defined - so we were run as an interactive script from the Groovy console + // in that case, just pick the first alignmentFrame in the stack. + msaf = Jalview.getAlignframes()[0] + }; + // Finally start Jalview's JabaWS MSA Client with the alignment from msaf + new MsaWSClient(service, msaf.getTitle(), msaf.gatherSequencesForAlignment(), false, + true, msaf.getViewport().getAlignment() + .getDataset(), msaf); + break; +} +} -- 1.7.10.2