Manual page from samtools-1.15
released on 21 February 2022


samtools calmd – calculates MD and NM tags


samtools calmd [-Eeubr] [-C capQcoef] aln.bam ref.fasta


Generate the MD tag. If the MD tag is already present, this command will give a warning if the MD tag generated is different from the existing tag. Output SAM by default.

Calmd can also read and write CRAM files although in most cases it is pointless as CRAM recalculates MD and NM tags on the fly. The one exception to this case is where both input and output CRAM files have been / are being created with the no_ref option.

Note that some aligners do not include sequence or confidence values in secondary and supplementary alignment records. Where this happens in SAM files, a “*” character will be seen in the SEQ and QUAL columns. These records will be skipped, as it is not possible to recalculate the MD and NM tags without access to the query sequence. samtools calmd will emit a warning if any records have been skipped for this reason.



When used jointly with -r this option overwrites the original base quality.


Convert a the read base to = if it is identical to the aligned reference base. Indel caller does not support the = bases at the moment.


Output uncompressed BAM


Output compressed BAM


Coefficient to cap mapping quality of poorly mapped reads. See the mpileup command for details. [0]


Compute the BQ tag (without -A) or cap base quality by BAQ (with -A).


Extended BAQ calculation. This option trades specificity for sensitivity, though the effect is minor.


Do not add a @PG line to the header of the output file.

-@, --threads INT

Number of input/output compression threads to use in addition to main thread [0].



Written by Heng Li from the Sanger Institute.


samtools (1), samtools-mpileup (1)

Samtools website: <>