Mercurial > repos > mingchen0919 > dynamic_star
view README.md @ 2:a9579c344a90 draft default tip
planemo upload commit 8f84e3911c6ff4103c0ad5fb8dd774f80d9b2559
| author | mingchen0919 |
|---|---|
| date | Fri, 23 Mar 2018 21:50:16 -0400 |
| parents | d79569f269c7 |
| children |
line wrap: on
line source
# Dynamic Galaxy Tool wrappers Use this repository as a template to develop a dynamic Galaxy tools in one minute! ## Step 1: clone this repository ```bash git clone https://github.com/statonlab/dynamic-galaxy-tool-wrappers.git ``` ## Step 2: edit tool requirements Open the `dynamic_tool_wrappers_macros.xml` file and add your tool requirements. **Only tools from the [conda repository](https://anaconda.org/anaconda/repo) can be added as a tool requirement. For example, for a wrapper of the **FastQC** tool, go to [https://anaconda.org/anaconda/repo](https://anaconda.org/anaconda/repo) and search for `fastqc`. You will get a list of `fastqc` tools. Find the appropriate version and add it as a tool requirement. Before editing tool requirement: ```xml <xml name="rmarkdown_requirements"> <requirement type="package" version="1.15.0.6-0">pandoc</requirement> <requirement type="package" version="1.6">r-rmarkdown</requirement> </xml> ``` After editing tool requirement: ```xml <xml name="rmarkdown_requirements"> <requirement type="package" version="1.15.0.6-0">pandoc</requirement> <requirement type="package" version="1.6">r-rmarkdown</requirement> <requirement type="package" version="0.11.7">fastqc</requirement> </xml> ``` ## Step 3: edit template for a specific command line tool Open the `dynamic_tool_wrappers_macros.xml` file and replace `tool_name` in `<option value="tool_name" selected="false">tool_name</option>` with a valid command line tool name. ```xml <xml name="tool_name"> <param type="select" name="tool_name" multiple="false" label="Tool name"> <option value="tool_name" selected="false">tool_name</option> </param> </xml> ``` Use the **FastQC** tool as an example again, the content after replacement would be ```xml <xml name="tool_name"> <param type="select" name="tool_name" multiple="false" label="Tool name"> <option value="fastqc" selected="false">fastqc</option> </param> </xml> ``` You can add multiple `tool_name` options if the tool has sub command line tools. For example, for the `samtools` tool, it could be ```xml <xml name="tool_name"> <param type="select" name="tool_name" multiple="false" label="Tool name"> <option value="samtools view" selected="false">samtols view</option> <option value="samtools sort" selected="false">samtols sort</option> <option value="samtools index" selected="false">samtols index</option> </param> </xml> ``` ## Step 4: edit **tool name** and **tool id** in `dynamic_tool.xml` Open the `dynamic_tool.xml` file and replace `dynamic_tool` with an appropriate **tool id** and the `dynamic tool` with an appropriate **tool name**. ```xml <tool id="dynamic_tool" name="dynamic tool" version="1.0.0"> ``` Use the **FastQC** tool as an example, it could be: ```xml <tool id="dynamic_fastqc" name="Dynamic FastQC" version="1.0.0"> ``` ## Step 5: Publish tool to [ToolShed](https://toolshed.g2.bx.psu.edu/) or [Test ToolShed](https://testtoolshed.g2.bx.psu.edu/) Please check [planemo's documentation site](http://planemo.readthedocs.io/en/latest/publishing.html) for more details. * Within the tool directory, `planemo shed_init` command can be used to bootstrap a `.shed.yml` file. ```bash planemo shed_init --name=<name> --owner=<shed_username> --description=<short description> [--remote_repository_url=<URL to .shed.yml on github>] [--homepage_url=<Homepage for tool.>] [--long_description=<long description>] [--category=<category name>]* ``` * **Create tool repository on ToolShed or Test ToolShed** ```bash planemo shed_create --shed_target testtoolshed ``` * **Update a tool repository** ```bash planemo shed_diff --shed_target testtoolshed ```
