Mercurial > repos > crs4 > mosaik2
changeset 0:6adb6e16b00f draft
Uploaded
author | crs4 |
---|---|
date | Wed, 02 Apr 2014 12:32:52 -0400 |
parents | |
children | 1fea05cdc1a1 |
files | COPYING mosaik2.xml readme.rst tool-data/mosaik_index.loc.sample tool_data_table_conf.xml.sample tool_dependencies.xml |
diffstat | 6 files changed, 417 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COPYING Wed Apr 02 12:32:52 2014 -0400 @@ -0,0 +1,179 @@ +Copyright (c) 2005-2013 Pennsylvania State University +Copyright © 2013-2014 CRS4 Srl. http://www.crs4.it/ +Created by: +Dannon Baker <dannonbaker@me.com> +Nicola Soranzo <nicola.soranzo@crs4.it> + +Licensed under the Academic Free License version 3.0 + + 1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, + non-exclusive, sublicensable license, for the duration of the copyright, to + do the following: + + a) to reproduce the Original Work in copies, either alone or as part of a + collective work; + + b) to translate, adapt, alter, transform, modify, or arrange the Original + Work, thereby creating derivative works ("Derivative Works") based upon + the Original Work; + + c) to distribute or communicate copies of the Original Work and Derivative + Works to the public, under any license of your choice that does not + contradict the terms and conditions, including Licensor's reserved + rights and remedies, in this Academic Free License; + + d) to perform the Original Work publicly; and + + e) to display the Original Work publicly. + + 2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, + non-exclusive, sublicensable license, under patent claims owned or + controlled by the Licensor that are embodied in the Original Work as + furnished by the Licensor, for the duration of the patents, to make, use, + sell, offer for sale, have made, and import the Original Work and + Derivative Works. + + 3) Grant of Source Code License. The term "Source Code" means the preferred + form of the Original Work for making modifications to it and all available + documentation describing how to modify the Original Work. Licensor agrees + to provide a machine-readable copy of the Source Code of the Original Work + along with each copy of the Original Work that Licensor distributes. + Licensor reserves the right to satisfy this obligation by placing a + machine-readable copy of the Source Code in an information repository + reasonably calculated to permit inexpensive and convenient access by You + for as long as Licensor continues to distribute the Original Work. + + 4) Exclusions From License Grant. Neither the names of Licensor, nor the + names of any contributors to the Original Work, nor any of their + trademarks or service marks, may be used to endorse or promote products + derived from this Original Work without express prior permission of the + Licensor. Except as expressly stated herein, nothing in this License + grants any license to Licensor's trademarks, copyrights, patents, trade + secrets or any other intellectual property. No patent license is granted + to make, use, sell, offer for sale, have made, or import embodiments of + any patent claims other than the licensed claims defined in Section 2. + No license is granted to the trademarks of Licensor even if such marks + are included in the Original Work. Nothing in this License shall be + interpreted to prohibit Licensor from licensing under terms different + from this License any Original Work that Licensor otherwise would have a + right to license. + + 5) External Deployment. The term "External Deployment" means the use, + distribution, or communication of the Original Work or Derivative Works + in any way such that the Original Work or Derivative Works may be used by + anyone other than You, whether those works are distributed or + communicated to those persons or made available as an application + intended for use over a network. As an express condition for the grants + of license hereunder, You must treat any External Deployment by You of + the Original Work or a Derivative Work as a distribution under + section 1(c). + + 6) Attribution Rights. You must retain, in the Source Code of any Derivative + Works that You create, all copyright, patent, or trademark notices from + the Source Code of the Original Work, as well as any notices of licensing + and any descriptive text identified therein as an "Attribution Notice." + You must cause the Source Code for any Derivative Works that You create + to carry a prominent Attribution Notice reasonably calculated to inform + recipients that You have modified the Original Work. + + 7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that + the copyright in and to the Original Work and the patent rights granted + herein by Licensor are owned by the Licensor or are sublicensed to You + under the terms of this License with the permission of the contributor(s) + of those copyrights and patent rights. Except as expressly stated in the + immediately preceding sentence, the Original Work is provided under this + License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or + implied, including, without limitation, the warranties of + non-infringement, merchantability or fitness for a particular purpose. + THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This + DISCLAIMER OF WARRANTY constitutes an essential part of this License. + No license to the Original Work is granted by this License except under + this disclaimer. + + 8) Limitation of Liability. Under no circumstances and under no legal + theory, whether in tort (including negligence), contract, or otherwise, + shall the Licensor be liable to anyone for any indirect, special, + incidental, or consequential damages of any character arising as a result + of this License or the use of the Original Work including, without + limitation, damages for loss of goodwill, work stoppage, computer failure + or malfunction, or any and all other commercial damages or losses. This + limitation of liability shall not apply to the extent applicable law + prohibits such limitation. + + 9) Acceptance and Termination. If, at any time, You expressly assented to + this License, that assent indicates your clear and irrevocable acceptance + of this License and all of its terms and conditions. If You distribute or + communicate copies of the Original Work or a Derivative Work, You must + make a reasonable effort under the circumstances to obtain the express + assent of recipients to the terms of this License. This License + conditions your rights to undertake the activities listed in Section 1, + including your right to create Derivative Works based upon the Original + Work, and doing so without honoring these terms and conditions is + prohibited by copyright law and international treaty. Nothing in this + License is intended to affect copyright exceptions and limitations + (including "fair use" or "fair dealing"). This License shall terminate + immediately and You may no longer exercise any of the rights granted to + You by this License upon your failure to honor the conditions in + Section 1(c). + +10) Termination for Patent Action. This License shall terminate + automatically and You may no longer exercise any of the rights granted + to You by this License as of the date You commence an action, including + a cross-claim or counterclaim, against Licensor or any licensee alleging + that the Original Work infringes a patent. This termination provision + shall not apply for an action alleging patent infringement by + combinations of the Original Work with other software or hardware. + +11) Jurisdiction, Venue and Governing Law. Any action or suit relating to + this License may be brought only in the courts of a jurisdiction wherein + the Licensor resides or in which Licensor conducts its primary business, + and under the laws of that jurisdiction excluding its conflict-of-law + provisions. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. Any + use of the Original Work outside the scope of this License or after its + termination shall be subject to the requirements and penalties of + copyright or patent law in the appropriate jurisdiction. This section + shall survive the termination of this License. + +12) Attorneys' Fees. In any action to enforce the terms of this License or + seeking damages relating thereto, the prevailing party shall be entitled + to recover its costs and expenses, including, without limitation, + reasonable attorneys' fees and costs incurred in connection with such + action, including any appeal of such action. This section shall survive + the termination of this License. + +13) Miscellaneous. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. + +14) Definition of "You" in This License. "You" throughout this License, + whether in upper or lower case, means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with you. For purposes of this + definition, "control" means (i) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + +15) Right to Use. You may use the Original Work in all ways not otherwise + restricted or conditioned by this License or by law, and Licensor + promises not to interfere with or be responsible for such uses by You. + +16) Modification of This License. This License is Copyright © 2005 Lawrence + Rosen. Permission is granted to copy, distribute, or communicate this + License without modification. Nothing in this License permits You to + modify this License as applied to the Original Work or to Derivative + Works. However, You may modify the text of this License and copy, + distribute or communicate your modified version (the "Modified + License") and apply it to other original works of authorship subject to + the following conditions: (i) You may not indicate in any way that your + Modified License is the "Academic Free License" or "AFL" and you may not + use those names in the name of your Modified License; (ii) You must + replace the notice specified in the first paragraph above with the + notice "Licensed under <insert your license name here>" or with a notice + of your own that is not confusingly similar to the notice in this + License; and (iii) You may not claim that your original works are open + source software unless your Modified License has been approved by Open + Source Initiative (OSI) and You comply with its license review and + certification process.
--- /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 > $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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/readme.rst Wed Apr 02 12:32:52 2014 -0400 @@ -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!
--- /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 @@ -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. +#
--- /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 @@ -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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Wed Apr 02 12:32:52 2014 -0400 @@ -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>