Purpose
Computes a number of metrics that are useful for evaluating coverage and performance of whole genome sequencing experiments.
Dataset collections - processing large numbers of datasets at once
This will be added shortly
Read Groups are Important!
Setting read groups correctly from the start will simplify your life greatly because you can merge multiple BAM files into one significantly reducing the number of analysis steps. Below we provide an explanation of read groups fields taken from GATK FAQ webpage:
Tag | Importance | Definition | Meaning |
---|---|---|---|
ID | Required | Read group identifier. Each @RG line must have a unique ID. The value of ID is used in the RG tags of alignment records. Must be unique among all read groups in header section. Read group IDs may be modified when merging SAM files in order to handle collisions. | Ideally, this should be a globally unique identify across all sequencing data in the world, such as the Illumina flowcell + lane name and number. Will be referenced by each read with the RG:Z field, allowing tools to determine the read group information associated with each read, including the sample from which the read came. Also, a read group is effectively treated as a separate run of the NGS instrument in tools like base quality score recalibration (a GATK component) -- all reads within a read group are assumed to come from the same instrument run and to therefore share the same error model. |
SM | Sample. Use pool name where a pool is being sequenced. | Required. As important as ID. | The name of the sample sequenced in this read group. GATK tools treat all read groups with the same SM value as containing sequencing data for the same sample. Therefore it's critical that the SM field be correctly specified, especially when using multi-sample tools like the Unified Genotyper (a GATK component). |
PL | Platform/technology used to produce the read. Valid values: ILLUMINA, SOLID, LS454, HELICOS and PACBIO. | Important. Not currently used in the GATK, but was in the past, and may return. The only way to known the sequencing technology used to generate the sequencing data | It's a good idea to use this field. |
LB | DNA preparation library identify | Essential for MarkDuplicates | MarkDuplicates uses the LB field to determine which read groups might contain molecular duplicates, in case the same DNA library was sequenced on multiple lanes. |
Example of Read Group usage
Support we have a trio of samples: MOM, DAD, and KID. Each has two DNA libraries prepared, one with 400 bp inserts and another with 200 bp inserts. Each of these libraries is run on two lanes of an illumina hiseq, requiring 3 x 2 x 2 = 12 lanes of data. When the data come off the sequencer, we would create 12 BAM files, with the following @RG fields in the header:
Dad's data: @RG ID:FLOWCELL1.LANE1 PL:illumina LB:LIB-DAD-1 SM:DAD PI:200 @RG ID:FLOWCELL1.LANE2 PL:illumina LB:LIB-DAD-1 SM:DAD PI:200 @RG ID:FLOWCELL1.LANE3 PL:illumina LB:LIB-DAD-2 SM:DAD PI:400 @RG ID:FLOWCELL1.LANE4 PL:illumina LB:LIB-DAD-2 SM:DAD PI:400 Mom's data: @RG ID:FLOWCELL1.LANE5 PL:illumina LB:LIB-MOM-1 SM:MOM PI:200 @RG ID:FLOWCELL1.LANE6 PL:illumina LB:LIB-MOM-1 SM:MOM PI:200 @RG ID:FLOWCELL1.LANE7 PL:illumina LB:LIB-MOM-2 SM:MOM PI:400 @RG ID:FLOWCELL1.LANE8 PL:illumina LB:LIB-MOM-2 SM:MOM PI:400 Kid's data: @RG ID:FLOWCELL2.LANE1 PL:illumina LB:LIB-KID-1 SM:KID PI:200 @RG ID:FLOWCELL2.LANE2 PL:illumina LB:LIB-KID-1 SM:KID PI:200 @RG ID:FLOWCELL2.LANE3 PL:illumina LB:LIB-KID-2 SM:KID PI:400 @RG ID:FLOWCELL2.LANE4 PL:illumina LB:LIB-KID-2 SM:KID PI:400
Note the hierarchical relationship between read groups (unique for each lane) to libraries (sequenced on two lanes) and samples (across four lanes, two lanes for each library).
Inputs, outputs, and parameters
Either a SAM file or a BAM file must be supplied. Galaxy automatically coordinate-sorts all uploaded BAM files.
From Picard documentation( http://broadinstitute.github.io/picard/):
FASTQ=File F1=File Input fastq file for single end data, or first read in paired end data. Required. FASTQ2=File F2=File Input fastq file for the second read of paired end data (if used). QUALITY_FORMAT=FastqQualityFormat V=FastqQualityFormat A value describing how the quality values are 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. If this value is not specified, the quality format will be detected automatically. Default value: null. Possible values: {Solexa, Illumina, Standard} READ_GROUP_NAME=String RG=String Read group name Default value: A. SAMPLE_NAME=String SM=String Sample name to insert into the read group header Required. LIBRARY_NAME=String LB=String The library name to place into the LB attribute in the read group header. PLATFORM_UNIT=String PU=String The platform unit (often run_barcode.lane) to insert into the read group header. PLATFORM=String PL=String The platform type (e.g. illumina, solid) to insert into the read group header. SEQUENCING_CENTER=String CN=String The sequencing center from which the data originated. PREDICTED_INSERT_SIZE=Integer PI=Integer Predicted median insert size, to insert into the read group header. COMMENT=String CO=String Comment to include in the merged output file's header. DESCRIPTION=String DS=String Inserted into the read group header. RUN_DATE=Iso8601Date DT=Iso8601Date Date the run was produced, to insert into the read group header. MIN_Q=Integer Minimum quality allowed in the input fastq. An exception will be thrown if a quality is less than this value. Default value: 0. MAX_Q=Integer Maximum quality allowed in the input fastq. An exception will be thrown if a quality is greater than this value. Default value: 93. STRIP_UNPAIRED_MATE_NUMBER=Boolean If true and this is an unpaired fastq any occurance of '/1' will be removed from the end of a read name. Default value: false. Possible values: {true, false} ALLOW_AND_IGNORE_EMPTY_LINES=Boolean Allow (and ignore) empty lines Default value: false. Possible values: {true, false}
Additional information
Additional information about Picard tools is available from Picard web site at http://broadinstitute.github.io/picard/ .