| 
25
 | 
     1 Galaxy wrapper for the MIRA assembly program (v4.0)
 | 
| 
 | 
     2 ===================================================
 | 
| 
 | 
     3 
 | 
| 
 | 
     4 This tool is copyright 2011-2015 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 various Python and XML files to install into Galaxy:
 | 
| 
 | 
    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_0`` 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_0/mira4_de_novo.xml" />
 | 
| 
 | 
    58   <tool file="mira4_0/mira4_mapping.xml" />
 | 
| 
 | 
    59   ...
 | 
| 
 | 
    60 
 | 
| 
 | 
    61 You will also need to install MIRA, we used version 4.0.2, and define the
 | 
| 
 | 
    62 environment variable ``$MIRA4`` pointing at the folder containing the binaries.
 | 
| 
 | 
    63 See:
 | 
| 
 | 
    64 
 | 
| 
 | 
    65 * http://chevreux.org/projects_mira.html
 | 
| 
 | 
    66 * http://sourceforge.net/projects/mira-assembler/
 | 
| 
 | 
    67 
 | 
| 
 | 
    68 You may wish to use different cluster setups for the de novo and mapping
 | 
| 
 | 
    69 tools, see above.
 | 
| 
 | 
    70 
 | 
| 
 | 
    71 You will also need to install samtools (for generating a BAM file from MIRA's
 | 
| 
 | 
    72 SAM output).
 | 
| 
 | 
    73 
 | 
| 
 | 
    74 If you wish to run the unit tests, also move/copy the ``test-data/`` files
 | 
| 
 | 
    75 under Galaxy's ``test-data/`` folder. Then::
 | 
| 
 | 
    76 
 | 
| 
 | 
    77     $ ./run_tests.sh -id mira_4_0_bait
 | 
| 
 | 
    78     $ ./run_tests.sh -id mira_4_0_de_novo
 | 
| 
 | 
    79     $ ./run_tests.sh -id mira_4_0_mapping
 | 
| 
 | 
    80     $ ./run_tests.sh -id mira_4_0_convert
 | 
| 
 | 
    81 
 | 
| 
 | 
    82 
 | 
| 
 | 
    83 History
 | 
| 
 | 
    84 =======
 | 
| 
 | 
    85 
 | 
| 
 | 
    86 ======= ======================================================================
 | 
| 
 | 
    87 Version Changes
 | 
| 
 | 
    88 ------- ----------------------------------------------------------------------
 | 
| 
 | 
    89 v0.0.1  - Initial version (prototype for MIRA 4.0 RC4, based on wrapper for v3.4)
 | 
| 
 | 
    90 v0.0.2  - Include BAM output (using ``miraconvert`` and ``samtools``).
 | 
| 
 | 
    91         - Updated to target MIRA 4.0.1
 | 
| 
 | 
    92         - Simplified XML to apply input format to output data.
 | 
| 
 | 
    93         - Sets temporary folder at run time to respect environment variables
 | 
| 
 | 
    94           (``$TMPDIR``, ``$TEMP``, or ``$TMP`` in that order). This was
 | 
| 
 | 
    95           previously hard coded as ``/tmp``.
 | 
| 
 | 
    96 v0.0.3  - Updated to target MIRA 4.0.2
 | 
| 
 | 
    97 v0.0.4  - Using ``optparse`` for the Python wrapper script API
 | 
| 
 | 
    98         - Made MAF and BAM outputs optional
 | 
| 
 | 
    99         - Include wrapper for ``miraconvert``
 | 
| 
 | 
   100 v0.0.5  - Tool definition now embeds citation information.
 | 
| 
 | 
   101 v0.0.6  - Fixed error handling in ``mira4_convert.py``.
 | 
| 
 | 
   102 v0.0.7  - Renamed folder (internal change only).
 | 
| 
 | 
   103         - Reorder XML elements (internal change only).
 | 
| 
 | 
   104         - Use the ``format_source=...`` tag in the MIRA bait wrapper.
 | 
| 
 | 
   105         - Planemo for Tool Shed upload (``.shed.yml``, internal change only).
 | 
| 
 | 
   106         - MIRA 4.0.2 dependency now declared via dedicated Tool Shed package.
 | 
| 
 | 
   107 v0.0.8  - Renamed folder now have a MIRA 4.9.x wrapper (internal change only).
 | 
| 
 | 
   108 ======= ======================================================================
 | 
| 
 | 
   109 
 | 
| 
 | 
   110 
 | 
| 
 | 
   111 Developers
 | 
| 
 | 
   112 ==========
 | 
| 
 | 
   113 
 | 
| 
 | 
   114 Development is on a dedicated GitHub repository:
 | 
| 
 | 
   115 https://github.com/peterjc/pico_galaxy/tree/master/tools/mira_4_0
 | 
| 
 | 
   116 
 | 
| 
 | 
   117 For pushing a release to the test or main "Galaxy Tool Shed", use the following
 | 
| 
 | 
   118 Planemo commands (which requires you have set your Tool Shed access details in
 | 
| 
 | 
   119 ``~/.planemo.yml`` and that you have access rights on the Tool Shed)::
 | 
| 
 | 
   120 
 | 
| 
 | 
   121     $ planemo shed_update -t testtoolshed --check_diff ~/repositories/pico_galaxy/tools/mira4_0/
 | 
| 
 | 
   122     ...
 | 
| 
 | 
   123 
 | 
| 
 | 
   124 or::
 | 
| 
 | 
   125 
 | 
| 
 | 
   126     $ planemo shed_update -t toolshed --check_diff ~/repositories/pico_galaxy/tools/mira4_0/
 | 
| 
 | 
   127     ...
 | 
| 
 | 
   128 
 | 
| 
 | 
   129 To just build and check the tar ball, use::
 | 
| 
 | 
   130 
 | 
| 
 | 
   131     $ planemo shed_upload --tar_only  ~/repositories/pico_galaxy/tools/mira4_0/
 | 
| 
 | 
   132     ...
 | 
| 
 | 
   133     $ tar -tzf shed_upload.tar.gz 
 | 
| 
 | 
   134     test-data/U13small_m.fastq
 | 
| 
 | 
   135     ...
 | 
| 
 | 
   136 
 | 
| 
 | 
   137 
 | 
| 
 | 
   138 Licence (MIT)
 | 
| 
 | 
   139 =============
 | 
| 
 | 
   140 
 | 
| 
 | 
   141 Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
| 
 | 
   142 of this software and associated documentation files (the "Software"), to deal
 | 
| 
 | 
   143 in the Software without restriction, including without limitation the rights
 | 
| 
 | 
   144 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
| 
 | 
   145 copies of the Software, and to permit persons to whom the Software is
 | 
| 
 | 
   146 furnished to do so, subject to the following conditions:
 | 
| 
 | 
   147 
 | 
| 
 | 
   148 The above copyright notice and this permission notice shall be included in
 | 
| 
 | 
   149 all copies or substantial portions of the Software.
 | 
| 
 | 
   150 
 | 
| 
 | 
   151 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
| 
 | 
   152 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
| 
 | 
   153 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
| 
 | 
   154 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
| 
 | 
   155 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
| 
 | 
   156 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
| 
 | 
   157 THE SOFTWARE.
 |