Command-line utilities to assist in building and publishing Galaxy tools.
- Free software: Academic Free License version 3.0
- Documentation: https://planemo.readthedocs.io.
- Code: https://github.com/galaxyproject/planemo
This quick start demonstrates using planemo commands to help
develop Galaxy tools.
For a traditional Python installation of Planemo, first set up a virtualenv
for planemo (this example creates a new one in .venv) and then
install with pip. Planemo requires pip 7.0 or newer.
$ virtualenv .venv; . .venv/bin/activate $ pip install "pip>=7" # Upgrade pip if needed. $ pip install planemo
For information on updating Planemo, installing the latest development release, or installing planemo via bioconda - checkout the installation documentation.
Planemo is also available as a virtual appliance bundled with a preconfigured Galaxy server and set up for Galaxy tool development. You can choose from open virtualization format (OVA, .ova), Docker, or Vagrant appliances.
This quick start will assume you have a directory with one or more Galaxy
tool XML files. If no such directory is available, one can be quickly created for
demonstrating planemo as follows mkdir mytools; cd mytools; planemo
project_init --template=demo.
Planemo can check tools containing XML for common problems and best
practices using the lint command
(also aliased as l).
$ planemo lint
Like many planemo commands - by default this will search the
current directory and use all tool files it finds. It can be explicitly
passed a path to tool files or a directory of tool files.
$ planemo l randomlines.xml
The lint command takes in additional options related to
reporting levels, exit code, etc. These options are described
in the docs
or (like with all commands) can be accessed by passing --help to it.
$ planemo l --help Usage: planemo lint [OPTIONS] TOOL_PATH
Once tools are syntactically correct - it is time to test. The test
command
can be used to test a tool or a directory of tools.
$ planemo test --galaxy_root=../galaxy randomlines.xml
If no --galaxy_root is defined, planemo will check for a default in
~/.planemo.yml and finally
search the tool's parent directories for a Galaxy root directory.
Planemo can also download and configure a disposable Galaxy instance for
testing. Pass --install_galaxy instead of --galaxy_root.
$ planemo t --install_galaxy
Planemo will create a HTML output report in the current directory named
tool_test_output.html (override with --test_output). See an
example
of such a report for Tophat.
Once tools have been linted and tested - the tools can be viewed in a
Galaxy interface using the serve (s) command.
$ planemo serve
Like test, serve requires a Galaxy root and one can be
explicitly specified with --galaxy_root or installed dynamically
with --install_galaxy.
For more information on building Galaxy tools in general please check out Building Galaxy Tools Using Planemo.
Planemo can help you publish tools to the Galaxy Tool Shed. Check out Publishing to the Tool Shed for more information.
Planemo can help develop tools and Conda packages in unison. Check out Dependencies and Conda for more information.
Planemo can help develop tools deployable via Docker. Check out Dependencies and Docker for more information.
Planemo includes experimental support for running a subset of valid Common Workflow Language (CWL) tools using either the reference implementation cwltool or a fork of Galaxy enhanced to run CWL tools.
$ planemo project_init --template cwl_draft3_spec $ planemo serve --cwl cwl_draft3_spec/cat1-tool.cwl
Checko out Building Common Workflow Language Tools for more information.
