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.
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. 
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.
Number of input/output compression threads to use in addition to main thread .
samtools calmd -bAr aln.bam > aln.baq.bamIt adds and corrects the NM and MD tags at the same time. The calmd command also comes with the -C option, the same as the one in mpileup. Apply if it helps.
Written by Heng Li from the Sanger Institute.
Samtools website: <http://www.htslib.org/>
Copyright © 2023 Genome Research Limited (reg no. 2742969) is a charity registered in England with number 1021457. Terms and conditions.