1
|
1 Galaxy wrapper for the MIRA assembly program (v4.0)
|
|
2 ===================================================
|
|
3
|
|
4 This tool is copyright 2011-2014 by Peter Cock, The James Hutton Institute
|
|
5 (formerly SCRI, Scottish Crop Research Institute), UK. All rights reserved.
|
|
6 See the licence text below (MIT licence).
|
|
7
|
|
8 This tool is a short Python script (to collect the MIRA output and move it
|
|
9 to where Galaxy expects the files) and associated Galaxy wrapper XML file.
|
|
10
|
|
11 It is available from the Galaxy Tool Shed at:
|
|
12 http://toolshed.g2.bx.psu.edu/view/peterjc/mira4_assembler
|
|
13
|
|
14 It uses a Galaxy datatype definition 'mira' for the MIRA Assembly Format,
|
|
15 http://toolshed.g2.bx.psu.edu/view/peterjc/mira_datatypes
|
|
16
|
|
17 A separate wrapper for MIRA v3.4 is available from the Galaxy Tool Shed at:
|
|
18 http://toolshed.g2.bx.psu.edu/view/peterjc/mira_assembler
|
|
19
|
|
20 Automated Installation
|
|
21 ======================
|
|
22
|
|
23 This should be straightforward. Via the Tool Shed, Galaxy should automatically
|
|
24 install the 'mira' datatype, samtools, and download and install the precompiled
|
|
25 binary for MIRA v4.0.2 for the Galaxy wrapper, and run any tests.
|
|
26
|
|
27 For MIRA 4, the Galaxy wrapper has been split in two, allowing separate
|
|
28 cluster settings for de novo usage (high RAM) and mapping (lower RAM).
|
|
29 Consult the Galaxy adminstration documentation for your cluster setup.
|
|
30
|
|
31 WARNING: For larger tasks, be aware that MIRA can require vast amounts
|
|
32 of RAM and run-times of over a week are possible. This tool wrapper makes
|
|
33 no attempt to spot and reject such large jobs.
|
|
34
|
|
35
|
|
36 Manual Installation
|
|
37 ===================
|
|
38
|
|
39 First install the 'mira' datatype for Galaxy, available here:
|
|
40
|
|
41 * http://toolshed.g2.bx.psu.edu/view/peterjc/mira_datatypes
|
|
42
|
|
43 There are four Galaxy files to install:
|
|
44
|
|
45 * ``mira4_de_novo.xml`` (the Galaxy tool definition for de novo usage)
|
|
46 * ``mira4_mapping.xml`` (the Galaxy tool definition for mapping usage)
|
|
47 * ``mira4_convert.xml`` (the Galaxy tool definition for converting MIRA files)
|
|
48 * ``mira4_bait.xml`` (the Galaxy tool definition for mirabait)
|
|
49 * ``mira4.py`` (the Python wrapper script)
|
|
50 * ``mira4_convert.py`` (the Python wrapper script for miraconvert)
|
|
51 * ``mira4_bait.py`` (the Python wrapper script for mirabait)
|
|
52 * ``mira4_validator.py`` (the XML parameter validation script)
|
|
53
|
|
54 The suggested location is a new ``tools/mira4`` folder. You will also need to
|
|
55 modify the ``tools_conf.xml`` file to tell Galaxy to offer the tool::
|
|
56
|
|
57 <tool file="mira4/mira4_de_novo.xml" />
|
|
58 <tool file="mira4/mira4_mapping.xml" />
|
|
59
|
|
60 You will also need to install MIRA, we used version 4.0.2, and define the
|
|
61 environment variable ``$MIRA4`` pointing at the folder containing the binaries.
|
|
62 See:
|
|
63
|
|
64 * http://chevreux.org/projects_mira.html
|
|
65 * http://sourceforge.net/projects/mira-assembler/
|
|
66
|
|
67 You may wish to use different cluster setups for the de novo and mapping
|
|
68 tools, see above.
|
|
69
|
|
70 You will also need to install samtools (for generating a BAM file from MIRA's
|
|
71 SAM output).
|
|
72
|
|
73 If you wish to run the unit tests, also move/copy the ``test-data/`` files
|
|
74 under Galaxy's ``test-data/`` folder. Then::
|
|
75
|
|
76 $ ./run_tests.sh -id mira_4_0_bait
|
|
77 $ ./run_tests.sh -id mira_4_0_de_novo
|
|
78 $ ./run_tests.sh -id mira_4_0_mapping
|
|
79 $ ./run_tests.sh -id mira_4_0_convert
|
|
80
|
|
81
|
|
82 History
|
|
83 =======
|
|
84
|
|
85 ======= ======================================================================
|
|
86 Version Changes
|
|
87 ------- ----------------------------------------------------------------------
|
|
88 v0.0.1 - Initial version (prototype for MIRA 4.0 RC4, based on wrapper for v3.4)
|
|
89 v0.0.2 - Include BAM output (using ``miraconvert`` and ``samtools``).
|
|
90 - Updated to target MIRA 4.0.1
|
|
91 - Simplified XML to apply input format to output data.
|
|
92 - Sets temporary folder at run time to respect environment variables
|
|
93 (``$TMPDIR``, ``$TEMP``, or ``$TMP`` in that order). This was
|
|
94 previously hard coded as ``/tmp``.
|
|
95 v0.0.3 - Updated to target MIRA 4.0.2
|
|
96 v0.0.4 - Using ``optparse`` for the Python wrapper script API
|
|
97 - Made MAF and BAM outputs optional
|
|
98 - Include wrapper for ``miraconvert``
|
|
99 v0.0.5 - Tool definition now embeds citation information.
|
|
100 v0.0.6 - Fixed error handling in ``mira4_convert.py``.
|
|
101 v0.0.7 - Renamed folder (internal change only).
|
|
102 - Reorder XML elements (internal change only).
|
|
103 - Use the ``format_source=...`` tag in the MIRA bait wrapper.
|
|
104 - Planemo for Tool Shed upload (``.shed.yml``, internal change only).
|
|
105 - MIRA 4.0.2 dependency now declared via dedicated Tool Shed package.
|
|
106 ======= ======================================================================
|
|
107
|
|
108
|
|
109 Developers
|
|
110 ==========
|
|
111
|
|
112 Development is on a dedicated GitHub repository:
|
|
113 https://github.com/peterjc/pico_galaxy/tree/master/tools/mira4_assembler
|
|
114
|
|
115 For pushing a release to the test or main "Galaxy Tool Shed", use the following
|
|
116 Planemo commands (which requires you have set your Tool Shed access details in
|
|
117 ``~/.planemo.yml`` and that you have access rights on the Tool Shed)::
|
|
118
|
|
119 $ planemo shed_update --shed_target testtoolshed --check_diff ~/repositories/pico_galaxy/tools/mira4_assembler/
|
|
120 ...
|
|
121
|
|
122 or::
|
|
123
|
|
124 $ planemo shed_update --shed_target toolshed --check_diff ~/repositories/pico_galaxy/tools/mira4_assembler/
|
|
125 ...
|
|
126
|
|
127 To just build and check the tar ball, use::
|
|
128
|
|
129 $ planemo shed_upload --tar_only ~/repositories/pico_galaxy/tools/mira4_assembler/
|
|
130 ...
|
|
131 $ tar -tzf shed_upload.tar.gz
|
|
132 test-data/U13small_m.fastq
|
|
133 test-data/U13small_m.mira4_de_novo.fasta
|
|
134 test-data/ecoli.fastq
|
|
135 test-data/ecoli.mira4_de_novo.fasta
|
|
136 test-data/empty_file.dat
|
|
137 test-data/header.mira
|
|
138 test-data/tvc_mini.fastq
|
|
139 test-data/tvc_contigs.fasta
|
|
140 test-data/tvc_map_ref_strain.fasta
|
|
141 test-data/tvc_map_same_strain.fasta
|
|
142 test-data/tvc_bait.fasta
|
|
143 test-data/tvc_mini_bait_neg.fastq
|
|
144 test-data/tvc_mini_bait_pos.fastq
|
|
145 test-data/tvc_mini_bait_strict.fastq
|
|
146 tools/mira4_assembler/README.rst
|
|
147 tools/mira4_assembler/mira4.py
|
|
148 tools/mira4_assembler/mira4_bait.py
|
|
149 tools/mira4_assembler/mira4_convert.py
|
|
150 tools/mira4_assembler/mira4_de_novo.xml
|
|
151 tools/mira4_assembler/mira4_make_bam.py
|
|
152 tools/mira4_assembler/mira4_mapping.xml
|
|
153 tools/mira4_assembler/mira4_validator.py
|
|
154 tools/mira4_assembler/repository_dependencies.xml
|
|
155 tools/mira4_assembler/tool_dependencies.xml
|
|
156
|
|
157
|
|
158 Licence (MIT)
|
|
159 =============
|
|
160
|
|
161 Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
162 of this software and associated documentation files (the "Software"), to deal
|
|
163 in the Software without restriction, including without limitation the rights
|
|
164 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
165 copies of the Software, and to permit persons to whom the Software is
|
|
166 furnished to do so, subject to the following conditions:
|
|
167
|
|
168 The above copyright notice and this permission notice shall be included in
|
|
169 all copies or substantial portions of the Software.
|
|
170
|
|
171 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
172 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
173 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
174 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
175 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
176 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
177 THE SOFTWARE.
|