comparison picard_EstimateLibraryComplexity.xml @ 0:5166ed57b1c4 draft

Uploaded version 1.135
author avowinkel
date Mon, 06 Jul 2015 14:46:32 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:5166ed57b1c4
1 <tool name="EstimateLibraryComplexity" id="picard_EstimateLibraryComplexity" version="1.135">
2 <description>assess sequence library complexity from read sequences</description>
3 <macros>
4 <import>picard_macros.xml</import>
5 </macros>
6 <expand macro="requirements" />
7 <command>
8 @java_options@
9
10 java -jar \$JAVA_JAR_PATH/picard.jar
11 EstimateLibraryComplexity
12
13 INPUT="${inputFile}"
14 OUTPUT="${outFile}"
15
16 MIN_IDENTICAL_BASES="${min_identical_bases}"
17 MAX_DIFF_RATE="${max_diff_rate}"
18 MIN_MEAN_QUALITY="${min_mean_quality}"
19 MAX_GROUP_RATIO="${max_group_ratio}"
20 #import pipes
21 READ_NAME_REGEX=${ pipes.quote( str( $read_name_regex ) ) or "''" }
22 OPTICAL_DUPLICATE_PIXEL_DISTANCE="${optical_duplicate_pixel_distance}"
23
24 VALIDATION_STRINGENCY="${validation_stringency}"
25 QUIET=true
26 VERBOSITY=ERROR
27
28 </command>
29 <inputs>
30 <param format="bam" name="inputFile" type="data" label="Select SAM/BAM dataset or dataset collection" help="If empty, upload or import a SAM/BAM dataset" />
31 <param name="min_identical_bases" type="integer" value="5" label="The minimum number of bases at the starts of reads that must be identical for reads to be grouped together for duplicate detection" help="MIN_IDENTICAL_BASES; In effect total_reads / 4^max_id_bases reads will be compared at a time, so lower numbers will produce more accurate results but consume exponentially more memory and CPU; default=5"/>
32 <param name="max_diff_rate" type="float" value="0.03" label="The maximum rate of differences between two reads to call them identical" help="MAX_DIFF_RATE; default=0.03"/>
33 <param name="min_mean_quality" type="integer" min="0" max="93" value="20" label="The minimum mean quality of the bases in a read pair for the read to be analyzed" help="MIN_MEAN_QUALITY; Reads with lower average quality are filtered out and not considered in any calculations; default=20"/>
34 <param name="max_group_ratio" type="integer" value="500" label="Do not process self-similar groups that are this many times over the mean expected group size" help="MAX_GROUP_RATIO; I.e. if the input contains 10m read pairs and MIN_IDENTICAL_BASES is set to 5, then the mean expected group size would be approximately 10 reads; default-500"/>
35
36 <param name="read_name_regex" type="text" size="40" value="[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*." label="Regular expression that can be used to parse read names in the incoming SAM/BAM dataset" help="READ_NAME_REGEX; Read names are parsed to extract three variables: tile/region, x coordinate and y coordinate. These values are used to estimate the rate of optical duplication in order to give a more accurate estimated library size. See help below for more info; default=[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*.">
37 <sanitizer>
38 <valid initial="string.printable">
39 </valid>
40 </sanitizer>
41 </param>
42 <param name="optical_duplicate_pixel_distance" type="integer" value="100" min="0" max="500" label="The maximum offset between two duplicte clusters in order to consider them optical duplicates" help="OPTICAL_DUPLICATE_PIXEL_DISTANCE; default=100"/>
43
44 <expand macro="VS" />
45
46 </inputs>
47
48 <outputs>
49 <data format="tabular" name="outFile" label="${tool.name} on ${on_string}: Library complexity report"/>
50 </outputs>
51
52 <tests>
53 <test>
54 <param name="inputFile" value="picard_EstimateLibraryComplexity.bam" ftype="bam"/>
55 <param name="min_identical_bases" value="5"/>
56 <param name="max_diff_rate" value="0.03"/>
57 <param name="min_mean_quality" value="20"/>
58 <param name="read_name_regex" value="[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*."/>
59 <param name="optical_duplicate_pixel_distance" value="100"/>
60 <param name="max_group_ratio" value="500"/>
61 <param name="validation_stringency" value="LENIENT"/>
62 <output name="outFile" file="picard_EstimateLibraryComplexity_test1.tab" ftype="tabular" lines_diff="4"/>
63 </test>
64 </tests>
65
66 <stdio>
67 <exit_code range="1:" level="fatal"/>
68 </stdio>
69
70 <help>
71
72 **Purpose**
73
74 Attempts to estimate library complexity from sequence of read pairs alone. Does so by sorting all reads by the first N bases (5 by default)
75 of each read and then comparing reads with the first N bases identical to each other for duplicates. Reads are considered to be duplicates
76 if they match each other with no gaps and an overall mismatch rate less than or equal to MAX_DIFF_RATE (0.03 by default).
77
78 Reads of poor quality are filtered out so as to provide a more accurate estimate. The filtering removes reads with any no-calls in the first
79 N bases or with a mean base quality lower than MIN_MEAN_QUALITY across either the first or second read.
80
81 Unpaired reads are ignored in this computation.
82 The algorithm attempts to detect optical duplicates separately from PCR duplicates and excludes these in the calculation of library size.
83
84 Also, since there is no alignment to screen out technical reads one further filter is applied on the data. After examining all reads a Histogram
85 is built of [#reads in duplicate set -> #of duplicate sets]; all bins that contain exactly one duplicate set are then removed from the Histogram
86 as outliers before library size is estimated.
87
88 @dataset_collections@
89
90 @description@
91
92 MIN_IDENTICAL_BASES=Integer The minimum number of bases at the starts of reads that must be identical for reads to be
93 grouped together for duplicate detection. In effect total_reads / 4^max_id_bases reads
94 will be compared at a time, so lower numbers will produce more accurate results but
95 consume exponentially more memory and CPU. Default value: 5.
96
97 MAX_DIFF_RATE=Double The maximum rate of differences between two reads to call them identical. Default value:
98 0.03.
99
100 MIN_MEAN_QUALITY=Integer The minimum mean quality of the bases in a read pair for the read to be analyzed. Reads
101 with lower average quality are filtered out and not considered in any calculations.
102 Default value: 20.
103
104 MAX_GROUP_RATIO=Integer Do not process self-similar groups that are this many times over the mean expected group
105 size. I.e. if the input contains 10m read pairs and MIN_IDENTICAL_BASES is set to 5, then
106 the mean expected group size would be approximately 10 reads. Default value: 500.
107
108 READ_NAME_REGEX=String Regular expression that can be used to parse read names in the incoming SAM file. Read
109 names are parsed to extract three variables: tile/region, x coordinate and y coordinate.
110 These values are used to estimate the rate of optical duplication in order to give a more
111 accurate estimated library size. Set this option to null to disable optical duplicate
112 detection. The regular expression should contain three capture groups for the three
113 variables, in order. It must match the entire read name. Note that if the default regex
114 is specified, a regex match is not actually done, but instead the read name is split on
115 colon character. For 5 element names, the 3rd, 4th and 5th elements are assumed to be
116 tile, x and y values. For 7 element names (CASAVA 1.8), the 5th, 6th, and 7th elements
117 are assumed to be tile, x and y values. Default value:
118 [a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*.
119
120 OPTICAL_DUPLICATE_PIXEL_DISTANCE=Integer
121 The maximum offset between two duplicte clusters in order to consider them optical
122 duplicates. This should usually be set to some fairly small number (e.g. 5-10 pixels)
123 unless using later versions of the Illumina pipeline that multiply pixel values by 10, in
124 which case 50-100 is more normal. Default value: 100.
125
126
127 @more_info@
128
129 </help>
130 </tool>
131
132