Mercurial > repos > devteam > bowtie_wrappers
changeset 1:867a8c8e870e draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/bowtie_wrappers commit de7140295cce07e1bc1697e51dab4271c8d7a8a6
author | devteam |
---|---|
date | Fri, 18 Dec 2015 18:50:53 -0500 |
parents | 4926b3e1e2fe |
children | ba29251df197 |
files | bowtie_wrapper.py bowtie_wrapper.xml test-data/bowtie_out11.txt |
diffstat | 3 files changed, 50 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/bowtie_wrapper.py Mon Nov 09 11:18:30 2015 -0500 +++ b/bowtie_wrapper.py Fri Dec 18 18:50:53 2015 -0500 @@ -13,6 +13,7 @@ --output_suppressed_reads=: File name for suppressed reads because of max setting (single-end) --output_suppressed_reads_l=: File name for suppressed reads because of max setting (left, paired-end) --output_suppressed_reads_r=: File name for suppressed reads because of max setting (right, paired-end) + --output_mapping_stats=: File name for mapping statistics (output on stderr by bowtie) -i, --input1=i: The (forward or single-end) reads file in Sanger FASTQ format -I, --input2=I: The reverse reads file in Sanger FASTQ format -4, --dataType=4: The type of data (SOLiD or Solexa) @@ -86,6 +87,7 @@ parser.add_option( '', '--output_suppressed_reads', dest='output_suppressed_reads', help='File name for suppressed reads because of max setting (single-end)' ) parser.add_option( '', '--output_suppressed_reads_l', dest='output_suppressed_reads_l', help='File name for suppressed reads because of max setting (left, paired-end)' ) parser.add_option( '', '--output_suppressed_reads_r', dest='output_suppressed_reads_r', help='File name for suppressed reads because of max setting (right, paired-end)' ) + parser.add_option( '', '--output_mapping_stats', dest='output_mapping_stats', help='File for mapping statistics (i.e. stderr from bowtie)' ) parser.add_option( '-4', '--dataType', dest='dataType', help='The type of data (SOLiD or Solexa)' ) parser.add_option( '-i', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' ) parser.add_option( '-I', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' ) @@ -415,7 +417,7 @@ # align tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name tmp_stderr = open( tmp, 'wb' ) - proc = subprocess.Popen( args=cmd2, shell=True, cwd=tmp_index_dir, stderr=tmp_stderr.fileno() ) + proc = subprocess.Popen( args=cmd2, shell=True, cwd=tmp_index_dir, stdout=sys.stdout, stderr=tmp_stderr.fileno() ) returncode = proc.wait() tmp_stderr.close() # get stderr, allowing for case where it's very large @@ -432,6 +434,10 @@ tmp_stderr.close() if returncode != 0: raise Exception, stderr + elif options.output_mapping_stats is not None: + # Write stderr (containing the mapping statistics) to a named file + with open(options.output_mapping_stats, 'w') as mapping_stats: + mapping_stats.write( stderr ) # get suppressed and unmapped reads output files in place if appropriate if options.paired == 'paired' and tmp_suppressed_file_name and \ options.output_suppressed_reads_l and options.output_suppressed_reads_r:
--- a/bowtie_wrapper.xml Mon Nov 09 11:18:30 2015 -0500 +++ b/bowtie_wrapper.xml Fri Dec 18 18:50:53 2015 -0500 @@ -1,4 +1,4 @@ -<tool id="bowtie_wrapper" name="Map with Bowtie for Illumina" version="1.1.3"> +<tool id="bowtie_wrapper" name="Map with Bowtie for Illumina" version="1.1.4"> <requirements> <requirement type="package" version="0.12.7">bowtie</requirement> </requirements> @@ -148,6 +148,9 @@ --seed="${singlePaired.pParams.pSeed}" #end if #end if + #if $save_mapping_stats + --output_mapping_stats="$mapping_stats" + #end if </command> <inputs> <conditional name="refGenomeSource"> @@ -415,6 +418,7 @@ </conditional> <!-- pParams --> </when> <!-- paired --> </conditional> <!-- singlePaired --> + <param name="save_mapping_stats" type="boolean" checked="False" label="Save the bowtie mapping statistics to the history" /> <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Suppress the header in the output SAM file (--sam-nohead)" help="Bowtie produces SAM with several lines of header information by default" /> </inputs> <outputs> @@ -437,6 +441,9 @@ </conditional> </actions> </data> + <data format="txt" name="mapping_stats" label="${tool.name} on ${on_string}: mapping stats"> + <filter>save_mapping_stats is True</filter> + </data> <data format="fastq" name="output_suppressed_reads_l" label="${tool.name} on ${on_string}: suppressed reads (L)"> <filter>(( singlePaired['sPaired'] == "single" and @@ -744,6 +751,37 @@ <param name="suppressHeader" value="true" /> <output name="output" ftype="sam" file="bowtie_out10.sam" sort="True" /> </test> + <test> + <!-- + Bowtie command: + bowtie-build +offrate 5 +ftabchars 10 +little -f test-data/phiX.fasta phiX_base + bowtie -q -X 1000 +ff -p 4 -S +sam-nohead phiX_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > bowtie_out10_u.sam + sort bowtie_out10_u.sam > bowtie_out10.sam + -p is the number of threads. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="genomeSource" value="history" /> + <param name="ownFile" value="phiX.fasta" /> + <param name="indexSettings" value="indexFull" /> + <param name="autoB" value="auto" /> + <param name="nodc" value="dc" /> + <param name="noref" value="ref" /> + <param name="offrate" value="5" /> + <param name="ftab" value="10" /> + <param name="ntoa" value="no" /> + <param name="endian" value="little" /> + <param name="seed" value="-1" /> + <param name="sPaired" value="paired" /> + <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" /> + <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" /> + <param name="pMaxInsert" value="1000" /> + <param name="pMateOrient" value="ff" /> + <param name="pSettingsType" value="preSet" /> + <param name="suppressHeader" value="true" /> + <param name="save_mapping_stats" value="true" /> + <output name="output" ftype="sam" file="bowtie_out10.sam" sort="True" /> + <output name="mapping_stats" ftype="txt" file="bowtie_out11.txt" sort="True" /> + </test> </tests> <help>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_out11.txt Fri Dec 18 18:50:53 2015 -0500 @@ -0,0 +1,4 @@ +# reads processed: 18 +# reads with at least one reported alignment: 13 (72.22%) +# reads that failed to align: 5 (27.78%) +Reported 13 paired-end alignments to 1 output stream(s)