Mercurial > repos > devteam > picard
diff picard_SamToFastq.xml @ 26:9ffcddf6f9c0 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/picard commit cbe534af56ee782e8d1aa0fa872059d2a5e42db8"
author | iuc |
---|---|
date | Mon, 17 Feb 2020 10:24:29 -0500 |
parents | 2a17c789e0a5 |
children | 881d7645d1bf |
line wrap: on
line diff
--- a/picard_SamToFastq.xml Tue Jun 11 02:36:54 2019 -0400 +++ b/picard_SamToFastq.xml Mon Feb 17 10:24:29 2020 -0500 @@ -2,13 +2,11 @@ <description>extract reads and qualities from SAM/BAM dataset and convert to fastq</description> <macros> <import>picard_macros.xml</import> - <token name="@WRAPPER_VERSION@">1</token> + <token name="@WRAPPER_VERSION@">2</token> </macros> <expand macro="requirements" /> <command detect_errors="exit_code"><![CDATA[ - echo "BAM" > $report && ## This is necessary for output dataset detection (see output tags below) - @java_options@ @symlink_element_identifier@ @@ -17,22 +15,26 @@ INPUT='$escaped_element_identifier' - #if str( $output_per_rg ) == "true": - OUTPUT_PER_RG=true - OUTPUT_DIR=. - #elif str( $output_per_rg ) == "false" and str( $interleave ) == "false": - FASTQ=READ1.fastq - SECOND_END_FASTQ=READ2.fastq - UNPAIRED_FASTQ=UNPAIRED_READS.fastq - #elif str( $output_per_rg ) == "false" and str( $interleave ) == "true": - FASTQ=INTERLEAVED.fastq + #if str($single_or_paired) == "pe_interleaved": + FASTQ='${interleaved_fastq}' + INTERLEAVE=TRUE + #else if str($single_or_paired) == "pe_sep": + F='${fq1}' + F2='${fq2}' + FU='${fq_u}' + #else + F='${fq_single}' #end if RE_REVERSE="${re_reverse}" - INTERLEAVE="${interleave}" + INCLUDE_NON_PF_READS="${include_non_pf_reads}" - CLIPPING_ATTRIBUTE="${clipping_attribute}" - CLIPPING_ACTION="${clipping_action}" + #if len(str($clipping_attribute)) > 0: + CLIPPING_ATTRIBUTE="${clipping_attribute}" + #end if + #if len(str($clipping_action)) > 0: + CLIPPING_ACTION="${clipping_action}" + #end if READ1_TRIM="${read1_trim}" #if int($read1_max_bases_to_write) > -1: @@ -47,7 +49,6 @@ INCLUDE_NON_PRIMARY_ALIGNMENTS="${include_non_primary_alignments}" - VALIDATION_STRINGENCY="${validation_stringency}" QUIET=true VERBOSITY=ERROR @@ -57,12 +58,16 @@ <inputs> <param format="sam,bam" name="inputFile" type="data" label="Select SAM/BAM dataset or dataset collection" help="If empty, upload or import a SAM/BAM dataset"/> - <param name="output_per_rg" type="boolean" checked="False" label="Do you want to output a fastq file per read group (two fastq files per read group if the group is paired)" help="OUTPUT_PER_RG; default=False"/> + <param name="single_or_paired" type="select" label="Output format"> + <option value="se" >Single-end</option> + <option value="pe_interleaved" selected="true">Paired-end (one interleaved output file)</option> + <option value="pe_sep">Paired-end (two separate output files)</option> + </param> + <param name="re_reverse" type="boolean" checked="True" label="Re-reverse bases and qualities of reads with negative strand flag set before writing them to fastq" help="RE_REVERSE; default=True"/> - <param name="interleave" type="boolean" label="Will generate an interleaved fastq if paired, each line will have /1 or /2 to describe which end it came from" help="INTERLEAVE; default=False"/> <param name="include_non_pf_reads" type="boolean" label="Include non-PF reads from the SAM/BAM dataset into the output FASTQ" help="INCLUDE_NON_PF_READS; PF means 'passes filtering'. Reads whose 'not passing quality controls' flag is set are non-PF reads; default=False"/> - <param name="clipping_attribute" type="text" value="null" label="The attribute that stores the position at which the SAM/BAM record should be clipped" help="CLIPPING_ATTRIBUTE; default=null"/> - <param name="clipping_action" type="text" value="null" label="The action that should be taken with clipped reads: 'X' means the reads and qualities should be trimmed at the clipped position; 'N' means the bases should be changed to Ns in the clipped region; and any integer means that the base qualities should be set to that value in the clipped region" help="CLIPPING_ACTION; default=null"/> + <param name="clipping_attribute" type="text" value="" label="The attribute that stores the position at which the SAM/BAM record should be clipped" help="CLIPPING_ATTRIBUTE; default=null"/> + <param name="clipping_action" type="text" value="" label="The action that should be taken with clipped reads: 'X' means the reads and qualities should be trimmed at the clipped position; 'N' means the bases should be changed to Ns in the clipped region; and any integer means that the base qualities should be set to that value in the clipped region" help="CLIPPING_ACTION; default=null"/> <param name="read1_trim" type="integer" value="0" min="0" label="The number of bases to trim from the beginning of read 1" help="READ1_TRIM; default=0"/> <param name="read1_max_bases_to_write" type="integer" value="-1" label="The maximum number of bases to write from read 1 after trimming" help="READ1_MAX_BASES_TO_WRITE; If there are fewer than this many bases left after trimming, all will be written. If this value is null then all bases left after trimming will be written; default=null (-1)"/> <param name="read2_trim" type="integer" value="0" min="0" label="The number of bases to trim from the beginning of read 2" help="READ2_TRIM; default=0"/> @@ -74,32 +79,74 @@ </inputs> <outputs> - <!-- here dataset discovery is based on fact that if OUTPUT_PER_RG=true this tool automatically adds .fastq extension to emitted files --> - <data format="txt" name="report" label="SamToFastq run" hidden="true"> - <discover_datasets pattern="(?P<designation>.+)\.fastq" ext="fastqsanger" visible="true"/> + <data format="fastqsanger" name="fq_single" label="${tool.name} on ${on_string}: reads as fastq"> + <filter>output_type['single_or_paired'] == 'se'</filter> + </data> + + <data format="fastqsanger" name="interleaved_fastq" label="Interleaved pairs from ${tool.name} on ${on_string}"> + <filter>output_type['single_or_paired'] == 'pe_interleaved'</filter> + </data> + + <data format="fastqsanger" name="fq1" label="Paired-end forward strand from ${tool.name} on ${on_string}"> + <filter>output_type['single_or_paired'] == 'pe_sep'</filter> + </data> + + <data format="fastqsanger" name="fq2" label="Paired-end reverse strand from ${tool.name} on ${on_string}"> + <filter>output_type['single_or_paired'] == 'pe_sep'</filter> + </data> + + <data format="fastqsanger" name="fq_u" label="Paired-end unpaired reads from ${tool.name} on ${on_string}"> + <filter>output_type['single_or_paired'] == 'pe_sep'</filter> </data> </outputs> <tests> <test> <param name="inputFile" value="picard_SamToFastq.bam" ftype="bam"/> + <param name="single_or_paired" value="pe_interleaved" /> <param name="output_per_rg" value="false"/> <param name="re_reverse" value="true"/> - <param name="interleave" value="true"/> <param name="include_non_pf_reads" value="false"/> - <param name="clipping_attribute" value="null" /> - <param name="clipping_action" value="null" /> + <param name="clipping_attribute" value="" /> + <param name="clipping_action" value="" /> <param name="read1_trim" value="0" /> <param name="read1_max_bases_to_write" value="-1"/> <param name="read2_trim" value="0" /> <param name="read2_max_bases_to_write" value="-1"/> <param name="include_non_primary_alignments" value="false"/> - <output name="report"> - <assert_contents> - <has_line line="BAM" /> - </assert_contents> - <discovered_dataset designation="INTERLEAVED" file="picard_SamToFastq_test1.fq" ftype="fastqsanger"/> - </output> + <output name="interleaved_fastq" file="picard_SamToFastq_test1.fq" ftype="fastqsanger"/> + </test> + <test> + <param name="inputFile" value="picard_SamToFastq.bam" ftype="bam"/> + <param name="single_or_paired" value="pe_sep" /> + <param name="output_per_rg" value="false"/> + <param name="re_reverse" value="true"/> + <param name="include_non_pf_reads" value="false"/> + <param name="clipping_attribute" value="" /> + <param name="clipping_action" value="" /> + <param name="read1_trim" value="0" /> + <param name="read1_max_bases_to_write" value="-1"/> + <param name="read2_trim" value="0" /> + <param name="read2_max_bases_to_write" value="-1"/> + <param name="include_non_primary_alignments" value="false"/> + <output name="fq1" file="picard_SamToFastq_1.fq" ftype="fastqsanger"/> + <output name="fq2" file="picard_SamToFastq_2.fq" ftype="fastqsanger"/> + <output name="fq_u" file="picard_SamToFastq_u.fq" ftype="fastqsanger"/> + </test> + <test> + <param name="inputFile" value="picard_SamToFastq_se.bam" ftype="bam"/> + <param name="single_or_paired" value="se" /> + <param name="output_per_rg" value="false"/> + <param name="re_reverse" value="true"/> + <param name="include_non_pf_reads" value="false"/> + <param name="clipping_attribute" value="" /> + <param name="clipping_action" value="" /> + <param name="read1_trim" value="0" /> + <param name="read1_max_bases_to_write" value="-1"/> + <param name="read2_trim" value="0" /> + <param name="read2_max_bases_to_write" value="-1"/> + <param name="include_non_primary_alignments" value="false"/> + <output name="fq_single" file="picard_SamToFastq_se.fq" ftype="fastqsanger"/> </test> </tests>