changeset 11:050856988602 draft

Uploaded
author scisjnu123
date Fri, 13 Sep 2019 02:35:06 -0400
parents 24d2dc34dd17
children 0f8b3610ea44
files picard/read_group_macros.xml
diffstat 1 files changed, 0 insertions(+), 294 deletions(-) [+]
line wrap: on
line diff
--- a/picard/read_group_macros.xml	Fri Sep 13 02:21:23 2019 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-<macros>
-    <!-- Import this at the top of your command block and then
-         define rg_auto_name. -->
-    <token name="@define_read_group_helpers@">
-#def identifier_or_name($input1)
-    #if hasattr($input1, 'element_identifier')
-        #return $input1.element_identifier
-    #else
-        #return $input1.name.rstrip('.gz').rstrip('.fastq').rstrip('.fq')
-    #end if
-#end def
-
-#def clean(name)
-    #import re
-    #set $name_clean = re.sub('[^\w\-_\.]', '_', $name)
-    #return $name_clean
-#end def
-
-#def read_group_name_default($input1, $input2=None)
-    #if $input2 is None
-        #return $clean($identifier_or_name($input1))
-    #else
-        #import itertools
-        #set $input_name1 = $clean($identifier_or_name($input1))
-        #set $input_name2 = $clean($identifier_or_name($input2))
-        #set $common_prefix = ''.join([c[0] for c in itertools.takewhile(lambda x: all(x[0] == y for y in x), itertools.izip(*[$input_name1, $input_name2]))])
-        #if len($common_prefix) > 3
-            #return $common_prefix
-        #else
-            #return $input_name1
-        #end if
-    #end if
-#end def
-
-#def format_read_group(prefix, value, quote='', arg='')
-    #if $value
-        #return $arg + $quote + $prefix + $value + $quote
-    #else
-        #return ''
-    #end if
-#end def
-
-#def rg_param(name)
-    #if $varExists("rg")
-        #return $rg.get($name, None)
-    #else
-        #return $getVar($name, None)
-    #end if
-#end def
-
-#set $use_rg = True
-    </token>
-    <!-- preconditions use_rg and rg_auto_name have been
-         defined.
-    -->
-    <token name="@set_read_group_vars@">
-#if $use_rg
-    #if $rg_param('read_group_id_conditional') is None
-        #set $rg_id = $rg_auto_name
-    #elif $rg_param('read_group_id_conditional').do_auto_name
-        #set $rg_id = $rg_auto_name
-    #else
-        #set $rg_id = str($rg_param('read_group_id_conditional').ID)
-    #end if
-
-    #if $rg_param('read_group_sm_conditional') is None
-        #set $rg_sm = ''
-    #elif $rg_param('read_group_sm_conditional').do_auto_name
-        #set $rg_sm = $rg_auto_name
-    #else
-        #set $rg_sm = str($rg_param('read_group_sm_conditional').SM)
-    #end if
-
-    #if $rg_param('PL')
-        #set $rg_pl = str($rg_param('PL'))
-    #else
-        #set $rg_pl = ''
-    #end if
-
-    #if $rg_param('read_group_lb_conditional') is None
-        #set $rg_lb = ''
-    #elif $rg_param('read_group_lb_conditional').do_auto_name
-        #set $rg_lb = $rg_auto_name
-    #else
-        #set $rg_lb = str($rg_param('read_group_lb_conditional').LB)
-    #end if
-
-    #if $rg_param('CN')
-        #set $rg_cn = str($rg_param('CN'))
-    #else
-        #set $rg_cn = ''
-    #end if
-
-    #if $rg_param("DS")
-        #set $rg_ds = str($rg_param("DS"))
-    #else
-        #set $rg_ds = ''
-    #end if
-
-    #if $rg_param("DT")
-        #set $rg_dt = str($rg_param("DT"))
-    #else
-        #set $rg_dt = ''
-    #end if
-
-    #if $rg_param("FO")
-        #set $rg_fo = str($rg_param("FO"))
-    #else
-        #set $rg_fo = ''
-    #end if
-
-    #if $rg_param("KS")
-        #set $rg_ks = str($rg_param("KS"))
-    #else
-        #set $rg_ks = ''
-    #end if
-
-    #if $rg_param("PG")
-        #set $rg_pg = str($rg_param("PG"))
-    #else
-        #set $rg_pg = ''
-    #end if
-
-    #if str($rg_param("PI"))
-        #set $rg_pi = str($rg_param("PI"))
-    #else
-        #set $rg_pi = ''
-    #end if
-
-    #if $rg_param("PU")
-        #set $rg_pu = str($rg_param("PU"))
-    #else
-        #set $rg_pu = ''
-    #end if
-#end if
-    </token>
-    <token name="@set_use_rg_var@">
-#set $use_rg = str($rg.rg_selector) != "do_not_set"
-    </token>
-    <xml name="read_group_auto_name_conditional">
-        <param name="do_auto_name" type="boolean" label="Auto-assign" help="Use dataset name or collection information to automatically assign this value" checked="no" />
-        <when value="true">
-        </when>
-        <when value="false">
-            <yield />
-        </when>
-    </xml>
-    <xml name="read_group_id_param">
-        <param name="ID" type="text" value="" size="20" label="Read group identifier (ID)" help="This value must be unique among multiple samples in your experiment" optional="false">
-            <validator type="empty_field" />
-        </param>
-    </xml>
-    <xml name="read_group_id_conditional">
-        <conditional name="read_group_id_conditional">
-            <expand macro="read_group_auto_name_conditional">
-                <expand macro="read_group_id_param" />
-            </expand>
-        </conditional>
-    </xml>
-    <xml name="read_group_sm_param">
-        <param name="SM" type="text" value="" size="20" label="Read group sample name (SM)" help="This value should be descriptive. Use pool name where a pool is being sequenced" />
-    </xml>
-    <xml name="read_group_sm_conditional">
-        <conditional name="read_group_sm_conditional">
-            <expand macro="read_group_auto_name_conditional">
-                <expand macro="read_group_sm_param" />
-            </expand>
-        </conditional>
-    </xml>
-    <!-- Above SM param is optional (for SAM/BAM spec, this is required
-         as per Picard.
-    -->
-    <xml name="read_group_sm_param_required">
-        <param name="SM" type="text" value="" size="20" label="Read group sample name (SM)" optional="false" help="This value should be descriptive. Use pool name where a pool is being sequenced">
-            <validator type="empty_field" />
-        </param>
-    </xml>
-    <xml name="read_group_sm_required_conditional">
-        <conditional name="read_group_sm_conditional">
-            <expand macro="read_group_auto_name_conditional">
-                <expand macro="read_group_sm_param" />
-            </expand>
-        </conditional>
-    </xml>
-    <xml name="read_group_pl_param">
-        <param name="PL" type="select" label="Platform/technology used to produce the reads (PL)">
-            <option value="CAPILLARY">CAPILLARY</option>
-            <option value="LS454">LS454</option>
-            <option selected="True" value="ILLUMINA">ILLUMINA</option>
-            <option value="SOLID">SOLID</option>
-            <option value="HELICOS">HELICOS</option>
-            <option value="IONTORRENT">IONTORRENT</option>
-            <option value="PACBIO">PACBIO</option>
-        </param>
-    </xml>
-    <xml name="read_group_lb_param">
-        <param name="LB" type="text" size="25" label="Library name (LB)" optional="true" />
-    </xml>
-    <xml name="read_group_lb_conditional">
-        <conditional name="read_group_lb_conditional">
-            <expand macro="read_group_auto_name_conditional">
-                <expand macro="read_group_lb_param" />
-            </expand>
-        </conditional>
-    </xml>
-    <xml name="read_group_lb_required_param">
-        <param name="LB" type="text" size="25" label="Library name (LB)" optional="false">
-            <validator type="empty_field" />
-        </param>
-    </xml>
-    <xml name="read_group_lb_required_conditional">
-        <conditional name="read_group_lb_conditional">
-            <expand macro="read_group_auto_name_conditional">
-                <expand macro="read_group_lb_required_param" />
-            </expand>
-        </conditional>
-    </xml>
-    <xml name="read_group_cn_param">
-        <param name="CN" type="text" size="25" label="Sequencing center that produced the read (CN)" />
-    </xml>
-    <xml name="read_group_ds_param">
-        <param name="DS" type="text" size="25" label="Description (DS)" />
-    </xml>
-    <xml name="read_group_dt_param">
-        <param name="DT" type="text" size="25" label="Date that run was produced (DT)" help="ISO8601 format date or date/time, like YYYY-MM-DD" />
-    </xml>
-    <xml name="read_group_fo_param">
-        <param name="FO" type="text" size="25" optional="true" label="Flow order (FO)" help="The array of nucleotide bases that correspond to the nucleotides used for each flow of each read. Multi-base flows are encoded in IUPAC format, and non-nucleotide flows by various other characters. Format: /\*|[ACMGRSVTWYHKDBN]+/">
-          <validator type="regex" message="Invalid flow order">\*|[ACMGRSVTWYHKDBN]+$</validator>
-        </param>
-    </xml>
-    <xml name="read_group_ks_param">
-        <param name="KS" type="text" size="25" label="The array of nucleotide bases that correspond to the key sequence of each read (KS)" />
-    </xml>
-    <xml name="read_group_pg_param">
-        <param name="PG" type="text" size="25" label="Programs used for processing the read group (PG)" />
-    </xml>
-    <xml name="read_group_pi_param">
-        <param name="PI" type="integer" optional="true" label="Predicted median insert size (PI)" />
-    </xml>
-    <xml name="read_group_pu_param">
-        <param name="PU" type="text" size="25" label="Platform unit (PU)" help="Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" optional="True" />
-    </xml>
-    <xml name="read_group_pu_required_param">
-        <param name="PU" type="text" size="25" label="Platform unit (PU)" help="Unique identifier (e.g. flowcell-barcode.lane for Illumina or slide for SOLiD)" optional="False" />
-    </xml>
-    <!-- Only ID is required - all groups available -->
-    <xml name="read_group_inputs_spec">
-        <expand macro="read_group_id_conditional" />
-        <expand macro="read_group_sm_conditional" />
-        <expand macro="read_group_pl_param" />
-        <expand macro="read_group_lb_conditional" />
-        <expand macro="read_group_cn_param" />
-        <expand macro="read_group_ds_param" />
-        <expand macro="read_group_dt_param" />
-        <expand macro="read_group_fo_param" />
-        <expand macro="read_group_ks_param" />
-        <expand macro="read_group_pg_param" />
-        <expand macro="read_group_pi_param" />
-        <expand macro="read_group_pu_param" />
-    </xml>
-    <!-- ID, SM, LB, PU, PL all required - not ks, pg, or fo params. -->
-    <xml name="read_group_inputs_picard">
-        <expand macro="read_group_id_conditional" />
-        <expand macro="read_group_sm_required_conditional" />
-        <expand macro="read_group_lb_required_conditional" />
-        <expand macro="read_group_pl_param" />
-        <expand macro="read_group_pu_required_param" />
-        <expand macro="read_group_cn_param" />
-        <expand macro="read_group_ds_param" />
-        <expand macro="read_group_pi_param" />
-        <expand macro="read_group_dt_param" />
-    </xml>
-    <xml name="read_group_conditional">
-        <conditional name="rg">
-            <param name="rg_selector" type="select" label="Set read groups information?" help="Specifying read group information can greatly simplify your downstream analyses by allowing combining multiple datasets.">
-                <option value="set">Set read groups (SAM/BAM specification)</option>
-                <option value="set_picard">Set read groups (Picard style)</option>
-                <option value="set_id_auto">Automatically assign ID</option>
-                <option value="do_not_set" selected="True">Do not set</option>
-            </param>
-            <when value="set_picard">
-                <expand macro="read_group_inputs_picard" />
-            </when>
-            <when value="set">
-                <expand macro="read_group_inputs_spec" />
-            </when>
-            <when value="set_id_auto">
-            </when>
-            <when value="do_not_set">
-            </when>
-        </conditional>
-    </xml>
-</macros>