| Next changeset 1:9a39c4105901 (2017-02-15) |
|
Commit message:
planemo upload for repository https://bitbucket.org/EMCbioinf/galaxy-tool-shed-tools commit 0bc9864516071632199ddf9a4ff403893060c99f |
|
added:
README.rst test-data/example.bam test-data/example.fa test-data/example.fa.fai test-data/example.mpileup test-data/example.mpileup.parallel test-data/example.vcf test-data/generate_reads.py test-data/hg18_mutant.bam test-data/hg18_mutant.bam.bai test-data/hg18_mutant.sam test-data/hg19_mutant.bam test-data/hg19_mutant.bam.bai test-data/hg19_mutant.mpileup test-data/hg19_mutant.sam test-data/hg19_mutant.vcf tool-data/all_fasta.loc.sample tool_data_table_conf.xml.sample tool_dependencies.xml varscan_mpileup2snp.xml varscan_mpileup2snp_from_bam.xml |
| b |
| diff -r 000000000000 -r 0c5cc5763091 README.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.rst Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| @@ -0,0 +1,111 @@ +VarScan2 mpileup2snp wrapper for Galaxy +======================================= + +http://sourceforge.net/projects/varscan/ + +This wrapper is optimized for direct access to BAM files such that the +big mpileup files are not saved. + +Development +----------- + +* Repository-Maintainer: Youri Hoogstrate + +* Repository-Development: https://bitbucket.org/EMCbioinf/galaxy-tool-shed-tools + +The tool wrapper has been written by Youri Hoogstrate from the Erasmus +Medical Center (Rotterdam, Netherlands) on behalf of the Translational +Research IT (TraIT) project: + +http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch + +More tools by the Translational Research IT (TraIT) project can be found in the following repository: + +http://toolshed.dtls.nl/ + +License +------- + +**VarScan2**: + +Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0): http://sourceforge.net/directory/os:linux/license:nposl3/freshness:recently-updated/ http://opensource.org/licenses/NPOSL-3.0 + +**samtools**: + +MIT/Expat License: https://raw.githubusercontent.com/samtools/samtools/develop/LICENSE + + The MIT/Expat License + + Copyright (C) 2008-2014 Genome Research Ltd. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + [The use of a range of years within a copyright notice in this distribution + should be interpreted as being equivalent to a list of years including the + first and last year specified and all consecutive years between them. + + For example, a copyright notice that reads "Copyright (C) 2005, 2007-2009, + 2011-2012" should be interpreted as being identical to a notice that reads + "Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012" and a copyright notice + that reads "Copyright (C) 2005-2012" should be interpreted as being identical + to a notice that reads "Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, + 2011, 2012".] + +**samtools-parallel-mpileup**: + +MIT License: https://raw.githubusercontent.com/mydatascience/parallel-mpileup/master/samtools-0.1.19/COPYING + + MIT License: + + Copyright (c) 2008-2009 Genome Research Ltd. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +**This wrapper**: + + Copyright (C) 2013-2014 Youri Hoogstrate + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/example.bam |
| b |
| Binary file test-data/example.bam has changed |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/example.fa --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.fa Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,11 @@ +>chr1 +aaataggtcccaaacgttacgcactctatgcctgacaaagttgcgaccacttcctctgcc +ttgtgtgacacgccggagatagggcatcagcaagtacgttaagtacactgaacgaactgg +aggtttctacatcgtgcgtgatggctctaggagaagtgggtgtatctgcacagcataagt +tataagacggaagtaaagcgtcttcaccgttcagcaccccacgctcatagtcaatgctgg +ttcagcatagtcaagcgccggtggcctccaaaaagacgcactgagtagcttagctacttt +gctccgcttgcggaagcactaagaggagattgaatttccaaatcccccccgatacctgtg +cggtcgctacgtaagtgcgaagttctgttagatacgctccccttagtatatgggcgttaa +tcggaccgtcggtactcactgcattccaggtctcatatagttcgccctagaagcctggga +tgaacgttgaactatagctgatgtaaaccccgcgtgccaattccaggcgtcatgggggca +acccctcgcagcctccctcttgctgttggtgcctagtatttcatgatttcgagccgacat |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/example.fa.fai --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.fa.fai Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,1 @@ +chr1 600 6 60 61 |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/example.mpileup --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.mpileup Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| b'@@ -0,0 +1,540 @@\n+chr1\t1\ta\t5\t^],^].^],^].^],\t~~~~~\n+chr1\t2\ta\t6\t,.,.,^],\t~~~~~~\n+chr1\t3\ta\t7\t,.,.,,^].\t~~~~~~E\n+chr1\t4\tt\t8\t,.,.,,.^].\t~~~~~~RE\n+chr1\t5\ta\t12\t,.,.,,..^],^],^].^].\t~~~~~~UUEEEE\n+chr1\t6\tg\t13\t,.,.,,..,,..^].\t~~~~~~a`UUUUB\n+chr1\t7\tg\t17\t,.,.,,..,,...^].^].^],^],\t~~~~~~aaaaaaEEEEE\n+chr1\t8\tt\t21\t,.,.,,..,,.....,,^].^],^],^].\t~~~~~~~uuuuueUUUUEEEE\n+chr1\t9\tc\t23\t,.,.,,..,,.....,,.,,.^],^],\t~~~~~~~uuuuue]]]]UUUUAA\n+chr1\t10\tc\t26\t,.,.,,..,,.....,,.,,.,,^].^].^],\t~~~~~~~uuuuue]]]]]]]]BB>>>\n+chr1\t11\tc\t27\t,.,.,,..,,.....,,.,,.,,..,^],\t~~~~~~~uuuuue^^^^____EE>>>E\n+chr1\t12\ta\t28\t,.,.,,..,,.....,,.,,.,,..,,^],\t~~~~~~~uuuuue^^^^____^^]]]UA\n+chr1\t13\ta\t32\t,.,.,,..,,.....,,.,,.,,..,,,^],^].^].^],\t~~~~~~~uuuuue^^^^____^^]]]]B>>>>\n+chr1\t14\ta\t34\t,.,.,,..,,.....,,.,,.,,..,,,,..,^].^].\t~~~~~~~uuuuue^^^^____^^^^^_E>>>>EE\n+chr1\t15\tc\t36\t,.,.,,..,,.....,,.,,.,,..,,,,..,..^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~uueeeeUUEE\n+chr1\t16\tg\t38\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeUUEE\n+chr1\t17\tt\t40\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuuee``UUBB\n+chr1\t18\tt\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,..^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaEE@\n+chr1\t19\ta\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t20\tc\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t21\tg\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t22\tc\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t23\ta\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t24\tc\t41\tgGgGggGGggGGGGGggGggGggGGggggGGgGGGgGgGGG\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t25\tt\t47\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...,,,.^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB==11EE\n+chr1\t26\tc\t52\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...,,,...^].^].^],^],^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB@@@ARRDDDDD\n+chr1\t27\tt\t53\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...,,,.....,,,^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYBIIIOUUIIIII~\n+chr1\t28\ta\t61\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,.^].^],^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuukkkkkkkkkppppp{{{arreeeee~~~~\n+chr1\t29\tt\t63\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.^],^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuukkkkkkkkkpppqq{{{rttttttt~~~~~~\n+chr1\t30\tg\t66\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,^],^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t31\tc\t67\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,..^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t32\tc\t68\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t33\tt\t69\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t34\tg\t71\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.^].^].\t~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t35\ta\t73\t,$.$,$.$,$,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,...^].^].\t~~~~~~Ueqqqq{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t36\tc\t71\t,$..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....^],^].^],\t~Rbppppz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t37\ta\t72\t.$.,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....,.,^].^].\t>>EEEE^^^^^eeeeee~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t38\ta\t76\t.$,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....,.,..^],^].^].^],^],\t;BBBB[]]]]eeeeee~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t39\ta\t80\t,$,$.$.$...,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....,.,..,..,'..b'..,.,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dduaUEE\n+chr1\t502\tt\t72\t,$...,.,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,^],^],^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{~~~~ttzbbUUEEEE\n+chr1\t503\tg\t73\t.$.$.$,$.,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{~~~~vv{eeeePPPPEE\n+chr1\t504\tt\t71\t.$,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{~~~~{{{wwqqUUUUUUEE\n+chr1\t505\ta\t71\t,$.$,$,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^]]UUA\n+chr1\t506\ta\t72\t,$,$.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,.^].^],^],^].\t~~~~~~~~~~~~~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^]]]]B>>>>\n+chr1\t507\ta\t70\t.$,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__E>>>>\n+chr1\t508\tc\t69\t,$.$.$,$,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\[[[[\n+chr1\t509\tc\t65\t,$,$,$...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\[[[[\n+chr1\t510\tc\t62\t.$.$.,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\[[[[\n+chr1\t511\tc\t60\t.$,$.$.....,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\\\\\\\\\\n+chr1\t512\tg\t57\t.$....,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~qsssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwvvvvvvvvvvvvvvv\n+chr1\t513\tc\t56\t.$.$.$.$,$,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~eqqqqqvzz{{{{{{{{{{{{{{{{~~~~{{{wwvvvvvvvvvvvvvvv\n+chr1\t514\tg\t51\t,$.$,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~UUUooovzz{{{{{{{{{{{{{{{{~~~~{{{wwvvvvvvvvvvvvvvv\n+chr1\t515\tt\t49\t,$,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tERReeetzz{{{{{{{{{{{{{{{{~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t516\tg\t48\t,$,$,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tEEUUUett{{{{{{{{{{{{{{{{~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t517\tc\t46\t,$.$.$.,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>>E__aaaaaaaaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t518\tc\t43\t.$,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tBUU_aaaaaaaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t519\ta\t42\t,$,$.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>E____aaaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t520\ta\t40\t.$,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tBUUUU_aaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t521\tt\t39\t,$,$,$,$..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>>>E__aaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t522\tt\t35\t.$.,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tBUUaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t523\tc\t34\t.$,$,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>__aeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t524\tc\t32\t,...,,..,.,..,,,,.,,,.,.,.,..,,.\tUU_eerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t525\ta\t32\t,$.$..,,..,.,..,,,,.,,,.,.,.,..,,.\tEEUeerrr~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t526\tg\t30\t.$.,,..,.,..,,,,.,,,.,.,.,..,,.\t>EE_____eeeez{~~~~~~~~~~~~~~~~\n+chr1\t527\tg\t29\t.$,$,..,.,..,,,,.,,,.,.,.,..,,.\tAAUUUUUeeeez{~~~~~~~~~~~~~~~~\n+chr1\t528\tc\t27\t,$.$.$,.,..,,,,.,,,.,.,.,..,,.\tEEERReeeez{~~~~~~~~~~~~~~~~\n+chr1\t529\tg\t24\t,$.$,..,,,,.,,,.,.,.,..,,.\tEEUUbbtz~~~~~~~~~~~~~~~~\n+chr1\t530\tt\t22\t,$.$.,,,,.,,,.,.,.,..,,.\tEEUUee~~~~~~~~~~~~~~~~\n+chr1\t531\tc\t20\t.$,$,,,.,,,.,.,.,..,,.\tEEUbu~~~~~~~~~~~~~~~\n+chr1\t532\ta\t18\t,$,,.,,,.,.,.,..,,.\tEUeuu~~~~~~~~~~~~~\n+chr1\t533\tt\t17\t,$,.,,,.,.,.,..,,.\tEUeeuuuu~~~~~~~~~\n+chr1\t534\tg\t16\t,$.,,,.,.,.,..,,.\t>>>>>>>>>EE[[[[[\n+chr1\t535\tg\t15\t.$,$,,.,.,.,..,,.\t;;;;;;;;BBXZZZZ\n+chr1\t536\tg\t13\t,$,$.$,$.,.,..,,.\t9999::AAXZZZZ\n+chr1\t537\tg\t9\t.$,$.,..,,.\t88??XZZZZ\n+chr1\t538\tg\t7\t.$,$..,,.\t>>TZZZZ\n+chr1\t539\tc\t5\t.$.,,.\tEUUUU\n+chr1\t540\ta\t4\t.$,$,$.$\t>>>>\n' |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/example.mpileup.parallel --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.mpileup.parallel Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| b'@@ -0,0 +1,540 @@\n+chr1\t1\ta\t5\t^],^].^],^].^],\t~~~~~\n+chr1\t2\ta\t6\t,.,.,^],\t~~~~~~\n+chr1\t3\ta\t7\t,.,.,,^].\t~~~~~~E\n+chr1\t4\tt\t8\t,.,.,,.^].\t~~~~~~RE\n+chr1\t5\ta\t12\t,.,.,,..^],^],^].^].\t~~~~~~UUEEEE\n+chr1\t6\tg\t13\t,.,.,,..,,..^].\t~~~~~~a`UUUUB\n+chr1\t7\tg\t17\t,.,.,,..,,...^].^].^],^],\t~~~~~~aaaaaaEEEEE\n+chr1\t8\tt\t21\t,.,.,,..,,.....,,^].^],^],^].\t~~~~~~~uuuuueUUUUEEEE\n+chr1\t9\tc\t23\t,.,.,,..,,.....,,.,,.^],^],\t~~~~~~~uuuuue]]]]UUUUAA\n+chr1\t10\tc\t26\t,.,.,,..,,.....,,.,,.,,^].^].^],\t~~~~~~~uuuuue]]]]]]]]BB>>>\n+chr1\t11\tc\t27\t,.,.,,..,,.....,,.,,.,,..,^],\t~~~~~~~uuuuue^^^^____EE>>>E\n+chr1\t12\ta\t28\t,.,.,,..,,.....,,.,,.,,..,,^],\t~~~~~~~uuuuue^^^^____^^]]]UA\n+chr1\t13\ta\t32\t,.,.,,..,,.....,,.,,.,,..,,,^],^].^].^],\t~~~~~~~uuuuue^^^^____^^]]]]B>>>>\n+chr1\t14\ta\t34\t,.,.,,..,,.....,,.,,.,,..,,,,..,^].^].\t~~~~~~~uuuuue^^^^____^^^^^_E>>>>EE\n+chr1\t15\tc\t36\t,.,.,,..,,.....,,.,,.,,..,,,,..,..^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~uueeeeUUEE\n+chr1\t16\tg\t38\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeUUEE\n+chr1\t17\tt\t40\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuuee``UUBB\n+chr1\t18\tt\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,..^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaEE@\n+chr1\t19\ta\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t20\tc\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t21\tg\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t22\tc\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t23\ta\t41\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t24\tc\t41\tgGgGggGGggGGGGGggGggGggGGggggGGgGGGgGgGGG\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB\n+chr1\t25\tt\t47\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...,,,.^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB==11EE\n+chr1\t26\tc\t52\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...,,,...^].^].^],^],^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYB@@@ARRDDDDD\n+chr1\t27\tt\t53\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,...,,,.....,,,^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuueeaaaaYYBIIIOUUIIIII~\n+chr1\t28\ta\t61\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,.^].^],^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuukkkkkkkkkppppp{{{arreeeee~~~~\n+chr1\t29\tt\t63\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.^],^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuukkkkkkkkkpppqq{{{rttttttt~~~~~~\n+chr1\t30\tg\t66\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,^],^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t31\tc\t67\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,..^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t32\tc\t68\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t33\tt\t69\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t34\tg\t71\t,.,.,,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.^].^].\t~~~~~~u~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t35\ta\t73\t,$.$,$.$,$,..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,...^].^].\t~~~~~~Ueqqqq{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t36\tc\t71\t,$..,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....^],^].^],\t~Rbppppz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t37\ta\t72\t.$.,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....,.,^].^].\t>>EEEE^^^^^eeeeee~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t38\ta\t76\t.$,,.....,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....,.,..^],^].^].^],^],\t;BBBB[]]]]eeeeee~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t39\ta\t80\t,$,$.$.$...,,.,,.,,..,,,,..,...,.,......,.,,,.....,,,..,.,,,...,.....,.,..,..,'..b'..,.,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dduaUEE\n+chr1\t502\tt\t72\t,$...,.,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,^],^],^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{~~~~ttzbbUUEEEE\n+chr1\t503\tg\t73\t.$.$.$,$.,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{~~~~vv{eeeePPPPEE\n+chr1\t504\tt\t71\t.$,.,,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{~~~~{{{wwqqUUUUUUEE\n+chr1\t505\ta\t71\t,$.$,$,,.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^]]UUA\n+chr1\t506\ta\t72\t,$,$.,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,.^].^],^],^].\t~~~~~~~~~~~~~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^]]]]B>>>>\n+chr1\t507\ta\t70\t.$,..,,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__E>>>>\n+chr1\t508\tc\t69\t,$.$.$,$,,,...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\[[[[\n+chr1\t509\tc\t65\t,$,$,$...,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\[[[[\n+chr1\t510\tc\t62\t.$.$.,......,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\[[[[\n+chr1\t511\tc\t60\t.$,$.$.....,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwqq^^^^^^__\\\\\\\\\\\n+chr1\t512\tg\t57\t.$....,,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~~sssssvzz{{{{{{{{{{{{{{{{~~~~{{{wwvvvvvvvvvvvvvvv\n+chr1\t513\tc\t56\t.$.$.$.$,$,.,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~~~~~~qqqqqvzz{{{{{{{{{{{{{{{{~~~~{{{wwvvvvvvvvvvvvvvv\n+chr1\t514\tg\t51\t,$.$,,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~~~UUooovzz{{{{{{{{{{{{{{{{~~~~{{{wwvvvvvvvvvvvvvvv\n+chr1\t515\tt\t49\t,$,,,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t~RReeetzz{{{{{{{{{{{{{{{{~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t516\tg\t48\t,$,$,...,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tEEUUUett{{{{{{{{{{{{{{{{~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t517\tc\t46\t,$.$.$.,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>>E__aaaaaaaaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t518\tc\t43\t.$,,.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tBUU_aaaaaaaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t519\ta\t42\t,$,$.,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>E____aaaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t520\ta\t40\t.$,,,,..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tBUUUU_aaaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t521\tt\t39\t,$,$,$,$..,,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>>>E__aaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t522\tt\t35\t.$.,,...,,..,.,..,,,,.,,,.,.,.,..,,.\tBUUaaaeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t523\tc\t34\t.$,$,...,,..,.,..,,,,.,,,.,.,.,..,,.\t>>__aeerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t524\tc\t32\t,...,,..,.,..,,,,.,,,.,.,.,..,,.\tUU_eerrr~~~~{{{{{{{{{{{{{{{{{{{{\n+chr1\t525\ta\t32\t,$.$..,,..,.,..,,,,.,,,.,.,.,..,,.\tEEUeerrr~~~~~~~~~~~~~~~~~~~~~~~~\n+chr1\t526\tg\t30\t.$.,,..,.,..,,,,.,,,.,.,.,..,,.\t>EE_____eeeez{~~~~~~~~~~~~~~~~\n+chr1\t527\tg\t29\t.$,$,..,.,..,,,,.,,,.,.,.,..,,.\tAAUUUUUeeeez{~~~~~~~~~~~~~~~~\n+chr1\t528\tc\t27\t,$.$.$,.,..,,,,.,,,.,.,.,..,,.\tEEERReeeez{~~~~~~~~~~~~~~~~\n+chr1\t529\tg\t24\t,$.$,..,,,,.,,,.,.,.,..,,.\tEEUUbbtz~~~~~~~~~~~~~~~~\n+chr1\t530\tt\t22\t,$.$.,,,,.,,,.,.,.,..,,.\tEEUUee~~~~~~~~~~~~~~~~\n+chr1\t531\tc\t20\t.$,$,,,.,,,.,.,.,..,,.\tEEUbu~~~~~~~~~~~~~~~\n+chr1\t532\ta\t18\t,$,,.,,,.,.,.,..,,.\tEUeuu~~~~~~~~~~~~~\n+chr1\t533\tt\t17\t,$,.,,,.,.,.,..,,.\tEUeeuuuu~~~~~~~~~\n+chr1\t534\tg\t16\t,$.,,,.,.,.,..,,.\t>>>>>>>>>EE[[[[[\n+chr1\t535\tg\t15\t.$,$,,.,.,.,..,,.\t;;;;;;;;BBXZZZZ\n+chr1\t536\tg\t13\t,$,$.$,$.,.,..,,.\t9999::AAXZZZZ\n+chr1\t537\tg\t9\t.$,$.,..,,.\t88??XZZZZ\n+chr1\t538\tg\t7\t.$,$..,,.\t>>TZZZZ\n+chr1\t539\tc\t5\t.$.,,.\tEUUUU\n+chr1\t540\ta\t4\t.$,$,$.$\t>>>>\n' |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/example.vcf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.vcf Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,31 @@ +##fileformat=VCFv4.1 +##source=VarScan2 +##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15"> +##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)"> +##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant"> +##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant"> +##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called"> +##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand"> +##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15"> +##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)"> +##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)"> +##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency"> +##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test"> +##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)"> +##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)"> +##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)"> +##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)"> +##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)"> +##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1 +chr1 24 . C G . PASS ADP=41;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:236:41:41:0:41:100%:2.3541E-24:0:84:0:0:22:19 +chr1 84 . G A . PASS ADP=59;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:59:59:0:59:100%:4.1056E-35:0:83:0:0:33:26 +chr1 146 . T C . PASS ADP=81;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:81:81:0:81:100%:2.7329E-48:0:86:0:0:49:32 +chr1 206 . A G . PASS ADP=79;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:79:79:0:79:100%:4.3185E-47:0:86:0:0:48:31 +chr1 495 . T G . PASS ADP=65;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:65:65:0:65:100%:1.0519E-38:0:89:0:0:31:34 +chr1 496 . A C . PASS ADP=64;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:64:64:0:64:100%:4.1752E-38:0:89:0:0:31:33 +chr1 497 . G C . PASS ADP=63;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:63:63:0:63:100%:1.657E-37:0:89:0:0:30:33 \ No newline at end of file |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/generate_reads.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/generate_reads.py Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| @@ -0,0 +1,129 @@ +#!/usr/bin/env python + + +import random +import math + + +__version_info__ = ('1', '0', '0') +__version__ = '.'.join(__version_info__) + + +class Region: + def __init__(self,start,stop,sequence): + self.start = start + self.stop = stop + self.sequence = sequence.strip().replace("\n","").replace(" ","") + if(len(self.sequence) != self.getSpanningLength()): + print "ERROR: sequence length: "+str(len(self.sequence))+", while spanning region is: "+str(self.getSpanningLength()) + import sys + sys.exit() + + def getSpanningLength(self): + return abs(self.stop-self.start+1) + +class ReadSynthesizer: + def __init__(self,chromosome): + self.regions = [] + self.chromosome = chromosome + + def addRegion(self,region): + self.regions.append(region) + + def produceReads(self,readDensity = 1,read_length = 50): + """ + Produces uniform reads by walking iteratively over self.regions + """ + + mRNA = self.getTotalmRNA() + spanning_length = self.getRegionSpanningLength() + n = spanning_length['total'] - read_length + 1 + + j = 0 + k = 0 + + for i in range(n): + # "alpha is playing the role of k and beta is playing the role of theta" + dd = max(0,int(round(random.lognormvariate(math.log(readDensity),0.5))))# Notice this is NOT a binomial distribution!! + + for d in range(dd): + sequence = mRNA[i:i+read_length] + + if(random.randint(0,1) == 0): + strand = 0 + else: + strand = 16 + flag = strand + 0 + + print "read_"+str(j)+"."+str(i)+"."+str(d)+"\t"+str(flag)+"\t"+self.chromosome+"\t"+str(self.regions[j].start + k)+"\t60\t"+self.getMappingString(read_length,j,k)+"\t*\t0\t0\t"+str(sequence.upper())+"\t*" + + spanning_length['iter'][j] -= 1 + if(k >= self.regions[j].getSpanningLength()-1): + j += 1 + k = 0 + else: + k += 1 + + def getMappingString(self,length,j,offset): + m = 0 + + out = "" + + for i in range(length): + k = i + offset + + if(k >= self.regions[j].getSpanningLength()): + j += 1 + + out += str(m)+"M" + out += (str(self.regions[j].start - self.regions[j-1].stop-1))+"N" + m = 1 + + offset = -k + else: + m += 1 + + out += str(m) + "M" + + + return out + + def getRegionSpanningLength(self): + length = {'total':0,'iter':[]} + for r in self.regions: + l = r.getSpanningLength() + length['iter'].append(l) + length['total'] += l + return length + + def getTotalmRNA(self): + mRNA = "" + for r in self.regions: + mRNA += r.sequence + return mRNA + + + +if __name__ == "__main__": + # Real world example snp + + #rs = ReadSynthesizer('chr6') + #rs.addRegion(Region(154360546,154360969,'ccaggactggtttctgtaagaaacagcaggagctgtggcagcggcgaaaggaagcggctgaggcgcttggaacccgaaaagtctcggtgctcctggctacctcgcacagcggtgcccgcccggccgtcagtaccatggacagcagcgctgcccccacgaacgccagcaattgcactgatgccttggcgtactcaagttgctccccagcacccagccccggttcctgggtcaacttgtcccacttagatggcGacctgtccgacccatgcggtccgaaccgcaccgacctgggcgggagagacagcctgtgccctccgaccggcagtccctccatgatcacggccatcacgatcatggccctctactccatcgtgtgcgtggtggggctcttcggaaacttcctggtcatgtatgtgattgtcag')) + #rs.addRegion(Region(154410961,154411313,'atacaccaagatgaagactgccaccaacatctacattttcaaccttgctctggcagatgccttagccaccagtaccctgcccttccagagtgtgaattacctaatgggaacatggccatttggaaccatcctttgcaagatagtgatctccatagattactataacatgttcaccagcatattcaccctctgcaccatgagtgttgatcgatacattgcagtctgccaccctgtcaaggccttagatttccgtactccccgaaatgccaaaattatcaatgtctgcaactggatcctctcttcagccattggtcttcctgtaatgttcatggctacaacaaaatacaggcaag')) + #rs.addRegion(Region(154412087,154412607,'gttccatagattgtacactaacattctctcatccaacctggtactgggaaaacctgctgaagatctgtgttttcatcttcgccttcattatgccagtgctcatcattaccgtgtgctatggactgatgatcttgcgcctcaagagtgtccgcatgctctctggctccaaagaaaaggacaggaatcttcgaaggatcaccaggatggtgctggtggtggtggctgtgttcatcgtctgctggactcccattcacatttacgtcatcattaaagccttggttacaatcccagaaactacgttccagactgtttcttggcacttctgcattgctctaggttacacaaacagctgcctcaacccagtcctttatgcatttctggatgaaaacttcaaacgatgcttcagagagttctgtatcccaacctcttccaacattgagcaacaaaactccactcgaattcgtcagaacactagagaccacccctccacggccaatacagtggatagaactaatcatcag')) + #rs.addRegion(Region(154428600,154428787,'gtggaattgaacctggactgtcactgtgaaaatgcaaagccttggccactgagctacaatgcagggcagtctccatttcccttcccaggaagagtctagagcattaattttgagtttgcaaaggcttgtaactatttcatatgatttttagagctgactatgacatgaaccctaaaattcctgttccc')) + #rs.produceReads(3,50) + + # Artificial SNP + rs = ReadSynthesizer('chr1') + rs.addRegion(Region( 0+1, 59+1,'aaataggtcccaaacgttacgca'+'G'+'tctatgcctgacaaagttgcgaccacttcctctgcc'))#c -> G + rs.addRegion(Region( 60+1,119+1,'ttgtgtgacacgccggagatagg'+'A'+'catcagcaagtacgttaagtacactgaacgaactgg'))#g -> A + rs.addRegion(Region(120+1,179+1,'aggtttctacatcgtgcgtgatggc'+'C'+'ctaggagaagtgggtgtatctgcacagcataagt'))#t -> C + rs.addRegion(Region(180+1,239+1,'tataagacggaagtaaagcgtcttc'+'G'+'ccgttcagcaccccacgctcatagtcaatgctgg'))#a -> G + #rs.addRegion(Region(240+1,299+1,'ttcagcatagtcaagcgccggtggcctccaaaaagacgcactgagtagcttagctacttt')) + #rs.addRegion(Region(300+1,359+1,'gctccgcttgcggaagcactaagaggagattgaatttccaaatcccccccgatacctgtg')) + #rs.addRegion(Region(360+1,419+1,'cggtcgctacgtaagtgcgaagttctgttagatacgctccccttagtatatgggcgttaa')) + #rs.addRegion(Region(420+1,479+1,'tcggaccgtcggtactcactgcattccaggtctcatatagttcgccctagaagcctggga')) + rs.addRegion(Region(480+1,539+1,'tgaacgttgaacta'+'GCC'+'ctgatgtaaaccccgcgtgccaattccaggcgtcatgggggca'))#tag -> gcc + #rs.addRegion(Region(540+1,599+1,'acccctcgcagcctccctcttgctgttggtgcctagtatttcatgatttcgagccgacat')) + rs.produceReads(2,35) |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg18_mutant.bam |
| b |
| Binary file test-data/hg18_mutant.bam has changed |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg18_mutant.bam.bai |
| b |
| Binary file test-data/hg18_mutant.bam.bai has changed |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg18_mutant.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/hg18_mutant.sam Thu Nov 05 09:59:46 2015 -0500 |
| b |
| b'@@ -0,0 +1,4872 @@\n+@HD\tVN:1.0\tSO:coordinate\n+@SQ\tSN:chr6\tLN:170899992\n+read_0.0.0\t0\tchr6\t154402239\t60\t50M\t*\t0\t0\tCCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAG\t*\n+read_0.0.1\t0\tchr6\t154402239\t60\t50M\t*\t0\t0\tCCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAG\t*\n+read_0.1.0\t0\tchr6\t154402240\t60\t50M\t*\t0\t0\tCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGG\t*\n+read_0.1.1\t0\tchr6\t154402240\t60\t50M\t*\t0\t0\tCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGG\t*\n+read_0.2.0\t0\tchr6\t154402241\t60\t50M\t*\t0\t0\tAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGA\t*\n+read_0.2.1\t16\tchr6\t154402241\t60\t50M\t*\t0\t0\tAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGA\t*\n+read_0.3.0\t16\tchr6\t154402242\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.3.1\t0\tchr6\t154402242\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.3.2\t16\tchr6\t154402242\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.3.3\t0\tchr6\t154402242\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.4.0\t16\tchr6\t154402243\t60\t50M\t*\t0\t0\tGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAG\t*\n+read_0.4.1\t16\tchr6\t154402243\t60\t50M\t*\t0\t0\tGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAG\t*\n+read_0.5.0\t0\tchr6\t154402244\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.1\t16\tchr6\t154402244\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.2\t16\tchr6\t154402244\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.3\t0\tchr6\t154402244\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.4\t0\tchr6\t154402244\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.6.0\t16\tchr6\t154402245\t60\t50M\t*\t0\t0\tCTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCG\t*\n+read_0.6.1\t0\tchr6\t154402245\t60\t50M\t*\t0\t0\tCTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCG\t*\n+read_0.6.2\t16\tchr6\t154402245\t60\t50M\t*\t0\t0\tCTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCG\t*\n+read_0.7.0\t16\tchr6\t154402246\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.7.1\t16\tchr6\t154402246\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.7.2\t0\tchr6\t154402246\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.7.3\t0\tchr6\t154402246\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.8.0\t0\tchr6\t154402247\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.8.1\t16\tchr6\t154402247\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.8.2\t0\tchr6\t154402247\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.8.3\t16\tchr6\t154402247\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.9.0\t16\tchr6\t154402248\t60\t50M\t*\t0\t0\tGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCT\t*\n+read_0.9.1\t0\tchr6\t154402248\t60\t50M\t*\t0\t0\tGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCT\t*\n+read_0.9.2\t0\tchr6\t154402248\t60\t50M\t*\t0\t0\tGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCT\t*\n+read_0.10.0\t0\tchr6\t154402249\t60\t50M\t*\t0\t0\tTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTG\t*\n+read_0.10.1\t0\tchr6\t154402249\t60\t50M\t*\t0\t0\tTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTG\t*\n+read_0.11.0\t16\tchr6\t154402250\t60\t50M\t*\t0\t0\tTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGA\t*\n+read_0.11.1\t0\tchr6\t154402250\t60\t50M\t*\t0\t0\tTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGA\t*\n+read_0.12.0\t0\tchr6\t154402251\t60\t50M\t*\t0\t0\tTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAG\t*\n+read_0.12.1\t0\tchr6\t154402251\t60\t50M\t*\t0\t0\tTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAG\t*\n+read_0.13.0\t16\tchr6\t154402252\t60\t50M\t*\t0\t0\tCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAGG\t*\n+read_0.13.1\t16\tchr6\t154402252\t60\t50M\t*\t0\t0\tCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAGG\t*\n+read_0.13.2\t0\tchr6\t154402252\t60\t50M\t*\t0\t0\tCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAGG\t*\n+read_0.13.3\t0\tchr6\t154402252\t60\t50M\t*\t0\t0\tCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAGG\t*\n+read_'..b'\t0\t0\tTAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAAT\t*\n+read_3.1426.1\t0\tchr6\t154470420\t60\t50M\t*\t0\t0\tTAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAAT\t*\n+read_3.1427.0\t0\tchr6\t154470421\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.1\t0\tchr6\t154470421\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.2\t16\tchr6\t154470421\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.3\t16\tchr6\t154470421\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.4\t0\tchr6\t154470421\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1428.0\t16\tchr6\t154470422\t60\t50M\t*\t0\t0\tACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTC\t*\n+read_3.1428.1\t16\tchr6\t154470422\t60\t50M\t*\t0\t0\tACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTC\t*\n+read_3.1429.0\t0\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.1\t16\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.2\t16\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.3\t0\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.4\t16\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.5\t0\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.6\t0\tchr6\t154470423\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1430.0\t16\tchr6\t154470424\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.1\t16\tchr6\t154470424\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.2\t16\tchr6\t154470424\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.3\t0\tchr6\t154470424\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.4\t0\tchr6\t154470424\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.5\t16\tchr6\t154470424\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1431.0\t0\tchr6\t154470425\t60\t50M\t*\t0\t0\tATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTG\t*\n+read_3.1431.1\t0\tchr6\t154470425\t60\t50M\t*\t0\t0\tATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTG\t*\n+read_3.1431.2\t16\tchr6\t154470425\t60\t50M\t*\t0\t0\tATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTG\t*\n+read_3.1432.0\t0\tchr6\t154470426\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.1\t16\tchr6\t154470426\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.2\t16\tchr6\t154470426\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.3\t16\tchr6\t154470426\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.4\t0\tchr6\t154470426\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1433.0\t0\tchr6\t154470427\t60\t50M\t*\t0\t0\tTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTT\t*\n+read_3.1433.1\t16\tchr6\t154470427\t60\t50M\t*\t0\t0\tTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTT\t*\n+read_3.1434.0\t16\tchr6\t154470428\t60\t50M\t*\t0\t0\tTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTC\t*\n+read_3.1434.1\t16\tchr6\t154470428\t60\t50M\t*\t0\t0\tTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTC\t*\n+read_3.1434.2\t0\tchr6\t154470428\t60\t50M\t*\t0\t0\tTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTC\t*\n+read_3.1435.0\t16\tchr6\t154470429\t60\t50M\t*\t0\t0\tCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCC\t*\n+read_3.1435.1\t16\tchr6\t154470429\t60\t50M\t*\t0\t0\tCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCC\t*\n+read_3.1435.2\t0\tchr6\t154470429\t60\t50M\t*\t0\t0\tCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCC\t*\n+read_3.1436.0\t0\tchr6\t154470430\t60\t50M\t*\t0\t0\tATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCCC\t*\n+read_3.1436.1\t16\tchr6\t154470430\t60\t50M\t*\t0\t0\tATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCCC\t*\n+read_3.1436.2\t0\tchr6\t154470430\t60\t50M\t*\t0\t0\tATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCCC\t*\n' |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg19_mutant.bam |
| b |
| Binary file test-data/hg19_mutant.bam has changed |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg19_mutant.bam.bai |
| b |
| Binary file test-data/hg19_mutant.bam.bai has changed |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg19_mutant.mpileup --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/hg19_mutant.mpileup Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| b'@@ -0,0 +1,68242 @@\n+chr6\t154360546\tC\t2\t^].^].\t~~\n+chr6\t154360547\tC\t4\t..^].^].\t~~~E\n+chr6\t154360548\tA\t6\t....^].^],\t~~~UEE\n+chr6\t154360549\tG\t10\t.....,^],^].^],^].\t~~~`UUBBBB\n+chr6\t154360550\tG\t12\t.....,,.,.^],^],\t~~~a``EEEEEE\n+chr6\t154360551\tA\t17\t.....,,.,.,,^].^],^],^].^].\t~~~~eeeeeeUUEEEEE\n+chr6\t154360552\tC\t20\t.....,,.,.,,.,,..^],^].^],\t~~~~~~uuuueeUUUUUEEE\n+chr6\t154360553\tT\t24\t.....,,.,.,,.,,..,.,^],^],^].^].\t~~~~~~~~~~rreeeeeUUUEEEE\n+chr6\t154360554\tG\t28\t.....,,.,.,,.,,..,.,,,..^].^],^].^],\t~~~~~~~~~~rreeeee```UUUUBBBB\n+chr6\t154360555\tG\t31\t.....,,.,.,,.,,..,.,,,...,.,^],^].^].\t~~~~~~~~~~rreeeeeaaa````EEEEEEE\n+chr6\t154360556\tT\t33\t.....,,.,.,,.,,..,.,,,...,.,,..^].^].\t~~~~~~~~~~rreeeeeaaa````]]]]UUUAA\n+chr6\t154360557\tT\t35\t.....,,.,.,,.,,..,.,,,...,.,,....^],^].\t~~~~~~~~~~rreeeeeaaa````]]]]]]]BB>>\n+chr6\t154360558\tT\t37\t.....,,.,.,,.,,..,.,,,...,.,,....,.^].^].\t~~~~~~~~~~rreeeeeaaa````^^^^___EE>>EE\n+chr6\t154360559\tC\t43\t.....,,.,.,,.,,..,.,,,...,.,,....,...^],^],^].^].^],^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{zzzppbbRREEEEEE\n+chr6\t154360560\tT\t45\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.^],^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{zzzqqeeUUUUUUUUEE\n+chr6\t154360561\tG\t48\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.^],^].^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{rreeeeeeRREEE\n+chr6\t154360562\tT\t51\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,..^].^],^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{ttttttttUUUUUEEE\n+chr6\t154360563\tA\t56\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.^],^],^],^],^],\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{ttttttttaa```UUUBBBBB\n+chr6\t154360564\tA\t58\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,^].^],\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{ttttttttaaaaaaaaEEEEEEE\n+chr6\t154360565\tG\t64\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,^],^].^].^].^].^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ttttttaaaaaRREEEEEE\n+chr6\t154360566\tA\t67\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.....^].^].^],\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ttttttaaaaaUUUUUUUUAAA\n+chr6\t154360567\tA\t69\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,^].^],\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ttttttaaaaa[[]]]]]]BBB>>\n+chr6\t154360568\tA\t74\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,^].^],^].^],^],\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ttttttaaaaa^^______EEE>>EEEEE\n+chr6\t154360569\tC\t78\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,^],^].^],^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzpppbbRRRRREEEE\n+chr6\t154360570\tA\t80\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.^],^].\t~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{qqqeeUUUUUUUUUEE\n+chr6\t154360571\tG\t83\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.,.^].^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~uuuuu____UUEEE\n+chr6\t154360572\tC\t89\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.,....^],^].^].^].^],^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaUUUEEEEEE\n+chr6\t154360573\tA\t94\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.,....,...,.^].^].^],^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bbbbbbbbbOOOOOOEEEEE\n+chr6\t154360574\tG\t100\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.,....,...,...,.,^],^],^],^].^],^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bbbbbbbbbSSSSSSQQQQQBBBBBB\n+chr6\t154360575\tG\t102\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.,....,...,...,.,,,,.,,^].^].\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bbbbbbbbb``````^^^^^EEEEEEEE\n+chr6\t154360576\tA\t106\t.....,,.,.,,.,,..,.,,,...,.,,....,...,,..,.,.,...,.,,,,,.,,.......,.,.,.,,,.,.,....,...,...,.,,,,.,,..^],^].^].^],\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'..b'.,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tDDDDDUUUUUssssww{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428759\ta\t100\t.$.$.,.,,,...,,,,,,,..,,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEERRReeeeeezzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428760\tt\t98\t.$,$.$,,,...,,,,,,,..,,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEEUUUUbbtttzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428761\tg\t95\t,$,$,$.$..,,,,,,,..,,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEEEUUeeeuuuuu~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428762\ta\t91\t.$.$,,,,,,,..,,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tDDUUUUUUUUssyyyzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428763\tc\t89\t,$,$,$,,,,..,,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEERRRRReetttyyyyy{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428764\ta\t86\t,$,$,$,$.$.,,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEEEEUUeeeeeeeett~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428765\tt\t81\t.$,$,,..,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEUUUbbbbbrr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428766\tg\t79\t,$,$.$.,,.,...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEEUUUUUeeuuuuu~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+chr6\t154428767\ta\t76\t.$,$,$.$,$...,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t>>>>>EE_____aaaaaaaaaaaaaaaaaeeeu~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaaaeezzz{{{{{{\n+chr6\t154428768\ta\t71\t.$.$.,,..,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tBBUUUUU__aaaaaaaaaaaaaaaeeeu~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaaaeezzz{{{{{{\n+chr6\t154428769\tc\t69\t.$,$,$.$.$,.,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t>>>>>>>EEEEE^^^^^^^^^^eeeu~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaaaeezzz{{{{{{\n+chr6\t154428770\tc\t64\t,$.$,,.,..,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t;;BBBBB[[[[]]]]]]eeeu~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaaaeezzz{{{{{{\n+chr6\t154428771\tc\t62\t,$,$.$,$.$.,,.,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t@@@@@TTTT]]]]]]eeeu~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaaaeezzz{{{{{{\n+chr6\t154428772\tt\t57\t.$,$,$.$,.,.,..,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tEEEEUUUUUUeeeu~~~~~~~~~~~~~~~~~~~~~~~~aaaaaaaaeezzz{{{{{{\n+chr6\t154428773\ta\t53\t,$.$,$.$,$.$.,,.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t>>>>>>>>>>EE\\\\\\\\\\\\\\__aaaaaaaaaaaaaaaaaaaaaeezzz{{{{{{\n+chr6\t154428774\ta\t47\t.$,$,$.,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t;;;;BBZZ\\\\\\\\\\__aaaaaaaaaaaaaaaaaaaaaeezzz{{{{{{\n+chr6\t154428775\ta\t44\t.$,.....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t:AAYY\\\\\\\\\\__aaaaaaaaaaaaaaaaaaaaaeezzz{{{{{{\n+chr6\t154428776\ta\t43\t,$.$....,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t??TT\\\\\\\\\\__aaaaaaaaaaaaaaaaaaaaaeezzz{{{{{{\n+chr6\t154428777\tt\t41\t.$.$..,,.,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\t>>EEEEE__aaaaaaaaaaaaaaaaaaaaaeezzz{{{{{{\n+chr6\t154428778\tt\t39\t.$.$,$,$.$,,.,,.,..,,,..,..,.,,,..,,,.,,..,.\tBBBBBUU_______``````aaaaaaaaeezzz{{{{{{\n+chr6\t154428779\tc\t34\t,$,$.,,.,..,,,..,..,.,,,..,,,.,,..,.\t>>EEEEEEE^^^^^^aaaaaaaaeezzz{{{{{{\n+chr6\t154428780\tc\t32\t.$,$,$.$,$.$.$,,,..,..,.,,,..,,,.,,..,.\tBBBBBBBUUUUUU___aaaaaeezzz{{{{{{\n+chr6\t154428781\tt\t25\t,$,$,$.$.$,$..,.,,,..,,,.,,..,.\tCCCCCCUUUUUUUUeezzz{{{{{{\n+chr6\t154428782\tg\t19\t.$.$,$.,,,..,,,.,,..,.\tEEERRRRRbbtttzzz{{{\n+chr6\t154428783\tt\t16\t.$,$,$,$.$.,,,.,,..,.\t>>>>>EE___aaaaaa\n+chr6\t154428784\tt\t11\t.$,$,,.,,..,.\tBBUUU___aaa\n+chr6\t154428785\tc\t9\t,$,$.$,,..,.\t>>>>>>EEE\n+chr6\t154428786\tc\t6\t,$,$.$.,.\t;;;BBB\n+chr6\t154428787\tc\t3\t.$,$.$\t@@@\n' |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg19_mutant.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/hg19_mutant.sam Thu Nov 05 09:59:46 2015 -0500 |
| b |
| b'@@ -0,0 +1,4881 @@\n+@HD\tVN:1.0\tSO:coordinate\n+@SQ\tSN:chr6\tLN:171115067\n+@PG\tID:ArtificialAligner: generate_reads\tVN:1.0.0\tCL:./generate_reads.py > hg19_mutant.sam\n+@CO\thttp://snpedia.com/index.php/Rs1799971\n+@CO\tSNP:\n+@CO\t - Chromosome: 6\n+@CO\t - Position: 154360797\n+@CO\t - Reference: GRCh37 37.1/131\n+@CO\t - Orientation: plus\n+@CO\t - Normal: A;A; Mutant: G;G\n+@CO\t - ID: rs1799971\n+read_0.0.0\t0\tchr6\t154360546\t60\t50M\t*\t0\t0\tCCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAG\t*\n+read_0.0.1\t0\tchr6\t154360546\t60\t50M\t*\t0\t0\tCCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAG\t*\n+read_0.1.0\t0\tchr6\t154360547\t60\t50M\t*\t0\t0\tCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGG\t*\n+read_0.1.1\t0\tchr6\t154360547\t60\t50M\t*\t0\t0\tCAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGG\t*\n+read_0.2.0\t0\tchr6\t154360548\t60\t50M\t*\t0\t0\tAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGA\t*\n+read_0.2.1\t16\tchr6\t154360548\t60\t50M\t*\t0\t0\tAGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGA\t*\n+read_0.3.0\t16\tchr6\t154360549\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.3.1\t0\tchr6\t154360549\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.3.2\t16\tchr6\t154360549\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.3.3\t0\tchr6\t154360549\t60\t50M\t*\t0\t0\tGGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAA\t*\n+read_0.4.0\t16\tchr6\t154360550\t60\t50M\t*\t0\t0\tGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAG\t*\n+read_0.4.1\t16\tchr6\t154360550\t60\t50M\t*\t0\t0\tGACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAG\t*\n+read_0.5.0\t0\tchr6\t154360551\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.1\t16\tchr6\t154360551\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.2\t16\tchr6\t154360551\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.3\t0\tchr6\t154360551\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.5.4\t0\tchr6\t154360551\t60\t50M\t*\t0\t0\tACTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGC\t*\n+read_0.6.0\t16\tchr6\t154360552\t60\t50M\t*\t0\t0\tCTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCG\t*\n+read_0.6.1\t0\tchr6\t154360552\t60\t50M\t*\t0\t0\tCTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCG\t*\n+read_0.6.2\t16\tchr6\t154360552\t60\t50M\t*\t0\t0\tCTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCG\t*\n+read_0.7.0\t16\tchr6\t154360553\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.7.1\t16\tchr6\t154360553\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.7.2\t0\tchr6\t154360553\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.7.3\t0\tchr6\t154360553\t60\t50M\t*\t0\t0\tTGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGG\t*\n+read_0.8.0\t0\tchr6\t154360554\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.8.1\t16\tchr6\t154360554\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.8.2\t0\tchr6\t154360554\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.8.3\t16\tchr6\t154360554\t60\t50M\t*\t0\t0\tGGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGC\t*\n+read_0.9.0\t16\tchr6\t154360555\t60\t50M\t*\t0\t0\tGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCT\t*\n+read_0.9.1\t0\tchr6\t154360555\t60\t50M\t*\t0\t0\tGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCT\t*\n+read_0.9.2\t0\tchr6\t154360555\t60\t50M\t*\t0\t0\tGTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCT\t*\n+read_0.10.0\t0\tchr6\t154360556\t60\t50M\t*\t0\t0\tTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTG\t*\n+read_0.10.1\t0\tchr6\t154360556\t60\t50M\t*\t0\t0\tTTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTG\t*\n+read_0.11.0\t16\tchr6\t154360557\t60\t50M\t*\t0\t0\tTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGA\t*\n+read_0.11.1\t0\tchr6\t154360557\t60\t50M\t*\t0\t0\tTTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGA\t*\n+read_0.12.0\t0\tchr6\t154360558\t60\t50M\t*\t0\t0\tTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAG\t*\n+read_0.12.1\t0\tchr6\t154360558\t60\t50M\t*\t0\t0\tTCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAAGGAAGCGGCTGAG\t*\n+read_0.13.0\t16\tchr6\t154360559\t60\t50M\t*\t0\t0\tCTGTAAGAAACAGCAGGAGCTGTGGCAGCGGCGAAA'..b'\t0\t0\tTAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAAT\t*\n+read_3.1426.1\t0\tchr6\t154428728\t60\t50M\t*\t0\t0\tTAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAAT\t*\n+read_3.1427.0\t0\tchr6\t154428729\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.1\t0\tchr6\t154428729\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.2\t16\tchr6\t154428729\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.3\t16\tchr6\t154428729\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1427.4\t0\tchr6\t154428729\t60\t50M\t*\t0\t0\tAACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATT\t*\n+read_3.1428.0\t16\tchr6\t154428730\t60\t50M\t*\t0\t0\tACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTC\t*\n+read_3.1428.1\t16\tchr6\t154428730\t60\t50M\t*\t0\t0\tACTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTC\t*\n+read_3.1429.0\t0\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.1\t16\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.2\t16\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.3\t0\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.4\t16\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.5\t0\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1429.6\t0\tchr6\t154428731\t60\t50M\t*\t0\t0\tCTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCC\t*\n+read_3.1430.0\t16\tchr6\t154428732\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.1\t16\tchr6\t154428732\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.2\t16\tchr6\t154428732\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.3\t0\tchr6\t154428732\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.4\t0\tchr6\t154428732\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1430.5\t16\tchr6\t154428732\t60\t50M\t*\t0\t0\tTATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCT\t*\n+read_3.1431.0\t0\tchr6\t154428733\t60\t50M\t*\t0\t0\tATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTG\t*\n+read_3.1431.1\t0\tchr6\t154428733\t60\t50M\t*\t0\t0\tATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTG\t*\n+read_3.1431.2\t16\tchr6\t154428733\t60\t50M\t*\t0\t0\tATTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTG\t*\n+read_3.1432.0\t0\tchr6\t154428734\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.1\t16\tchr6\t154428734\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.2\t16\tchr6\t154428734\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.3\t16\tchr6\t154428734\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1432.4\t0\tchr6\t154428734\t60\t50M\t*\t0\t0\tTTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGT\t*\n+read_3.1433.0\t0\tchr6\t154428735\t60\t50M\t*\t0\t0\tTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTT\t*\n+read_3.1433.1\t16\tchr6\t154428735\t60\t50M\t*\t0\t0\tTTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTT\t*\n+read_3.1434.0\t16\tchr6\t154428736\t60\t50M\t*\t0\t0\tTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTC\t*\n+read_3.1434.1\t16\tchr6\t154428736\t60\t50M\t*\t0\t0\tTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTC\t*\n+read_3.1434.2\t0\tchr6\t154428736\t60\t50M\t*\t0\t0\tTCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTC\t*\n+read_3.1435.0\t16\tchr6\t154428737\t60\t50M\t*\t0\t0\tCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCC\t*\n+read_3.1435.1\t16\tchr6\t154428737\t60\t50M\t*\t0\t0\tCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCC\t*\n+read_3.1435.2\t0\tchr6\t154428737\t60\t50M\t*\t0\t0\tCATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCC\t*\n+read_3.1436.0\t0\tchr6\t154428738\t60\t50M\t*\t0\t0\tATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCCC\t*\n+read_3.1436.1\t16\tchr6\t154428738\t60\t50M\t*\t0\t0\tATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCCC\t*\n+read_3.1436.2\t0\tchr6\t154428738\t60\t50M\t*\t0\t0\tATATGATTTTTAGAGCTGACTATGACATGAACCCTAAAATTCCTGTTCCC\t*\n' |
| b |
| diff -r 000000000000 -r 0c5cc5763091 test-data/hg19_mutant.vcf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/hg19_mutant.vcf Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,25 @@ +##fileformat=VCFv4.1 +##source=VarScan2 +##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15"> +##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)"> +##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant"> +##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant"> +##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called"> +##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand"> +##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15"> +##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)"> +##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)"> +##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency"> +##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test"> +##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)"> +##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)"> +##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)"> +##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)"> +##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)"> +##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1 +chr6 154360797 . A G . PASS ADP=174;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:255:177:174:0:174:100%:4.0806E-104:0:86:0:0:100:74 |
| b |
| diff -r 000000000000 -r 0c5cc5763091 tool-data/all_fasta.loc.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/all_fasta.loc.sample Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,18 @@ +#This file lists the locations and dbkeys of all the fasta files +#under the "genome" directory (a directory that contains a directory +#for each build). The script extract_fasta.py will generate the file +#all_fasta.loc. This file has the format (white space characters are +#TAB characters): +# +#<unique_build_id> <dbkey> <display_name> <file_path> +# +#So, all_fasta.loc could look something like this: +# +#apiMel3 apiMel3 Honeybee (Apis mellifera): apiMel3 /path/to/genome/apiMel3/apiMel3.fa +#hg19canon hg19 Human (Homo sapiens): hg19 Canonical /path/to/genome/hg19/hg19canon.fa +#hg19full hg19 Human (Homo sapiens): hg19 Full /path/to/genome/hg19/hg19full.fa +# +#Your all_fasta.loc file should contain an entry for each individual +#fasta file. So there will be multiple fasta files for each build, +#such as with hg19 above. +# |
| b |
| diff -r 000000000000 -r 0c5cc5763091 tool_data_table_conf.xml.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.sample Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,8 @@ +<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc--> +<tables> + <!-- Locations of all fasta files under genome directory --> + <table name="all_fasta" comment_char="#"> + <columns>value, dbkey, name, path</columns> + <file path="tool-data/all_fasta.loc" /> + </table> +</tables> \ No newline at end of file |
| b |
| diff -r 000000000000 -r 0c5cc5763091 tool_dependencies.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Thu Nov 05 09:59:46 2015 -0500 |
| b |
| @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="samtools" version="0.1.19"> + <repository changeset_revision="96aab723499f" name="package_samtools_0_1_19" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="samtools_parallel_mpileup" version="0.1.19-a"> + <repository changeset_revision="7dd0c6a9be41" name="package_samtools_parallel_mpileup_0_1_19_a" owner="yhoogstrate" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="varscan" version="2.3.6"> + <repository changeset_revision="6f8cead3dc93" name="varscan_version_2" owner="devteam" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency> |
| b |
| diff -r 000000000000 -r 0c5cc5763091 varscan_mpileup2snp.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/varscan_mpileup2snp.xml Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tool id="varscan_mpileup2snp" name="VarScan2 Call SNPs from a mpileup file" version="2.3.6.a"> + <description>VarScan2 SNP/SNV detection; directly from a *.mpileup file.</description> + + <requirements> + <requirement type="package" version="2.3.6">varscan</requirement> + </requirements> + + <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&1 | head -n 1</version_command> + + <command> + cat $mpileup_input | java + -Xmx64G + -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar + mpileup2snp + + #if $extended_parameters.parameters == "extended" + --min-coverage $extended_parameters.varscan_min_coverage + --min-reads2 $extended_parameters.varscan_min_reads2 + --min-avg-qual $extended_parameters.varscan_min_avg_qual + --min-var-freq $extended_parameters.varscan_min_var_freq + --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom + --p-value $extended_parameters.varscan_p_value + $extended_parameters.varscan_strand_filter + $extended_parameters.varscan_variants + #end if + + #if $varscan_output == "vcf" or $varscan_output.value == "vcf" + --output-vcf 1 + #end if + + 2> stderr.txt + > $snv_output ; + cat stderr.txt + </command> + + <inputs> + <param format="pileup" name="mpileup_input" type="data" label="Alignment file" help="Mapped reads in mpileup format."/><!-- datatype "mpileup" does not exist.. it seems to be common to use pileup instead? --> + + <conditional name="extended_parameters"> + <param name="parameters" type="select" label="VarScan parameters" help="For more advanced VarScan settings."> + <option value="default">Default settings</option> + <option value="extended">Extended settings</option> + </param> + <when value="default"> + </when> + <when value="extended"> + <param type="integer" name="varscan_min_coverage" value="8" label="VarScan: Minimum read depth at a position to make a call [8]" /> + <param type="integer" name="varscan_min_reads2" value="2" label="VarScan: PMinimum supporting reads at a position to call variants [2]" /> + <param type="integer" name="varscan_min_avg_qual" value="15" label="VarScan: Minimum base quality at a position to count a read [15]" /> + <param type="float" name="varscan_min_var_freq" value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> + <param type="float" name="varscan_min_freq_for_hom" value="0.75" label="VarScan: Minimum frequency to call homozygote [0.75]" /> + <param type="float" name="varscan_p_value" value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" /> + <param type="boolean" name="varscan_strand_filter" falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" /> + <param type="boolean" name="varscan_variants" falsevalue=" --variants 0" truevalue=" --variants 1" checked="false" label="VarScan: Report only variant (SNP/indel) positions [0]" /> + </when> + </conditional> + + <param name="varscan_output" type="select" label="Output format"> + <option value="vcf">VCF</option> + <option value="tabular">tabular</option> + </param> + </inputs> + + <outputs> + <data format="tabular" name="snv_output" label="${tool.name} on ${mpileup_input.hid}: ${mpileup_input.name}"> + <change_format> + <when input="varscan_output" value="vcf" format="vcf" /> + </change_format> + </data> + </outputs> + + <tests> + <test> + <param name="mpileup_input" value="hg19_mutant.mpileup" dbkey="hg19" ftype="pileup" /> + <param name="parameters" value="default" /> + <param name="varscan_output_vcf" value="1" /> + + <output name="snv_output" file="hg19_mutant.vcf" /> + </test> + </tests> + + <help> +**VarScan 2.3.6** + +VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments. The newest version, VarScan 2, is written in Java, so it runs on most operating systems. +http://dx.doi.org/10.1101/gr.129684.111 +http://www.ncbi.nlm.nih.gov/pubmed/19542151 + +*VarScan* requires mpileup formatted input files, which are generally derived from BAM files. Since mpileup files can become humongous, the interim step of storing it is bypassed. Thus, in this wrapper one or multiple BAM/SAM files go in, get processed into a mpileup file and get directly linked to VarScan. +The samtools package is not able to parallelize the mpileup generation which make it a very slow process. +Other people were aware of this and have written a version that can do parallelization: +https://github.com/mydatascience/parallel-mpileup + +Consequently, when a BAM files gets processed by this wrapper, it's processed by *parallel-mpileup* before its send to VarScan. + +.. _VarScan: http://varscan.sourceforge.net/ + +**Input formats** + +VarScan2 accepts sequencing alignments in the same, either SAM or BAM format (http://samtools.sourceforge.net/). The alignment files have to be linked to a reference genome by galaxy. This is indicated under every history item with e.g.: *"database: hg19"* for a link to hg19, or *"database: ?"* if the link is missing. + +**Installation** + +Make sure your reference genomes are properly annotated in "tool-data/all_fasta.loc", and linked to the names of the reference used for alignment. + +**License** + +* VarScan2.3.6: Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0) +* parallel-mpileup: MIT License (https://github.com/mydatascience/parallel-mpileup/blob/master/samtools-0.1.19/COPYING) + +Contact +------- + +The tool wrapper has been written by Youri Hoogstrate from the Erasmus +Medical Center (Rotterdam, Netherlands) on behalf of the Translational +Research IT (TraIT) project: + +http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch + +More tools by the Translational Research IT (TraIT) project can be found +in the following toolsheds: + +http://toolshed.dtls.nl/ + +http://toolshed.g2.bx.psu.edu/ + +http://testtoolshed.g2.bx.psu.edu/ +</help> + <citations> + <citation type="doi">10.1101/gr.129684.111</citation> + </citations> +</tool> \ No newline at end of file |
| b |
| diff -r 000000000000 -r 0c5cc5763091 varscan_mpileup2snp_from_bam.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/varscan_mpileup2snp_from_bam.xml Thu Nov 05 09:59:46 2015 -0500 |
| [ |
| b'@@ -0,0 +1,338 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<tool id="varscan_mpileup2snp_from_bam" name="VarScan2 Call SNPs from BAM" version="2.3.6.a">\n+ <description>VarScan2 SNP/SNV detection; directly reading *.bam file(s) & using parallel mpileup generation, to avoid unnecessairy I/O overhead and increase performance.</description>\n+ \n+ <requirements>\n+ <requirement type="package" version="0.1.19-a">samtools_parallel_mpileup</requirement>\n+ <requirement type="package" version="0.1.19">samtools</requirement>\n+ <requirement type="package" version="2.3.6">varscan</requirement>\n+ </requirements>\n+ \n+ <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&1 | head -n 1</version_command>\n+ \n+ <command>\n+ #if $reference_genome_source.source_select == "attribute" and len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) != 1\n+ echo "Invalid number of dbkeys are found: ${ len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) }, while only one should be used. Make sure that the alignments are done on the same reference genome and that \'tool-data/all_fasta.loc\' is configured properly!" >&2\n+ #else\n+ #import os.path\n+ #for $alignment in $alignments\n+ <!-- @todo use the existence of $alignment.metadata.bam_index or $alignment.metadata[\'bam_index\'] -->\n+ #if not os.path.isfile(str($alignment)+".bai")\n+ echo "- Indexing alignment file: $alignment.name " ; \n+ samtools index $alignment 2>&1 ; \n+ #else\n+ echo "- Skiping indexing: $alignment.name " ; \n+ #end if\n+ #end for\n+ \n+ #if $mpileup_parallelization.mpileup_parallelization_select == "true"\n+ samtools-parallel-mpileup mpileup\n+ -t $mpileup_parallelization.samtools_threads\n+ #else\n+ samtools mpileup\n+ #end if\n+ -f \n+ #if $reference_genome_source.source_select == "indexed_filtered"\n+ "$reference_genome_source.reference_genome"\n+ #else if $reference_genome_source.source_select == "indexed_all"\n+ "$reference_genome_source.reference_genome"\n+ #else if $reference_genome_source.source_select == "history"\n+ "$reference_genome_source.reference_genome"\n+ #else\n+ <!--\n+ This is a workaround to obtain the "genome.fa" file that\n+ corresponds to the dbkey of the alignments.\n+ Because this file is "calculated" during run-time, it can\n+ be used in a workflow.\n+ -->\n+ "${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ \'all_fasta\' ].get_fields() )[0][-1] }"\n+ #end if\n+ \n+ #if $extended_parameters_regions.samtools_regions == "region"\n+ -r $extended_parameters_regions.samtools_r\n+ #elif $extended_parameters_regions.samtools_regions == "regions_file_pos" or $extended_parameters_regions.samtools_regions == "regions_file_bed"\n+ -l $extended_parameters_regions.samtools_l\n+ #end if\n+ \n+ #if $extended_parameters.parameters == "extended"\n+ $extended_parameters.samtools_6\n+ $extended_parameters.samtools_A\n+ $extended_parameters.samtools_B\n+ -C $extended_parameters.samtools_C\n+ -d $extended_parameters.samtools_d\n+ $extended_parameters.samtools_E\n+ -M $extended_parameters.samtools_M\n+ $extended_p'..b'nments" value="example.bam" ftype="bam" />\n+ \n+ <param name="source_select" value="history" />\n+ <param name="reference_genome" value="example.fa" ftypet="fasta" />\n+ \n+ <param name="samtools_regions" value="entire_genome" />\n+ \n+ <param name="mpileup_parallelization_select" value="false" />\n+ <param name="sort_mpileup" value="true" />\n+ \n+ <param name="parameters" value="default" />\n+ <param name="varscan_output_vcf" value="1" />\n+ \n+ \n+ <output name="snv_output" file="example.vcf" />\n+ </test>\n+ <test><!-- Use parallelized samtools - @todo replace with sambamba! -->\n+ <param name="alignments" value="example.bam" ftype="bam" />\n+ \n+ <param name="source_select" value="history" />\n+ <param name="reference_genome" value="example.fa" ftypet="fasta" />\n+ \n+ <param name="samtools_regions" value="entire_genome" />\n+ \n+ <param name="mpileup_parallelization_select" value="true" />\n+ <param name="samtools_threads" value="2" />\n+ <param name="sort_mpileup" value="true" />\n+ \n+ <param name="parameters" value="default" />\n+ <param name="varscan_output_vcf" value="1" />\n+ \n+ \n+ <output name="snv_output" file="example.vcf" />\n+ </test>\n+ </tests>\n+ \n+ <help>\n+**VarScan 2.3.6**\n+\n+VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments. The newest version, VarScan 2, is written in Java, so it runs on most operating systems.\n+http://dx.doi.org/10.1101/gr.129684.111\n+http://www.ncbi.nlm.nih.gov/pubmed/19542151\n+\n+*VarScan* requires mpileup formatted input files, which are generally derived from BAM files. Since mpileup files can become humongous, the interim step of storing it is bypassed. Thus, in this wrapper one or multiple BAM/SAM files go in, get processed into a mpileup file and get directly linked to VarScan.\n+The samtools package is not able to parallelize the mpileup generation which make it a very slow process.\n+Other people were aware of this and have written a version that can do parallelization:\n+https://github.com/mydatascience/parallel-mpileup\n+\n+Consequently, when a BAM files gets processed by this wrapper, it\'s processed by *parallel-mpileup* before its send to VarScan.\n+\n+.. _VarScan: http://varscan.sourceforge.net/\n+\n+**Input formats**\n+\n+VarScan2 accepts sequencing alignments in the same, either SAM or BAM format (http://samtools.sourceforge.net/). The alignment files have to be linked to a reference genome by galaxy. This is indicated under every history item with e.g.: *"database: hg19"* for a link to hg19, or *"database: ?"* if the link is missing.\n+\n+**Installation**\n+\n+Make sure your reference genomes are properly annotated in "tool-data/all_fasta.loc", and linked to the names of the reference used for alignment.\n+\n+**License**\n+\n+* VarScan2.3.6: Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0)\n+* parallel-mpileup: MIT License (https://github.com/mydatascience/parallel-mpileup/blob/master/samtools-0.1.19/COPYING)\n+\n+Contact\n+-------\n+\n+The tool wrapper has been written by Youri Hoogstrate from the Erasmus\n+Medical Center (Rotterdam, Netherlands) on behalf of the Translational\n+Research IT (TraIT) project:\n+\n+http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch\n+\n+More tools by the Translational Research IT (TraIT) project can be found\n+in the following toolsheds:\n+\n+http://toolshed.dtls.nl/\n+\n+http://toolshed.g2.bx.psu.edu/\n+\n+http://testtoolshed.g2.bx.psu.edu/\n+</help>\n+ <citations>\n+ <citation type="doi">10.1101/gr.129684.111</citation>\n+ </citations>\n+</tool>\n\\ No newline at end of file\n' |