Collect metrics regarding GC bias. This tool collects information about the relative proportions of guanine (G) and cytosine (C) nucleotides in a sample. Regions of high and low G + C content have been shown to interfere with mapping/aligning, ultimately leading to fragmented genome assemblies and poor coverage in a phenomenon known as 'GC bias'. Detailed information on the effects of GC bias on the collection and analysis of sequencing data can be found at DOI: 10.1371/journal.pone.0062856/.
The GC bias statistics are always output in a detailed long-form version, but a summary can also be produced. Both the detailed metrics and the summary metrics are output as tables '.txt' files) and an accompanying chart that plots the data ('.pdf' file).
Detailed metricsThe table of detailed metrics includes GC percentages for each bin (GC), the percentage of WINDOWS corresponding to each GC bin of the reference sequence, the numbers of reads that start within a particular %GC content bin (READ_STARTS), and the mean base quality of the reads that correspond to a specific GC content distribution window (MEAN_BASE_QUALITY). NORMALIZED_COVERAGE is a relative measure of sequence coverage by the reads at a particular GC content.For each run, the corresponding reference sequence is divided into bins or windows based on the percentage of G + C content ranging from 0 - 100%. The percentages of G + C are determined from a defined length of sequence; the default value is set at 100 bases. The mean of the distribution will vary among organisms; human DNA has a mean GC content of 40%, suggesting a slight preponderance of AT-rich regions.
Summary metricsThe table of summary metrics captures run-specific bias information including WINDOW_SIZE, ALIGNED_READS, TOTAL_CLUSTERS, AT_DROPOUT, and GC_DROPOUT. While WINDOW_SIZE refers to the numbers of bases used for the distribution (see above), the ALIGNED_READS and TOTAL_CLUSTERS are the total number of aligned reads and the total number of reads (after filtering) produced in a run. In addition, the tool produces both AT_DROPOUT and GC_DROPOUT metrics, which indicate the percentage of misaligned reads that correlate with low (%-GC is < 50%) or high (%-GC is > 50%) GC content respectively.
The percentage of 'coverage' or depth in a GC bin is calculated by dividing the number of reads of a particular GC content by the mean number of reads of all GC bins. A number of 1 represents mean coverage, a number less than 1 represents lower than mean coverage (e.g. 0.5 means half as much coverage as average) while a number greater than 1 represents higher than mean coverage (e.g. 3.1 means this GC bin has 3.1 times more reads per window than average). This tool also tracks mean base-quality scores of the reads within each GC content bin, enabling the user to determine how base quality scores vary with GC content.
The chart output associated with this data table plots the NORMALIZED_COVERAGE, the distribution of WINDOWs corresponding to GC percentages, and base qualities corresponding to each %GC bin.
Note: Metrics labeled as percentages are actually expressed as fractions!
java -jar picard.jar CollectGcBiasMetrics \Please see the GcBiasMetrics documentation for further explanations of each metric.
Category Diagnostics and Quality Control
OverviewTool to collect information about GC bias in the reads in a given BAM file. Computes the number of windows (of size specified by SCAN_WINDOW_SIZE) in the genome at each GC% and counts the number of read starts in each GC bin. What is output and plotted is the "normalized coverage" in each bin - i.e. the number of reads per window normalized to the average number of reads per window across the whole genome.
CollectGcBiasMetrics (Picard) specific arguments
This table summarizes the command-line arguments that are specific to this tool. For more details on each argument, see the list further down below the table or click on an argument name to jump directly to that entry in the list.
|Argument name(s)||Default value||Summary|
|The PDF file to render the chart to.|
|Input SAM/BAM/CRAM file.|
|The file to write the output to.|
|The text file to write summary metrics to.|
|Optional Tool Arguments|
||false||Use to get additional results without duplicates. This option allows to gain two plots per level at the same time: one is the usual one and the other excludes duplicates.|
||read one or more arguments files and add them to the command line|
|true||If true (default), then the sort order in the header file will be ignored.|
|false||display the help message|
|false||Whether the SAM or BAM file consists of bisulfite sequenced reads.|
|[ALL_READS]||The level(s) at which to accumulate metrics.|
|1.0E-5||For summary metrics, exclude GC windows that include less than this fraction of the genome.|
|100||The size of the scanning windows on the reference genome that are used to bin reads.|
||0||Stop after processing N reads, mainly for debugging.|
||false||display the version number for this tool|
|Optional Common Arguments|
||5||Compression level for all compressed files created (e.g. BAM and VCF).|
||false||Whether to create an index when writing VCF or coordinate sorted BAM output.|
||false||Whether to create an MD5 digest for any BAM or FASTQ files created.|
||client_secrets.json||Google Genomics API client_secrets.json file path.|
||500000||When writing files that need to be sorted, this will specify the number of records stored in RAM before spilling to disk. Increasing this number reduces the number of file handles needed to sort the file, and increases the amount of RAM needed.|
||false||Whether to suppress job-summary info on System.err.|
|Reference sequence file.|
||One or more directories with space available to be used by this program for temporary storage of working files|
|false||Use the JDK Deflater instead of the Intel Deflater for writing compressed output|
|false||Use the JDK Inflater instead of the Intel Inflater for reading compressed input|
||STRICT||Validation stringency for all SAM files read by this program. Setting stringency to SILENT can improve performance when processing a BAM file in which variable-length data (read, qualities, tags) do not otherwise need to be decoded.|
||INFO||Control verbosity of logging.|
||false||display hidden arguments|
Arguments in this list are specific to this tool. Keep in mind that other arguments are available that are shared with other tools (e.g. command-line GATK arguments); see Inherited arguments above.
--ALSO_IGNORE_DUPLICATES / -ALSO_IGNORE_DUPLICATES
Use to get additional results without duplicates. This option allows to gain two plots per level at the same time: one is the usual one and the other excludes duplicates.
read one or more arguments files and add them to the command line
--ASSUME_SORTED / -AS
If true (default), then the sort order in the header file will be ignored.
--CHART_OUTPUT / -CHART
The PDF file to render the chart to.
R File null
Compression level for all compressed files created (e.g. BAM and VCF).
int 5 [ [ -∞ ∞ ] ]
Whether to create an index when writing VCF or coordinate sorted BAM output.
Whether to create an MD5 digest for any BAM or FASTQ files created.
Google Genomics API client_secrets.json file path.
--help / -h
display the help message
--INPUT / -I
Input SAM/BAM/CRAM file.
R File null
--IS_BISULFITE_SEQUENCED / -BS
Whether the SAM or BAM file consists of bisulfite sequenced reads.
When writing files that need to be sorted, this will specify the number of records stored in RAM before spilling to disk. Increasing this number reduces the number of file handles needed to sort the file, and increases the amount of RAM needed.
Integer 500000 [ [ -∞ ∞ ] ]
--METRIC_ACCUMULATION_LEVEL / -LEVEL
The level(s) at which to accumulate metrics.
The --METRIC_ACCUMULATION_LEVEL argument is an enumerated type (Set[MetricAccumulationLevel]), which can have one of the following values:
--MINIMUM_GENOME_FRACTION / -MGF
For summary metrics, exclude GC windows that include less than this fraction of the genome.
double 1.0E-5 [ [ -∞ ∞ ] ]
--OUTPUT / -O
The file to write the output to.
R File null
Whether to suppress job-summary info on System.err.
--REFERENCE_SEQUENCE / -R
Reference sequence file.
--SCAN_WINDOW_SIZE / -WINDOW_SIZE
The size of the scanning windows on the reference genome that are used to bin reads.
int 100 [ [ -∞ ∞ ] ]
--showHidden / -showHidden
display hidden arguments
Stop after processing N reads, mainly for debugging.
long 0 [ [ -∞ ∞ ] ]
--SUMMARY_OUTPUT / -S
The text file to write summary metrics to.
R File null
One or more directories with space available to be used by this program for temporary storage of working files
--USE_JDK_DEFLATER / -use_jdk_deflater
Use the JDK Deflater instead of the Intel Deflater for writing compressed output
--USE_JDK_INFLATER / -use_jdk_inflater
Use the JDK Inflater instead of the Intel Inflater for reading compressed input
Validation stringency for all SAM files read by this program. Setting stringency to SILENT can improve performance when processing a BAM file in which variable-length data (read, qualities, tags) do not otherwise need to be decoded.
The --VALIDATION_STRINGENCY argument is an enumerated type (ValidationStringency), which can have one of the following values:
Control verbosity of logging.
The --VERBOSITY argument is an enumerated type (LogLevel), which can have one of the following values:
display the version number for this tool
GATK version 18.104.22.168-SNAPSHOT built at Wed, 13 Apr 2022 13:12:10 -0700.