0
|
1 <tool name="SAM/BAM Hybrid Selection Metrics" id="PicardHsMetrics" version="0.01">
|
|
2 <description>for targeted resequencing data</description>
|
|
3 <command interpreter="python">
|
|
4
|
|
5 picard_wrapper.py -i "$input_file" -d "$html_file.files_path" -t "$html_file" --datatype "$input_file.ext"
|
|
6 --baitbed "$bait_bed" --targetbed "$target_bed" -n "$out_prefix" --tmpdir "${__new_file_path__}"
|
|
7 -j "${GALAXY_DATA_INDEX_DIR}/shared/jars/CalculateHsMetrics.jar"
|
|
8
|
|
9 </command>
|
|
10 <requirements><requirement type="package">picard</requirement></requirements>
|
|
11 <inputs>
|
|
12 <param format="sam,bam" name="input_file" type="data" label="SAM/BAM dataset to generate statistics for" />
|
|
13 <param name="out_prefix" value="Picard HS Metrics" type="text" label="Title for the output file" help="Use to remind you what the job was for." size="80" />
|
|
14 <param name="bait_bed" type="data" format="interval" label="Bait intervals: Sequences for bait in the design" help="In UCSC BED format" size="80" />
|
|
15 <param name="target_bed" type="data" format="interval" label="Target intervals: Sequences for targets in the design" help="In UCSC BED format" size="80" />
|
|
16 <!--
|
|
17
|
|
18 Users can be enabled to set Java heap size by uncommenting this option and adding '-x "$maxheap"' to the <command> tag.
|
|
19 If commented out the heapsize defaults to the value specified within picard_wrapper.py
|
|
20
|
|
21 <param name="maxheap" type="select"
|
|
22 help="If in doubt, try the default. If it fails with a complaint about java heap size, try increasing it please - larger jobs will require your own hardware."
|
|
23 label="Java heap size">
|
|
24 <option value="4G" selected = "true">4GB default </option>
|
|
25 <option value="8G" >8GB use if 4GB fails</option>
|
|
26 <option value="16G">16GB - try this if 8GB fails</option>
|
|
27 </param>
|
|
28
|
|
29 -->
|
|
30 </inputs>
|
|
31 <outputs>
|
|
32 <data format="html" name="html_file" label="${out_prefix}.html" />
|
|
33 </outputs>
|
|
34 <tests>
|
|
35 <test>
|
|
36 <param name="out_prefix" value="HSMetrics" />
|
|
37 <param name="input_file" value="picard_input_summary_alignment_stats.sam" ftype="sam" />
|
|
38 <param name="bait_bed" value="picard_input_bait.bed" />
|
|
39 <param name="target_bed" value="picard_input_bait.bed" />
|
|
40 <param name="maxheap" value="8G" />
|
|
41 <output name="html_file" file="picard_output_hs_transposed_summary_alignment_stats.html" ftype="html" lines_diff="212"/>
|
|
42 </test>
|
|
43 </tests>
|
|
44 <help>
|
|
45
|
|
46 .. class:: infomark
|
|
47
|
|
48 **Summary**
|
|
49
|
|
50 Calculates a set of Hybrid Selection specific metrics from an aligned SAM or BAM file.
|
|
51
|
|
52 **Picard documentation**
|
|
53
|
|
54 This is a Galaxy wrapper for CollectAlignmentSummaryMetrics, a part of the external package Picard-tools_.
|
|
55
|
|
56 .. _Picard-tools: http://www.google.com/search?q=picard+samtools
|
|
57
|
|
58 -----
|
|
59
|
|
60 .. class:: infomark
|
|
61
|
|
62 **Inputs, outputs, and parameters**
|
|
63
|
|
64 Picard documentation says (reformatted for Galaxy):
|
|
65
|
|
66 Calculates a set of Hybrid Selection specific metrics from an aligned SAM or BAM file.
|
|
67
|
|
68 .. csv-table::
|
|
69 :header-rows: 1
|
|
70
|
|
71 "Option", "Description"
|
|
72 "BAIT_INTERVALS=File","An interval list file that contains the locations of the baits used. Required."
|
|
73 "TARGET_INTERVALS=File","An interval list file that contains the locations of the targets. Required."
|
|
74 "INPUT=File","An aligned SAM or BAM file. Required."
|
|
75 "OUTPUT=File","The output file to write the metrics to. Required. Cannot be used in conjuction with option(s) METRICS_FILE (M)"
|
|
76 "METRICS_FILE=File","Legacy synonym for OUTPUT, should not be used. Required. Cannot be used in conjuction with option(s) OUTPUT (O)"
|
|
77 "CREATE_MD5_FILE=Boolean","Whether to create an MD5 digest for any BAM files created. Default value: false"
|
|
78
|
|
79 HsMetrics
|
|
80
|
|
81 The set of metrics captured that are specific to a hybrid selection analysis.
|
|
82
|
|
83 Output Column Definitions::
|
|
84
|
|
85 1. BAIT_SET: The name of the bait set used in the hybrid selection.
|
|
86 2. GENOME_SIZE: The number of bases in the reference genome used for alignment.
|
|
87 3. BAIT_TERRITORY: The number of bases which have one or more baits on top of them.
|
|
88 4. TARGET_TERRITORY: The unique number of target bases in the experiment where target is usually exons etc.
|
|
89 5. BAIT_DESIGN_EFFICIENCY: Target terrirtoy / bait territory. 1 == perfectly efficient, 0.5 = half of baited bases are not target.
|
|
90 6. TOTAL_READS: The total number of reads in the SAM or BAM file examine.
|
|
91 7. PF_READS: The number of reads that pass the vendor's filter.
|
|
92 8. PF_UNIQUE_READS: The number of PF reads that are not marked as duplicates.
|
|
93 9. PCT_PF_READS: PF reads / total reads. The percent of reads passing filter.
|
|
94 10. PCT_PF_UQ_READS: PF Unique Reads / Total Reads.
|
|
95 11. PF_UQ_READS_ALIGNED: The number of PF unique reads that are aligned with mapping score > 0 to the reference genome.
|
|
96 12. PCT_PF_UQ_READS_ALIGNED: PF Reads Aligned / PF Reads.
|
|
97 13. PF_UQ_BASES_ALIGNED: The number of bases in the PF aligned reads that are mapped to a reference base. Accounts for clipping and gaps.
|
|
98 14. ON_BAIT_BASES: The number of PF aligned bases that mapped to a baited region of the genome.
|
|
99 15. NEAR_BAIT_BASES: The number of PF aligned bases that mapped to within a fixed interval of a baited region, but not on a baited region.
|
|
100 16. OFF_BAIT_BASES: The number of PF aligned bases that mapped to neither on or near a bait.
|
|
101 17. ON_TARGET_BASES: The number of PF aligned bases that mapped to a targetted region of the genome.
|
|
102 18. PCT_SELECTED_BASES: On+Near Bait Bases / PF Bases Aligned.
|
|
103 19. PCT_OFF_BAIT: The percentage of aligned PF bases that mapped neither on or near a bait.
|
|
104 20. ON_BAIT_VS_SELECTED: The percentage of on+near bait bases that are on as opposed to near.
|
|
105 21. MEAN_BAIT_COVERAGE: The mean coverage of all baits in the experiment.
|
|
106 22. MEAN_TARGET_COVERAGE: The mean coverage of targets that recieved at least coverage depth = 2 at one base.
|
|
107 23. PCT_USABLE_BASES_ON_BAIT: The number of aligned, de-duped, on-bait bases out of the PF bases available.
|
|
108 24. PCT_USABLE_BASES_ON_TARGET: The number of aligned, de-duped, on-target bases out of the PF bases available.
|
|
109 25. FOLD_ENRICHMENT: The fold by which the baited region has been amplified above genomic background.
|
|
110 26. ZERO_CVG_TARGETS_PCT: The number of targets that did not reach coverage=2 over any base.
|
|
111 27. FOLD_80_BASE_PENALTY: The fold over-coverage necessary to raise 80% of bases in "non-zero-cvg" targets to the mean coverage level in those targets.
|
|
112 28. PCT_TARGET_BASES_2X: The percentage of ALL target bases acheiving 2X or greater coverage.
|
|
113 29. PCT_TARGET_BASES_10X: The percentage of ALL target bases acheiving 10X or greater coverage.
|
|
114 30. PCT_TARGET_BASES_20X: The percentage of ALL target bases acheiving 20X or greater coverage.
|
|
115 31. PCT_TARGET_BASES_30X: The percentage of ALL target bases acheiving 30X or greater coverage.
|
|
116 32. HS_LIBRARY_SIZE: The estimated number of unique molecules in the selected part of the library.
|
|
117 33. HS_PENALTY_10X: The "hybrid selection penalty" incurred to get 80% of target bases to 10X. This metric should be interpreted as: if I have a design with 10 megabases of target, and want to get 10X coverage I need to sequence until PF_ALIGNED_BASES = 10^6 * 10 * HS_PENALTY_10X.
|
|
118 34. HS_PENALTY_20X: The "hybrid selection penalty" incurred to get 80% of target bases to 20X. This metric should be interpreted as: if I have a design with 10 megabases of target, and want to get 20X coverage I need to sequence until PF_ALIGNED_BASES = 10^6 * 20 * HS_PENALTY_20X.
|
|
119 35. HS_PENALTY_30X: The "hybrid selection penalty" incurred to get 80% of target bases to 10X. This metric should be interpreted as: if I have a design with 10 megabases of target, and want to get 30X coverage I need to sequence until PF_ALIGNED_BASES = 10^6 * 30 * HS_PENALTY_30X.
|
|
120
|
|
121 .. class:: warningmark
|
|
122
|
|
123 **Warning on SAM/BAM quality**
|
|
124
|
|
125 Many SAM/BAM files produced externally and uploaded to Galaxy do not fully conform to SAM/BAM specifications. Galaxy deals with this by using the **LENIENT**
|
|
126 flag when it runs Picard, which allows reads to be discarded if they're empty or don't map. This appears
|
|
127 to be the only way to deal with SAM/BAM that cannot be parsed.
|
|
128
|
|
129
|
|
130 </help>
|
|
131 </tool>
|