Locked History Actions

DevNewsBriefs/2012_09_20

September 20, 2012 Galaxy Development News Brief


Get Galaxy

getgalaxy
  • getgalaxy.org

  • new:  $ hg clone http://www.bx.psu.edu/hg/galaxy galaxy-dist 

  • upgrade:  $ hg pull -u -r da9d740fce31 



Datatypes_conf.xml Update

When updating to this release, users should also update their instance's datatypes_conf.xml file. There are two ways to do this:

(1) If no changes have been made to datatypes_conf.xml, just copy the datatypes_conf.xml.sample in this distribution to datatypes_conf.xml

OR

(2) Add the necessary lines for the FLI custom datatype + conversions:

  • (a)

<datatype extension="fli" type="galaxy.datatypes.tabular:FeatureLocationIndex" display_in_upload="false"/>
  • (b)

In Bed datatype definition:

<converter file="bed_to_fli_converter.xml" target_datatype="fli"/>
  • (c)

In Gff datatype definition:

<converter file="gff_to_fli_converter.xml" target_datatype="fli"/>

In the future, the Galaxy team considers it a priority to provide improved methods to automatically update datatypes_conf.xml and other configuration files as sample files are updated.


CloudLaunch Overhaul

http://usegalaxy.org/cloud

With Boto bumped to 2.5.2, a new and improved CloudLaunch now includes an asynchronous lookup for instance selection and an easier key generation via direct downloads.

Other changes include a correction for rare instance  udpate()  issues that happens when Amazon doesn't have the instance fully registered before  instance.update()  is called. The CloudLaunch home page documentation has also been updated to explicitly state that instances are pay-for-use.

Full instructions for getting started with a Galaxy CloudMan Instance, including setting up your Amazon AWS, EC2, and S3 account and services, can be found at http://usegalaxy.org/cloud.

CloudLaunch is a quick way for direct access to your cloud services from the Galaxy tool bar once an account is established.


Access here

cloudlaunch-main


Then, login with your credentials and go!

cloudlaunch-home


Galaxy Tool Factory

The Tool Factory is a pure Galaxy scripting environment that makes running simple quick and dirty tasks really easy, and can also generate new Galaxy tools with functional tests! It's a Galaxy tool, but it can run scripts and can automagically turn them into new Galaxy tools that freeze supplied scripts into reusable, workflow compatible tools - Python, R, sh or perl are supported. Watch this video for a short demonstration of how it works. Documentation, source code and support are available at the bitbucket site. Please raise an issue there if you find bugs. If you are an R hacker and have a complex R function to wrap, RGalaxy may work better for you, but the Tool Factory is ideal for simple workflow transformations with one input and one output.

More details if you're interested

Imagine you have a simple sh or R script you need to run quickly in Galaxy - with the option of creating a new Galaxy tool for your users to reuse as often as they need. On your private throw-away clone with the Tool Factory installed where you're logged in as an administrator you:

* Upload a small sample data set - enough to exercise the script for a functional test.

* Select the Tool Factory tool. Cut and paste the R (or perl/python/sh) script into the typical Galaxy Tool Factory form, select the small sample input file and click execute to run it! The help text on the form includes working examples showing how to pass input/output file paths in each available scripting language.

toolfactory

* Check the output. If the script didn't work right, use the redo button on the output to recreate the form and edit the script.

* Rinse, wash, repeat until it works correctly.

* Optionally if you would like the now working script permanently frozen into an ordinary Galaxy tool, rerun with the "generate" option set, paste some useful help text for the user. The Tool Factory will run but this time will also create a new tool as a Tool Shed archive, complete with a functional test based on the sample data you supplied at generation, ready to upload to a new Tool Shed repository for installation and sharing. The Galaxy Tool Shed model now supports automated tool version control to help maintain analysis repeatability. See the Tool Shed repository for usage instructions and guidelines.

* With the Tool Factory it is now possible, although possibly certifiably insane, to use Galaxy as an IDE to develop python API scripts. Who needs eclipse? 

* The Tool Factory ia available for private clone installations from the main Galaxy Tool Shed as the toolfactory - see your local Galaxy admin menu.

