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.
Calmd works best on position-sorted input files, as with these it can stream through the reference sequence and so doesn't have to store much reference data at any one time. For other orderings, it may have to switch to a caching mode which keeps the reference sequences in memory. This will result in calmd using more memory (up to the full size of the reference) than it would in the position-sorted case. Note also that versions of samtools calmd up to 1.16.1 should only be used on position sorted inputs as they could be very slow when run on other orderings.
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.