Compare two input ".sam" or ".bam" files. This tool initially compares the headers of SAM or BAM files. If the file headers are comparable, the tool can perform either strict comparisons for which each alignment and the header must be identical, or a more lenient check of "equivalence", where reads with mapping quality < LOW_MQ_THRESHOLD are allowed to have different alignments, duplicate marks are allowed to differ to account for ambiguities in selecting the representative read of a duplicate set, and some differences in headers is allowed. By default, alignment comparisons, duplicate marking comparisons, and header comparisons are performed in the strict mode. Results of comparison are summarised in an output metrics file.
Usage example:
CompareSAMs for exact matching:
java -jar picard.jar CompareSAMs \
file_1.bam \
file_2.bam \
O=comparison.tsv
CompareSAMs for "equivalence":
java -jar picard.jar CompareSAMs \file_1.bam \
file_2.bam \
LENIENT_LOW_MQ_ALIGNMENT=true \
LENIENT_DUP=true \
O=comparison.tsv
CompareSAMs for "equivalence", allow certain differences in header:
java -jar picard.jar CompareSAMs \file_1.bam \
file_2.bam \
LENIENT_LOW_MQ_ALIGNMENT=true \
LENIENT_DUP=true \
LENIENT_HEADER=true \
O=comparison.tsv
Category Diagnostics and Quality Control
Overview
Rudimentary SAM comparer. Compares headers, and if headers are compatible enough, compares SAMRecords, looking only at basic alignment info. Summarizes the number of alignments that match, mismatch, are missing, etc.CompareSAMs (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 | |
---|---|---|---|
Positional Arguments | |||
[NA - Positional] |
NA | Exactly two input .sam or .bam files to compare to one another. | |
Optional Tool Arguments | |||
--arguments_file |
[] | read one or more arguments files and add them to the command line | |
--help -h |
false | display the help message | |
--LENIENT_DUP |
false | Perform lenient checking of duplicate marks. In this mode, will reduce the number of mismatches by allowing the choice of the representative read in each duplicate set to differ between the input files, as long as the duplicate sets agree. | |
--LENIENT_HEADER |
false | Perform lenient checking of header. In this mode, species, assembly, ur, m5, fields of sequence records, and pg fields in the header may all differ. Sequence record length must also be the same. | |
--LENIENT_LOW_MQ_ALIGNMENT |
false | Count reads which have mapping quality below LOW_MQ_THRESHOLD in both files but are mapped to different locations as matches. By default we count such reads as mismatching. | |
--LENIENT_UNKNOWN_MQ_ALIGNMENT |
false | Count reads for which no mapping quality is available (mapping quality value 255) in both files but are mapped to different locations as matches. By default we count such reads as mismatching. | |
--LOW_MQ_THRESHOLD |
3 | When running in LENIENT_LOW_MQ_ALIGNMENT mode, reads which have mapping quality below this value will be counted as matches. if LENIENT_LOW_MQ_ALIGNMENT is false (default), then this argument has no effect. | |
--OUTPUT -O |
null | Output file to write comparison results to. | |
--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 a BAM index when writing a coordinate-sorted BAM file. | |
--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 |
null | 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.
[NA - Positional] / NA
Exactly two input .sam or .bam files to compare to one another.
Exactly two input .sam or .bam files to compare to one another.
R List[File] NA
--arguments_file / NA
read one or more arguments files and add them to the command line
List[File] []
--COMPRESSION_LEVEL / NA
Compression level for all compressed files created (e.g. BAM and VCF).
int 5 [ [ -∞ ∞ ] ]
--CREATE_INDEX / NA
Whether to create a BAM index when writing a coordinate-sorted BAM file.
Boolean false
--CREATE_MD5_FILE / NA
Whether to create an MD5 digest for any BAM or FASTQ files created.
boolean false
--GA4GH_CLIENT_SECRETS / NA
Google Genomics API client_secrets.json file path.
String client_secrets.json
--help / -h
display the help message
boolean false
--LENIENT_DUP / NA
Perform lenient checking of duplicate marks. In this mode, will reduce the number of mismatches by allowing the choice of the representative read in each duplicate set to differ between the input files, as long as the duplicate sets agree.
boolean false
--LENIENT_HEADER / NA
Perform lenient checking of header. In this mode, species, assembly, ur, m5, fields of sequence records, and pg fields in the header may all differ. Sequence record length must also be the same.
boolean false
--LENIENT_LOW_MQ_ALIGNMENT / NA
Count reads which have mapping quality below LOW_MQ_THRESHOLD in both files but are mapped to different locations as matches. By default we count such reads as mismatching.
boolean false
--LENIENT_UNKNOWN_MQ_ALIGNMENT / NA
Count reads for which no mapping quality is available (mapping quality value 255) in both files but are mapped to different locations as matches. By default we count such reads as mismatching.
boolean false
--LOW_MQ_THRESHOLD / NA
When running in LENIENT_LOW_MQ_ALIGNMENT mode, reads which have mapping quality below this value will be counted as matches. if LENIENT_LOW_MQ_ALIGNMENT is false (default), then this argument has no effect.
int 3 [ [ -∞ ∞ ] ]
--MAX_RECORDS_IN_RAM / NA
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
Output file to write comparison results to.
File null
--QUIET / NA
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
--TMP_DIR / NA
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 / NA
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 / NA
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 / NA
display the version number for this tool
boolean false
GATK version 4.1.6.0-SNAPSHOT built at Thu, 2 Apr 2020 14:54:17 -0400.
0 comments
Please sign in to leave a comment.