Mercurial > repos > gbcs-embl-heidelberg > je_demultiplex
diff macros.xml @ 0:424f44e2124e draft
Initial upload
author | gbcs-embl-heidelberg |
---|---|
date | Wed, 25 Nov 2015 12:37:28 -0500 |
parents | |
children | 88ebcd1ced0e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Wed Nov 25 12:37:28 2015 -0500 @@ -0,0 +1,336 @@ +<macros> + + <token name="@single_or_paired_cmd@"> + #if str( $library.type ) == "single": + F1=${library.input_1} + #elif str( $library.type ) == "paired": + F1=${library.input_1} + F2=${library.input_2} + SAME_HEADERS=${library.SAME_HEADERS} + #else + ## prepare paired-end collection + F1=${library.input_1.forward} + F2=${library.input_1.reverse} + SAME_HEADERS=${library.SAME_HEADERS} + #end if + </token> + + <xml name="paired_options"> + <when value="paired"> + <param name="input_1" format="fastq" type="data" label="FASTQ file #1"/> + <param name="input_2" format="fastq" type="data" label="FASTQ file #2"/> + <yield /> + <param name="SAME_HEADERS" type="boolean" + label="Ensure headers of both reads of a pair are identical (SAME_HEADERS)" + help="Only applies if barcodes are added to the header (option ADD)" + truevalue="true" + falsevalue="false" checked="false"/> + </when> + <when value="paired_collection"> + <param name="input_1" format="fastq" type="data_collection" collection_type="paired" + label="FASTQ Paired Dataset"/> + <yield /> + <param name="SAME_HEADERS" type="boolean" + label="Ensure headers of both reads of a pair are identical (SAME_HEADERS)" + help="Only applies if barcodes are added to the header (option ADD)" + truevalue="true" + falsevalue="false" checked="false"/> + </when> + </xml> + + <token name="@single_or_paired_illu_cmd@"> + @single_or_paired_cmd@ + I1=$library.I1 + #if str( $library.type ) != "single": + #if str( $library.I2_CONDITIONAL.I2_AVAILABLE ) == "true": + I2=${library.I2_CONDITIONAL.I2} + BRED=${library.I2_CONDITIONAL.BRED_CONDITIONAL.BRED} + #if str( $library.I2_CONDITIONAL.BRED_CONDITIONAL.BRED ) == "true": + STRICT=${library.I2_CONDITIONAL.BRED_CONDITIONAL.STRICT} + #end if + #end if + #end if + </token> + + <xml name="single_or_paired_illu"> + <conditional name="library"> + <param name="type" type="select" label="Is this single or paired library"> + <option value="single">Single-end</option> + <option value="paired">Paired-end</option> + <option value="paired_collection">Paired-end Dataset Collection</option> + </param> + <when value="single"> + <param name="input_1" format="fastq" type="data" label="FASTQ file"/> + <param name="I1" type="data" format="fastq" label="First Index File"/> + </when> + <expand macro="paired_options"> + <param name="I1" type="data" format="fastq" label="First Index File"/> + <conditional name="I2_CONDITIONAL"> + <param name="I2_AVAILABLE" type="select" label="Do you have a second index file?"> + <option value="true">Yes</option> + <option value="false" selected="true">No</option> + </param> + <when value="true"> + <param name="I2" type="data" format="fastq" label="Second Index File"/> + <expand macro="bred_conditional"/> + </when> + <when value="false"/> + </conditional> + </expand> + </conditional> + </xml> + + <xml name="single_or_paired_general"> + <conditional name="library"> + <param name="type" type="select" label="Is this single or paired library"> + <option value="single">Single-end</option> + <option value="paired">Paired-end</option> + <option value="paired_collection">Paired-end Dataset Collection</option> + </param> + <when value="single"> + <param name="input_1" format="fastq" type="data" label="FASTQ file"/> + </when> + <expand macro="paired_options"> + <yield /> + </expand> + </conditional> + </xml> + + <token name="@demultiplex_paired_end_cmd_options@"> + BPOS=$library.BPOS_CONDITIONAL.BPOS + #if str( $library.BPOS_CONDITIONAL.BPOS ) == "BOTH": + BM=${library.BPOS_CONDITIONAL.BM_CONDITIIONAL.BM} + #if str( $library.BPOS_CONDITIONAL.BM_CONDITIIONAL.BM ) == "BOTH": + BRED=${library.BPOS_CONDITIONAL.BM_CONDITIIONAL.BRED_CONDITIONAL.BRED} + #if str( $library.BPOS_CONDITIONAL.BM_CONDITIIONAL.BRED_CONDITIONAL.BRED ) == "true": + STRICT=${library.BPOS_CONDITIONAL.BM_CONDITIIONAL.BRED_CONDITIONAL.STRICT} + #end if + #end if + #end if + </token> + + <xml name="demultiplex_paired_end_options"> + <conditional name="BPOS_CONDITIONAL"> + <param name="BPOS" type="select" label="Barcode read position (BPOS)" help="where are the barcodes"> + <option value="READ_1" selected="true">READ_1 (beginning of read from the first fastq file)</option> + <option value="READ_2">READ_2 (beginning of read from the second fastq file)</option> + <option value="BOTH">BOTH (beginning of both reads)</option> + </param> + <when value="READ_1"/> + <when value="READ_2"/> + <when value="BOTH"> + <conditional name="BM_CONDITIIONAL"> + <param name="BM" type="select" label="Barcode for sample matching (BM)" + help="which barcode should be used for sample look up (BM option)." > + <option value="READ_1" selected="true"> + READ_1 (beginning of read from the first fastq file) + </option> + <option value="READ_2"> + READ_2 (beginning of read from the second fastq file) + </option> + <option value="BOTH"> + BOTH (beginning of both reads) + </option> + </param> + <when value="READ_1"/> + <when value="READ_2"/> + <when value="BOTH"> + <expand macro="bred_conditional"/> + </when> + </conditional> + </when> + </conditional> + </xml> + + <xml name="bred_conditional"> + <conditional name="BRED_CONDITIONAL"> + <param name="BRED" type="select" label="Redundant barcodes (BRED)" + help="are the barcodes REDUNDANT i.e. do they both resolve to the same sample."> + <option value="true" selected="true">Yes</option> + <option value="false">No</option> + </param> + <when value="true"> + <param name="STRICT" type="boolean" label="Strict (S)" + truevalue="true" + falsevalue="false" + checked="false" + /> + </when> + <when value="false"/> + </conditional> + </xml> + + <token name="@barcode_option_cmd@"> + #if str( $barcodes.barcode_list_type_con ) == "text": + BARCODE_FILE=${barcode_file_from_text} + #else if str( $barcodes.barcode_list_type_con ) == "file": + BARCODE_FILE=${barcodes.BARCODE_FILE} + #end if + </token> + + <xml name="barcode_option"> + <conditional name="barcodes"> + <param name="barcode_list_type_con" type="select" label="Barcode list input type"> + <option value="file" selected="true">Use a tab-delimited file from the history</option> + <option value="text">Paste the barcodes list in a text field within the form</option> + </param> + + <when value="file"> + <param name="BARCODE_FILE" type="data" format="tabular,txt" label="Barcode List" + help="Barcode list format: one sample per line. First column is sample name and second is the + barcode, separated by tab or space. A third and fourth column can be used to specify the resulting + file names. See help below."/> + </when> + + <when value="text"> + <param name="barcode_text" type="text" area="True" size="10x30" + value="sample_name\tbarcode\n" label="Barcode List" + help="Barcode list format: one sample per line. First column is sample name and second is the + barcode, separated by tab or space. A third and fourth column can be used to specify the resulting + file names. See help below."> + <sanitizer> + <valid initial="string.printable"></valid> + <mapping initial="none"/> + </sanitizer> + </param> + </when> + </conditional> + </xml> + + <xml name="barcode_config_file"> + <configfile name="barcode_file_from_text">#set from_text_area = '' +#if str( $barcodes.barcode_list_type_con ) == "text": +#set from_text_area = $barcodes.barcode_text +#end if +${from_text_area}</configfile> + </xml> + + <token name="@barcode_len_cmd@"> + #if str( $LEN ) != "": + BCLEN=$LEN + #end if + </token> + + <xml name="barcode_len_option"> + <param name="LEN" type="text" value="" label="Barcode Length (LEN)" + help="If 'Barcode read position'=BOTH and 'Redundant barcodes'=False, two distinct + lengths can be provided using the syntax LEN=X:Z where X and Z are 2 integers representing + the barcode length for read_1 and read_2 respectively. Default: empty"/> + </xml> + <xml name="clip_barcode"> + <param name="CLIP_BARCODE" type="boolean" label="Remove barcode sequence from read (C)" + truevalue="true" falsevalue="false" checked="true"/> + </xml> + + <token name="@demultiplexer_common_options_cmd@"> + ADD=${ADD} + MM=$MM + MMD=$MMD + Q=$MIN_BASE_QUALITY + QUALITY_FORMAT=$QUALITY_FORMAT + </token> + <xml name="demultiplexer_common_options"> + <param name="ADD" type="boolean" + label="Add matched barcode at the end of the read header (ADD)" + truevalue="true" + falsevalue="false" + checked="true" + /> + <param name="MM" type="text" value="1" label="Maximum Mismatches (MM)" + help="Maximum mismatches for a barcode to be considered a match." /> + + <param name="MMD" type="text" value="1" label="Minimum mismatch difference (MMD)" + help="Minimum difference between number of mismatches in the best and second best barcodes for a barcode + to be considered a match." /> + + <param name="MIN_BASE_QUALITY" type="text" value="10" label="Minimum base quality (Q)" + help="Any barcode bases falling below this quality will be + considered a mismatch even in the bases match." /> + + <param name="QUALITY_FORMAT" type="select" label="Fastq Quality Format (V)" + help="How are the quality values encoded in the fastq. Either 'Solexa' for + pre-pipeline 1.3 style scores (solexa scaling + 66), 'Illumina' for pipeline 1.3 and + above (phred scaling + 64) or 'Standard' for phred scaled scores with a character shift + of 33."> + <option value="Standard" selected="true"> + Fastq - Illumina Casava v1.8 with Sanger coding quality (phred scaling + 33) + </option> + <option value="Illumina"> + Fastq - Illumina v1.3 or above coding of quality (phred scaling + 64) + </option> + <option value="Solexa"> + Fastq - Solexa-style quality (solexa scaling + 66) + </option> + <option value="null"> + Detect automatically + </option> + </param> + </xml> + + <token name="@demultiplexer_common_output_options_cmd@"> + KEEP_UNASSIGNED_READ=$KEEP_UNASSIGNED_READ + STATS_ONLY=${adv_options.STATS_ONLY} + #if str( $adv_options.DIAG ) == "true": + BARCODE_DIAG_FILE=$BARCODE_DIAG_FILE + #end if + </token> + <xml name="demultiplexer_common_output_options"> + <param name="KEEP_UNASSIGNED_READ" type="boolean" label="Keep unassigned reads (KEEP_UNASSIGNED_READ)" + truealue="true" + falsevalue="false" + checked="true" + /> + <section name="adv_options" title="Advanced Options" expanded="False"> + <param name="DIAG" type="boolean" label="Output barcode match reporting file (DIAG)" + truevalue="true" falsevalue="false" checked="false" + help="This file will + contain a line per read pair with the barcode best matching the read subsequence or 'null' when no + match is found according to matching parameters. This file is useful for debugging or further + processing in case both ends are barcoded."/> + <param name="STATS_ONLY" type="boolean" label="Only produce metric and diagnostic reports (STATS_ONLY)" + truevalue="true" falsevalue="false" checked="false" + help="do not demultiplex." /> + </section> + </xml> + + <token name="@common_options_cmd@"> + XT=${XT} + ZT=${ZT} + #if str( $RCHAR ) != "": + RCHAR=${RCHAR} + #end if + GZ=${GZ} + OUTPUT_DIR=results + </token> + <xml name="common_options"> + <param name="XT" type="text" value="0" + label="Extra number of bases to be trimmed right after the barcode (XT)" /> + <param name="ZT" type="text" value="0" + label="Extra number of bases to be trimmed from the read end (ZT)" /> + + <param name="RCHAR" type="text" + label="Replace white space in the read name/header with speficied symbols (RCHAR)" + help="Set to empty for no replacement" + value=":"/> + + <param name="GZ" type="boolean" hidden="true" label="Compress output (GZ)" + help="will result in fastq.gz files." + truevalue="true" + falsevalue="false" + checked="false"/> + </xml> + + <token name="@demultiplexer_common_outputs_cmd@"> + METRICS_FILE_NAME=$METRICS_FILE_NAME + </token> + <xml name="demultiplexer_common_outputs"> + <data name="METRICS_FILE_NAME" format="tabular" label="Je-Demultiplex result"> + <!--<discover_datasets pattern="(?P<name>.*)\.txt" ext="fastqsanger"--> + <discover_datasets pattern="(?P<name>.*)\.txt" directory="results" visible="true" ext="fastqsanger"/> + </data> + <data name="BARCODE_DIAG_FILE" format="tabular" label="Barcode statistics"> + <filter>(adv_options['DIAG'] == 'true')</filter> + </data> + </xml> + +</macros>