Repository 'mosaik2'
hg clone https://toolshed.g2.bx.psu.edu/repos/crs4/mosaik2

Changeset 0:6adb6e16b00f (2014-04-02)
Next changeset 1:1fea05cdc1a1 (2014-11-06)
Commit message:
Uploaded
added:
COPYING
mosaik2.xml
readme.rst
tool-data/mosaik_index.loc.sample
tool_data_table_conf.xml.sample
tool_dependencies.xml
b
diff -r 000000000000 -r 6adb6e16b00f COPYING
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/COPYING Wed Apr 02 12:32:52 2014 -0400
b
b'@@ -0,0 +1,179 @@\n+Copyright (c) 2005-2013 Pennsylvania State University\n+Copyright \xc2\xa9 2013-2014 CRS4 Srl. http://www.crs4.it/\n+Created by:\n+Dannon Baker <dannonbaker@me.com>\n+Nicola Soranzo <nicola.soranzo@crs4.it>\n+\n+Licensed under the Academic Free License version 3.0\n+\n+ 1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, \n+    non-exclusive, sublicensable license, for the duration of the copyright, to \n+    do the following:\n+\n+    a) to reproduce the Original Work in copies, either alone or as part of a \n+       collective work;\n+\n+    b) to translate, adapt, alter, transform, modify, or arrange the Original \n+       Work, thereby creating derivative works ("Derivative Works") based upon \n+       the Original Work;\n+\n+    c) to distribute or communicate copies of the Original Work and Derivative \n+       Works to the public, under any license of your choice that does not \n+       contradict the terms and conditions, including Licensor\'s reserved \n+       rights and remedies, in this Academic Free License;\n+\n+    d) to perform the Original Work publicly; and\n+\n+    e) to display the Original Work publicly.\n+\n+ 2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, \n+    non-exclusive, sublicensable license, under patent claims owned or \n+    controlled by the Licensor that are embodied in the Original Work as \n+    furnished by the Licensor, for the duration of the patents, to make, use, \n+    sell, offer for sale, have made, and import the Original Work and \n+    Derivative Works.\n+\n+ 3) Grant of Source Code License. The term "Source Code" means the preferred \n+    form of the Original Work for making modifications to it and all available \n+    documentation describing how to modify the Original Work. Licensor agrees \n+    to provide a machine-readable copy of the Source Code of the Original Work \n+    along with each copy of the Original Work that Licensor distributes. \n+    Licensor reserves the right to satisfy this obligation by placing a \n+    machine-readable copy of the Source Code in an information repository \n+    reasonably calculated to permit inexpensive and convenient access by You \n+    for as long as Licensor continues to distribute the Original Work.\n+\n+ 4) Exclusions From License Grant. Neither the names of Licensor, nor the \n+    names of any contributors to the Original Work, nor any of their \n+    trademarks or service marks, may be used to endorse or promote products \n+    derived from this Original Work without express prior permission of the \n+    Licensor. Except as expressly stated herein, nothing in this License \n+    grants any license to Licensor\'s trademarks, copyrights, patents, trade \n+    secrets or any other intellectual property. No patent license is granted \n+    to make, use, sell, offer for sale, have made, or import embodiments of \n+    any patent claims other than the licensed claims defined in Section 2. \n+    No license is granted to the trademarks of Licensor even if such marks \n+    are included in the Original Work. Nothing in this License shall be \n+    interpreted to prohibit Licensor from licensing under terms different \n+    from this License any Original Work that Licensor otherwise would have a \n+    right to license.\n+\n+ 5) External Deployment. The term "External Deployment" means the use, \n+    distribution, or communication of the Original Work or Derivative Works \n+    in any way such that the Original Work or Derivative Works may be used by \n+    anyone other than You, whether those works are distributed or \n+    communicated to those persons or made available as an application \n+    intended for use over a network. As an express condition for the grants \n+    of license hereunder, You must treat any External Deployment by You of \n+    the Original Work or a Derivative Work as a distribution under \n+    section 1(c).\n+\n+ 6) Attribution Rights. You must retain, in the Source Code of any Derivative \n+    Works that You cre'..b') Termination for Patent Action. This License shall terminate \n+    automatically and You may no longer exercise any of the rights granted \n+    to You by this License as of the date You commence an action, including \n+    a cross-claim or counterclaim, against Licensor or any licensee alleging \n+    that the Original Work infringes a patent. This termination provision \n+    shall not apply for an action alleging patent infringement by \n+    combinations of the Original Work with other software or hardware.\n+\n+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to \n+    this License may be brought only in the courts of a jurisdiction wherein \n+    the Licensor resides or in which Licensor conducts its primary business, \n+    and under the laws of that jurisdiction excluding its conflict-of-law \n+    provisions. The application of the United Nations Convention on \n+    Contracts for the International Sale of Goods is expressly excluded. Any \n+    use of the Original Work outside the scope of this License or after its \n+    termination shall be subject to the requirements and penalties of \n+    copyright or patent law in the appropriate jurisdiction. This section \n+    shall survive the termination of this License.\n+\n+12) Attorneys\' Fees. In any action to enforce the terms of this License or \n+    seeking damages relating thereto, the prevailing party shall be entitled \n+    to recover its costs and expenses, including, without limitation, \n+    reasonable attorneys\' fees and costs incurred in connection with such \n+    action, including any appeal of such action. This section shall survive \n+    the termination of this License.\n+\n+13) Miscellaneous. If any provision of this License is held to be \n+    unenforceable, such provision shall be reformed only to the extent \n+    necessary to make it enforceable.\n+\n+14) Definition of "You" in This License. "You" throughout this License, \n+    whether in upper or lower case, means an individual or a legal entity \n+    exercising rights under, and complying with all of the terms of, this \n+    License. For legal entities, "You" includes any entity that controls, is \n+    controlled by, or is under common control with you. For purposes of this \n+    definition, "control" means (i) the power, direct or indirect, to cause \n+    the direction or management of such entity, whether by contract or \n+    otherwise, or (ii) ownership of fifty percent (50%) or more of the \n+    outstanding shares, or (iii) beneficial ownership of such entity.\n+\n+15) Right to Use. You may use the Original Work in all ways not otherwise \n+    restricted or conditioned by this License or by law, and Licensor \n+    promises not to interfere with or be responsible for such uses by You.\n+\n+16) Modification of This License. This License is Copyright \xc2\xa9 2005 Lawrence \n+    Rosen. Permission is granted to copy, distribute, or communicate this \n+    License without modification. Nothing in this License permits You to \n+    modify this License as applied to the Original Work or to Derivative \n+    Works. However, You may modify the text of this License and copy, \n+    distribute or communicate your modified version (the "Modified \n+    License") and apply it to other original works of authorship subject to \n+    the following conditions: (i) You may not indicate in any way that your \n+    Modified License is the "Academic Free License" or "AFL" and you may not \n+    use those names in the name of your Modified License; (ii) You must \n+    replace the notice specified in the first paragraph above with the \n+    notice "Licensed under <insert your license name here>" or with a notice \n+    of your own that is not confusingly similar to the notice in this \n+    License; and (iii) You may not claim that your original works are open \n+    source software unless your Modified License has been approved by Open \n+    Source Initiative (OSI) and You comply with its license review and \n+    certification process.\n'
b
diff -r 000000000000 -r 6adb6e16b00f mosaik2.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mosaik2.xml Wed Apr 02 12:32:52 2014 -0400
[
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<tool id="mosaik2" name="Map with MOSAIK v. 2" version="2.0.0">
+  <description/>
+  <requirements>
+    <requirement type="package" version="2.2.26">mosaik</requirement>
+    <requirement type="package" version="0.1.19">samtools</requirement>
+  </requirements>
+  <version_command>MosaikJump | sed -e 's/\x1b\[[[:digit:]]\{1,2\}\(;[[:digit:]]\{1,2\}\)\{0,1\}m//g' | sed -n 's/MosaikJump \([[:digit:].]\{1,\}\).*/\1/p'</version_command>
+  <command>
+    MosaikBuild -fr
+    #if $genomeSource.refGenomeSource == 'indexed'
+      ${genomeSource.indexReference.fields.path}
+    #else
+      ${genomeSource.historyReference}
+    #end if
+    -oa mosaik_ref_file;
+    MosaikBuild -q $reads
+    #if $paired.kind == 'single'
+      #set $ls_string = ''
+    #else
+      -q2 ${paired.reads2}
+      -mfl ${paired.mfl}
+      #set $ls_string = '-ls %s' % $paired.ls
+    #end if
+    -st $st -out mosaik_reads_file;
+    MosaikAligner -p \${GALAXY_SLOTS:-4} -ia mosaik_ref_file -in mosaik_reads_file -out mosaik_aligned_file -annpe \$MOSAIK_NETWORK_DIR/2.1.26.pe.100.0065.ann -annse \$MOSAIK_NETWORK_DIR/2.1.26.se.100.005.ann $ls_string
+    #if str($mm)
+      -mm $mm
+    #end if
+    #if str($act)
+      -act $act
+    #end if
+    #if str($bw)
+      -bw $bw
+    #end if
+    #if str($mhp)
+      -mhp $mhp
+    #end if
+    -hs 15;
+    #if str($outFormat) == 'bam'
+      samtools sort -o mosaik_aligned_file.bam out_prefix &gt; $output
+    #else
+      samtools view mosaik_aligned_file.bam -o $output
+    #end if
+  </command>
+  <inputs>
+    <conditional name="genomeSource">
+      <param name="refGenomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?">
+        <option value="indexed">Use a built-in index</option>
+        <option value="history">Use one from the history</option>
+      </param>
+      <when value="indexed">
+        <param name="indexReference" type="select" label="Select a reference genome">
+          <options from_data_table="mosaik_indexes">
+            <filter type="sort_by" column="2" />
+            <validator type="no_options" message="No indexes are available" />
+          </options>
+        </param>
+      </when>
+      <when value="history">
+        <param format="fasta" name="historyReference" type="data" metadata_name="dbkey" label="Select a reference from history" />
+      </when>
+    </conditional>
+    <param name="st" type="select" label="Sequencing technology used">
+      <option value="454">454</option>
+      <option value="illumina">Illumina</option>
+      <option value="solid">Solid</option>
+      <option value="sanger">Sanger</option>
+      <option value="helicos">Helicos</option>
+    </param>
+    <param format="fastq" name="reads" type="data" label="FASTQ reads file" />
+    <conditional name="paired">
+      <param name="kind" type="select" label="Is this library mate-paired?">
+        <option value="single">Single-end</option>
+        <option value="paired">Paired-end</option>
+      </param>
+      <when value="single" />
+      <when value="paired">
+        <param format="fastq" name="reads2" type="data" label="FASTQ 2nd mate" />
+        <param name="mfl" type="integer" value="200" label="Median fragment length" />
+        <param name="ls" type="integer" min="0" value="50" label="Local alignment search radius to rescue mates" help="A large value slows down performances" />
+      </when>
+    </conditional>
+    <param name="mm" type="integer" value="6" optional="true" label="Number of mismatches allowed per sequence" />
+    <param name="act" type="integer" value="35" optional="true" label="Alignment candidate threshold" help="Determines which hash regions will be aligned with Smith-Waterman" />
+    <param name="bw" type="integer" value="9" optional="true" label="Smith-Waterman band width" />
+    <param name="mhp" type="integer" value="100" optional="true" label="Maximum number of positions stored per seed" help="Number of places in the reference the aligner will try to place a particular hash" />
+    <param name="outFormat" type="select" label="Output format">
+      <option value="sam">SAM</option>
+      <option value="bam">BAM</option>
+    </param>
+  </inputs>
+  <outputs>
+    <data format="sam" name="output">
+      <change_format>
+        <when input="outFormat" value="bam" format="bam" />
+      </change_format>
+      <actions>
+        <conditional name="genomeSource.refGenomeSource">
+          <when value="indexed">
+            <action type="metadata" name="dbkey">
+              <option type="from_data_table" name="mosaik_indexes" column="1">
+                <filter type="param_value" column="0" value="#" compare="startswith" keep="False" />
+                <filter type="param_value" ref="genomeSource.indexReference" column="0" />
+              </option>
+            </action>
+          </when>
+          <when value="history">
+            <action type="metadata" name="dbkey">
+              <option type="from_param" name="genomeSource.historyReference" param_attribute="dbkey" />
+            </action>
+          </when>
+        </conditional>
+      </actions>
+   </data>
+  </outputs>
+  <tests>
+    <test>
+      <param name="refGenomeSource" value="history" />
+      <param name="historyReference" ftype="fasta" value="mosaik_test_ref.fasta" />
+      <param name="st" value="454" />
+      <param name="reads" ftype="fastq" value="mosaik_test_input.fastq" />
+      <param name="kind" value="single" />
+      <param name="mm" value="6" />
+      <param name="act" value="35" />
+      <param name="bw" value="9" />
+      <param name="mhp" value="100" />
+      <param name="outFormat" value="sam" />
+      <output name="output" file="mosaik_test_out.sam" compare="sim_size" delta="0" />
+    </test>
+  </tests>
+  <help>
+**What it does**
+
+This tool uses `MOSAIK`_ v. 2 to align reads to a reference sequence.
+
+**License and citation**
+
+This Galaxy tool is Copyright © 2005-2013 Pennsylvania State University, © 2013-2014 `CRS4 Srl.`_ and is released under the `Academic Free License v. 3.0`_.
+
+.. _CRS4 Srl.: http://www.crs4.it/
+.. _Academic Free License v. 3.0: http://opensource.org/licenses/AFL-3.0
+
+If you use this tool in Galaxy, please cite |Cuccuru2014|_.
+
+.. |Cuccuru2014| replace:: Cuccuru, G., Orsini, M., Pinna, A., Sbardellati, A., Soranzo, N., Travaglione, A., Uva, P., Zanetti, G., Fotia, G. (2014) Orione, a web-based framework for NGS analysis in microbiology. *Bioinformatics*, accepted
+.. _Cuccuru2014: http://bioinformatics.oxfordjournals.org/content/early/2014/03/10/bioinformatics.btu135
+
+This tool uses `MOSAIK`_, which is licensed separately. Please cite |Lee2014|_.
+
+.. _MOSAIK: https://code.google.com/p/mosaik-aligner/
+.. |Lee2014| replace:: Lee, W.-P., *et al.* (2014) MOSAIK: A Hash-Based Algorithm for Accurate Next-Generation Sequencing Short-Read Mapping. *PLoS ONE* 9(3), e90581
+.. _Lee2014: http://www.plosone.org/article/info:doi/10.1371/journal.pone.0090581
+  </help>
+</tool>
b
diff -r 000000000000 -r 6adb6e16b00f readme.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/readme.rst Wed Apr 02 12:32:52 2014 -0400
b
@@ -0,0 +1,27 @@
+MOSAIK v.2 wrapper
+==================
+
+Configuration
+-------------
+
+mosaik2 tool may be configured to use more than one CPU core by selecting an appropriate destination for this tool in Galaxy job_conf.xml file (see https://wiki.galaxyproject.org/Admin/Config/Jobs and https://wiki.galaxyproject.org/Admin/Config/Performance/Cluster ).
+
+If you are using Galaxy release_2013.11.04 or later, this tool will automatically use the number of CPU cores allocated by the job runner according to the configuration of the destination selected for this tool.
+
+If instead you are using an older Galaxy release, you should also add a line
+
+  GALAXY_SLOTS=N; export GALAXY_SLOTS
+
+(where N is the number of CPU cores allocated by the job runner for this tool) to the file
+
+  <tool_dependencies_dir>/mosaik/2.2.26/crs4/mosaik2/<hash_string>/env.sh
+
+Version history
+---------------
+
+- Release 0: Initial release in the Tool Shed.
+
+Development
+-----------
+
+Development is hosted at https://bitbucket.org/crs4/orione-tools . Contributions and bug reports are very welcome!
b
diff -r 000000000000 -r 6adb6e16b00f tool-data/mosaik_index.loc.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/mosaik_index.loc.sample Wed Apr 02 12:32:52 2014 -0400
b
@@ -0,0 +1,19 @@
+#This is a sample file distributed with Galaxy that enables tools
+#to use a directory of Mosaik indexed sequences data files. You will need
+#to create these data files and then create a mosaik_index.loc file 
+#similar to this one (store it in this directory) that points to 
+#the directories in which those files are stored. The mosaik_index.loc 
+#file has this format (longer white space is the TAB character):
+#
+#<unique_build_id> <dbkey> <display_name> <fasta_file_path>
+#
+#So, for example, if you had hg18 indexed and stored in 
+#/depot/data2/galaxy/mosaik/hg18/
+#then the mosaik_index.loc entry would look like this:
+#
+#hg18 hg18 hg18 Pretty /depot/data2/galaxy/mosaik/hg18/hg18.fa
+#
+#and your /depot/data2/galaxy/mosaik/hg18/ directory
+#would contain the following files:
+#TODO handle mosaik jump tables.
+#
b
diff -r 000000000000 -r 6adb6e16b00f tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Wed Apr 02 12:32:52 2014 -0400
b
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Location of Mosaik files -->
+    <table name="mosaik_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/mosaik_index.loc" />
+    </table>
+</tables>
b
diff -r 000000000000 -r 6adb6e16b00f tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Wed Apr 02 12:32:52 2014 -0400
b
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<tool_dependency>
+  <package name="mosaik" version="2.2.26">
+    <install version="1.0">
+      <actions>
+        <action type="shell_command">git clone https://github.com/wanpinglee/MOSAIK.git mosaik</action>
+        <action type="shell_command">git reset --hard e04c806bb1410cf1dbd1534991c46d696aec6723</action>
+        <action type="shell_command">sed -i 's/ -static//g' src/includes/linux.inc</action>
+        <action type="shell_command">make -C src/</action>
+        <action type="move_directory_files">
+          <source_directory>bin</source_directory>
+          <destination_directory>$INSTALL_DIR/bin</destination_directory>
+        </action>
+        <action type="move_directory_files">
+          <source_directory>src/networkFile</source_directory>
+          <destination_directory>$INSTALL_DIR/networkFile</destination_directory>
+        </action>
+        <action type="set_environment">
+          <environment_variable name="PATH" action="prepend_to">$INSTALL_DIR/bin</environment_variable>
+        </action>
+        <action type="set_environment">
+          <environment_variable name="MOSAIK_NETWORK_DIR" action="set_to">$INSTALL_DIR/networkFile</environment_variable>
+        </action>
+      </actions>
+    </install>
+  </package>
+<!--  <package name="samtools" version="0.1.19">
+    <repository name="package_samtools_0_1_19" owner="devteam" />
+  </package>-->
+</tool_dependency>