Chart the nucleotide distribution per cycle in a SAM or BAM fileThis tool produces a chart of the nucleotide distribution per cycle in a SAM or BAM file in order to enable assessment of systematic errors at specific positions in the reads.
Interpretation notes
Increased numbers of miscalled bases will be reflected in base distribution changes and increases in the number of Ns. In general, we expect that for any given cycle, or position within reads, the relative proportions of A, T, C and G should reflect the AT:GC content of the organism's genome. Thus, for all four nucleotides, flattish lines would be expected. Deviations from this expectation, for example a spike of A at a particular cycle (position within reads), would suggest a systematic sequencing error.Note on quality trimming
In the past, many sequencing data processing workflows included discarding the low-quality tails of reads by applying hard-clipping at some arbitrary base quality threshold value. This is no longer useful because most sophisticated analysis tools (such as the GATK variant discovery tools) are quality-aware, meaning that they are able to take base quality into account when weighing evidence provided by sequencing reads. Unnecessary clipping may interfere with other quality control evaluations and may lower the quality of analysis results. For example, trimming reduces the effectiveness of the Base Recalibration (BQSR) pre-processing step of the GATK Best Practices for Variant Discovery, which aims to correct some types of systematic biases that affect the accuracy of base quality scores.Note: Metrics labeled as percentages are actually expressed as fractions!
Usage example:
java -jar picard.jar CollectBaseDistributionByCycle \
CHART=collect_base_dist_by_cycle.pdf \
I=input.bam \
O=output.txt
Category Diagnostics and Quality Control
Overview
CollectBaseDistributionByCycle (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 | |
---|---|---|---|
Required Arguments | |||
--CHART_OUTPUT -CHART |
A file (with .pdf extension) to write the chart to. | ||
--INPUT -I |
Input SAM or BAM file. | ||
--OUTPUT -O |
The file to write the output to. | ||
Optional Tool Arguments | |||
--ALIGNED_READS_ONLY |
false | If set to true, calculate the base distribution over aligned reads only. | |
--arguments_file |
read one or more arguments files and add them to the command line | ||
--ASSUME_SORTED -AS |
true | If true (default), then the sort order in the header file will be ignored. | |
--help -h |
false | display the help message | |
--PF_READS_ONLY |
false | If set to true, calculate the base distribution over PF reads only (Illumina specific). PF reads are reads that passed the internal quality filters applied by Illumina sequencers. | |
--STOP_AFTER |
0 | Stop after processing N reads, mainly for debugging. | |
--version |
false | display the version number for this tool | |
Optional Common Arguments | |||
--COMPRESSION_LEVEL |
5 | Compression level for all compressed files created (e.g. BAM and VCF). | |
--CREATE_INDEX |
false | Whether to create an index when writing VCF or coordinate sorted BAM output. | |
--CREATE_MD5_FILE |
false | Whether to create an MD5 digest for any BAM or FASTQ files created. | |
--GA4GH_CLIENT_SECRETS |
client_secrets.json | Google Genomics API client_secrets.json file path. | |
--MAX_RECORDS_IN_RAM |
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. | |
--QUIET |
false | Whether to suppress job-summary info on System.err. | |
--REFERENCE_SEQUENCE -R |
Reference sequence file. | ||
--TMP_DIR |
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 |
false | Use the JDK Deflater instead of the Intel Deflater for writing compressed output | |
--USE_JDK_INFLATER -use_jdk_inflater |
false | Use the JDK Inflater instead of the Intel Inflater for reading compressed input | |
--VALIDATION_STRINGENCY |
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. | |
--VERBOSITY |
INFO | Control verbosity of logging. | |
Advanced Arguments | |||
--showHidden |
false | display hidden arguments |
Argument details
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.
--ALIGNED_READS_ONLY
If set to true, calculate the base distribution over aligned reads only.
boolean false
--arguments_file
read one or more arguments files and add them to the command line
List[File] []
--ASSUME_SORTED / -AS
If true (default), then the sort order in the header file will be ignored.
boolean true
--CHART_OUTPUT / -CHART
A file (with .pdf extension) to write the chart to.
R File null
--COMPRESSION_LEVEL
Compression level for all compressed files created (e.g. BAM and VCF).
int 5 [ [ -∞ ∞ ] ]
--CREATE_INDEX
Whether to create an index when writing VCF or coordinate sorted BAM output.
Boolean false
--CREATE_MD5_FILE
Whether to create an MD5 digest for any BAM or FASTQ files created.
boolean false
--GA4GH_CLIENT_SECRETS
Google Genomics API client_secrets.json file path.
String client_secrets.json
--help / -h
display the help message
boolean false
--INPUT / -I
Input SAM or BAM file.
R File null
--MAX_RECORDS_IN_RAM
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 [ [ -∞ ∞ ] ]
--OUTPUT / -O
The file to write the output to.
R File null
--PF_READS_ONLY
If set to true, calculate the base distribution over PF reads only (Illumina specific). PF reads are reads that passed the internal quality filters applied by Illumina sequencers.
boolean false
--QUIET
Whether to suppress job-summary info on System.err.
Boolean false
--REFERENCE_SEQUENCE / -R
Reference sequence file.
File null
--showHidden / -showHidden
display hidden arguments
boolean false
--STOP_AFTER
Stop after processing N reads, mainly for debugging.
long 0 [ [ -∞ ∞ ] ]
--TMP_DIR
One or more directories with space available to be used by this program for temporary storage of working files
List[File] []
--USE_JDK_DEFLATER / -use_jdk_deflater
Use the JDK Deflater instead of the Intel Deflater for writing compressed output
Boolean false
--USE_JDK_INFLATER / -use_jdk_inflater
Use the JDK Inflater instead of the Intel Inflater for reading compressed input
Boolean false
--VALIDATION_STRINGENCY
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:
- STRICT
- LENIENT
- SILENT
ValidationStringency STRICT
--VERBOSITY
Control verbosity of logging.
The --VERBOSITY argument is an enumerated type (LogLevel), which can have one of the following values:
- ERROR
- WARNING
- INFO
- DEBUG
LogLevel INFO
--version
display the version number for this tool
boolean false
GATK version 4.2.4.0-SNAPSHOT built at Thu, 16 Dec 2021 11:57:48 -0800.
0 comments
Please sign in to leave a comment.