annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
1 # Dynamic Galaxy Tool wrappers
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
2
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
3 Use this repository as a template to develop a dynamic Galaxy tools in one minute!
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
4
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
5 ## Step 1: clone this repository
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
6
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
7 ```bash
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
8 git clone https://github.com/statonlab/dynamic-galaxy-tool-wrappers.git
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
9 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
10
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
11 ## Step 2: edit tool requirements
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
12
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
13 Open the `dynamic_tool_wrappers_macros.xml` file and add your tool requirements. **Only tools from the
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
14 [conda repository](https://anaconda.org/anaconda/repo) can be added as a tool requirement. For example, for a wrapper
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
15 of the **FastQC** tool, go to [https://anaconda.org/anaconda/repo](https://anaconda.org/anaconda/repo) and search for
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
16 `fastqc`. You will get a list of `fastqc` tools. Find the appropriate version and add it as a tool requirement.
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
17
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
18 Before editing tool requirement:
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
19
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
20 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
21 <xml name="rmarkdown_requirements">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
22 <requirement type="package" version="1.15.0.6-0">pandoc</requirement>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
23 <requirement type="package" version="1.6">r-rmarkdown</requirement>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
24 </xml>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
25 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
26
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
27 After editing tool requirement:
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
28
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
29 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
30 <xml name="rmarkdown_requirements">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
31 <requirement type="package" version="1.15.0.6-0">pandoc</requirement>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
32 <requirement type="package" version="1.6">r-rmarkdown</requirement>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
33 <requirement type="package" version="0.11.7">fastqc</requirement>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
34 </xml>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
35 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
36
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
37
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
38
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
39 ## Step 3: edit template for a specific command line tool
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
40
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
41 Open the `dynamic_tool_wrappers_macros.xml` file and replace `tool_name` in
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
42 `<option value="tool_name" selected="false">tool_name</option>` with a valid command line tool name.
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
43
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
44 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
45 <xml name="tool_name">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
46 <param type="select" name="tool_name" multiple="false" label="Tool name">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
47 <option value="tool_name" selected="false">tool_name</option>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
48 </param>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
49 </xml>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
50 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
51
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
52 Use the **FastQC** tool as an example again, the content after replacement would be
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
53
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
54 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
55 <xml name="tool_name">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
56 <param type="select" name="tool_name" multiple="false" label="Tool name">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
57 <option value="fastqc" selected="false">fastqc</option>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
58 </param>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
59 </xml>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
60 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
61
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
62 You can add multiple `tool_name` options if the tool has sub command line tools. For example,
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
63 for the `samtools` tool, it could be
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
64
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
65 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
66 <xml name="tool_name">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
67 <param type="select" name="tool_name" multiple="false" label="Tool name">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
68 <option value="samtools view" selected="false">samtols view</option>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
69 <option value="samtools sort" selected="false">samtols sort</option>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
70 <option value="samtools index" selected="false">samtols index</option>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
71 </param>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
72 </xml>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
73 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
74
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
75 ## Step 4: edit **tool name** and **tool id** in `dynamic_tool.xml`
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
76
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
77 Open the `dynamic_tool.xml` file and replace `dynamic_tool` with an appropriate **tool id** and the `dynamic tool` with
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
78 an appropriate **tool name**.
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
79
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
80 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
81 <tool id="dynamic_tool" name="dynamic tool" version="1.0.0">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
82 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
83
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
84 Use the **FastQC** tool as an example, it could be:
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
85
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
86 ```xml
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
87 <tool id="dynamic_fastqc" name="Dynamic FastQC" version="1.0.0">
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
88 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
89
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
90 ## Step 5: Publish tool to [ToolShed](https://toolshed.g2.bx.psu.edu/) or [Test ToolShed](https://testtoolshed.g2.bx.psu.edu/)
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
91
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
92 Please check [planemo's documentation site](http://planemo.readthedocs.io/en/latest/publishing.html) for more details.
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
93
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
94 * Within the tool directory, `planemo shed_init` command can be used to bootstrap a `.shed.yml` file.
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
95
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
96 ```bash
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
97 planemo shed_init --name=<name>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
98 --owner=<shed_username>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
99 --description=<short description>
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
100 [--remote_repository_url=<URL to .shed.yml on github>]
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
101 [--homepage_url=<Homepage for tool.>]
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
102 [--long_description=<long description>]
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
103 [--category=<category name>]*
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
104 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
105
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
106 * **Create tool repository on ToolShed or Test ToolShed**
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
107
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
108 ```bash
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
109 planemo shed_create --shed_target testtoolshed
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
110 ```
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
111
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
112 * **Update a tool repository**
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
113
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
114 ```bash
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
115 planemo shed_diff --shed_target testtoolshed
d79569f269c7 planemo upload
mingchen0919
parents:
diff changeset
116 ```