Mercurial > repos > mingchen0919 > dynamic_star
diff README.md @ 0:d79569f269c7 draft
planemo upload
| author | mingchen0919 |
|---|---|
| date | Fri, 23 Mar 2018 01:53:24 -0400 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Fri Mar 23 01:53:24 2018 -0400 @@ -0,0 +1,116 @@ +# 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 +``` \ No newline at end of file