* Before you install - THIS IS IMPORTANT!! The Tool Factory allows unrestricted scripting - NO SANDBOX!! so is far too dangerous for production sites. It can only be run by local Galaxy site administrators. Please, do NOT install on public Galaxy instances. Generated tools are safe if the script they wrap is safe.

* Always remember to practice safe Tool Shed by reading the source before you install any new tool.

* Application Note in press, accepted Sept 2012: Ross Lazarus, Antony Kaspi, Mark Ziemann, and The Galaxy Team Creating re­usable tools from scripts: The Galaxy Tool Factory. Bioinformatics.


Multiple Tool Versions

Displaying multiple versions of a tool in the Galaxy tool panel

When tool shed repositories that include multiple versions of a tool are installed into a local Galaxy instance, a single link to the tool will be displayed in the Galaxy tool panel. When the tool is loaded, the different versions of the tool will be defined in a select list at the top of the tool form, allowing you to select a specific version of the tool. The latest version of the tool is always displayed by default when the tool page is loaded.

For example, let's take a look at a Galaxy instance into which 2 revisions of a tool shed repository have been installed, each of which contains a different version of the Filter tool. We've selected a tool panel section named "Filter" to contain the tool. Here is our integrated_tool_panel.xml file where we see that Filter version 1.1.0 and Filter version 2.2.0 have been installed.

<?xml version="1.0"?>
<toolbox>
    <label id="basic_tools" text="Basic Tools" version="" />
    <section id="getext" name="Get Data" version="">
        <tool id="upload1" />
    </section>
    <section id="filter" name="filter" version="">
        <tool id="localhost:9009/repos/test/filter2/Filter1/2.2.0" />
        <tool id="localhost:9009/repos/test/filter2/Filter1/1.1.0" />
    </section>
</toolbox>

Here is our Galaxy tool panel - notice the single link to the installed Filter tool.

tool-panel

Clicking the Filter link in the tool panel displays the Filter tool's page, where you can select the version you want.

filter-tool-page


Tool Shed

Tool Shed

  • Tool shed features for Galaxy tools

    • The primary intent of the tool shed is for sharing Galaxy tools, workflows and other useful Galaxy utilities. Galaxy tools are generally developed within a local Galaxy environment, proven to be functionally correct within that environment, and then uploaded to a tool shed for sharing. With a couple of exceptions, tool features are defined within the Galaxy framework, and have nothing to do with the tool shed. Read more…

  • Pushing changes to a tool shed repository using hg from the command line

    • When pushing changes to a repository in the tool shed using hg from the command line (e.g., hg commit, hg push), make sure your shell's version of Mercurial is at least version 2.2.3. Mercurial version 2.2.3 includes features that enable the tool shed to automatically generate the new repository metadata when the changes have been pushed from the command line.

  • Enhancements & Fixes

    • Enhancements to tool dependency installation when installing with a tool shed repository: multiple environment variables can now be set and a new "make_directory" tag is supported.
    • Fixes for displaying error message when displaying invalid tools in the tool shed.
    • Fix from Bjorn Gruning for telling the user which file is the offender if an uploaded tarball gets rejected in the tool shed.

    • Fix for getting updates for tool shed repositories installed into a local Galaxy instance.


Framework


Security Fixes

  • Prevent Galaxy session cookies from being accessed via script. We don't use it through Javascript anywhere, only other cookies specifically set for Dynatree and Genetrack.

  • Set header 'X-Content-Type-Options: nosniff' for dataset display. This will prevent IE8 from trying to render as html datasets served as text/plain.


API

  • Modified REST API to support multipart/form-data requests, enabling large file upload. Contributed by Nuwan Goonasekera, see pull request 63.


Bug Fixes

bugs


Announcements

News, September 2012 Galaxy Update




About Galaxy

GalaxyProject.org

The Galaxy Team is a part of BX at Penn State, and the Biology and Mathematics and Computer Science departments at Emory University.

Galaxy is supported in part by NSF, NHGRI, the Huck Institutes of the Life Sciences, and The Institute for CyberScience at Penn State, and Emory University.

Join us at Twitter @galaxyproject or just read our tweets Galaxy on Twitter