Failed to parse MD tag: 146A138. Reference should match record within deletion
Thanks for a great library for interacting with bam files in rust!
I have run into a rare issue getting alignment entries from a bam file (occurs in exceedingly small number of reads). The reads were aligned using pbmm2 (pacbio's minimap2 wrapper) and then processed using GATK SplitNCigar and a custom R script that makes isoseq data more "variant caller" friendly (as detailed here: https://github.com/vladimirsouza/lrRNAseqVariantCalling). Then run with `samtools calmd -b -@ 20 in.bam $hg38 > in.mdtag.bam'
The error message I receive when accessing the alignment entry for a given position is listed in the title but is expanded upon here:
thread 'main' panicked at 'Record m64272e_230122_062448/100729383/ccs/9569_11265: Failed to parse MD tag: 146A138. Reference should match record within deletion
The read itself is printed below:
m64272e_230122_062448/100729383/ccs/9569_11265 16 chr14 31059217 60 1409S65446N146=2I1X138= * 0 65738 CCTCACCCTGCCAAAGCACAAGGGGATTTTTCTCTAATATTCACTGTGAGGACCTGGGAGAACTGCAGAAGGTAAAACTCACAAAAATGTGAGGGCCCCTAATGACCGGGTCCCCCTGGAATTTTTTTCTCAGACTTGTCCACATTGAACCTCCGAAAATTCTTTAATTACAGTTTAGGTTTCCCTACCCCAAAACTGGTCCCTGTGAAGGTTTCAGCTCATGAGTTTCTGCTTTTGTAAGTTGGGATTCTCTGTATTTGCTTGCAATCTCTCCAGTTTTTGAGTCAGTAGCTTCCCCTGTGACCGTACTTCTCTTACTGATCTAAGAGAAGTTGTTGCTTTTTAGTTTCTTCAACTTTTCACTTGTTAGGCCAGAGTGGCAACTTCAAGCTTTGTCCATACTTGACCAAAACCCAAAAGTCCTCTTTCCCAACATTTTAATTATTGCCTCATGTTCAAAATTTCATGTAGACTTTTTTACTGATAAAGTATATATTGCTTGATCATTTCAATTTGCCCTTTTGCCAAACACGTACAGAGACACTGTTCTGTTTCTGCTGATTACTACCAGATTACTGATTTCTCATTGTTCCCATTTTAGGTCCAAGCTGCTTAAAAAGCCCTACCTAGATCATTTCTGACTTTTGCTGTAATGCATTTCATTGCTGCCTTGACTTACAAAATGTTATCTCAGAGTCTAGTTGACAAGAAGTACAAGTTTCACTTTGATAACTCTACCAATCTGAAGGAAAGCCTTTCCACTGACTCAACACCATTGCTTGCAGGTTTTCTATGGCTTATAACAAATGACAGCACATTTGCTGTCAGGCAGAAAACTAGCCATTCTAGTAGTGTCAGTAGGTACAAAGAGGGAAAGTACTTTTTCTATAGAAAAAATCATTGTAAGAAACTTTTTTTTTTCCAGGAACATGTACAAAAGCATATTTACTTATGTGGATTTTGTGTGTTTAACAAAAGAATTGAACTTTCATTTATTTTTAGTAAGTAAATAAAAATCGAAAACTGTCTACCTGTTTCATATTATTCATAACAGAAGTCAAGATAAGAAGAGATTAAGAGATAAATGAGAAATAAAAAGAATAGAAATGAGAAAAGAAAGATATACCAAGATATTAAAGGAGAGAAAGAAACTCGCATCTAGAGAGAGGCTAAAGCCATCTCATCAGGTGATGCAGGGTGTATCCTGCCCAGGGCCCCTGGCAAGTAGGGACTGGAAATAAGCTTTTGGTTGGTTTGCTCACTAATTTCCTGCATCTTGCATGCCCATGGAATTGACATCTTAAAAATTTGTACAAAGATACCTATGAATTTTCAGAAGTTTAGAGAAAGGCACTAGAGAGACTAGAGAAGGAAAATTAAAAAGCAAAGCATATACAAGAGCCTGGGGGGGGTACTATGTTCACCATTTGAGTGATAAGATCAATAGAAGTCCAAATCTCAGCATCACACAATATACCCCTGTGACAAACCTGCACATATATCCCCTGAATCTAAAATAAAAATTATATTAATTTTTTTCATCATCTAACAATAATTTTTTTTTTTTTTTTTTTGAGATGGAGTCTCGCTCTGTCACCCAGGCTGGAGTGCAATGGCACAATCTTGGCTCACTGTAACCTACACCTCCCGGGTTAAAGAGATTCTCCTGCCTCAGCCTCCTGAGAAGCTGGGACTA ~o~~~~|R~~~e~~N~~~~~D|~~Vz~~~~6~~~~~w~~~~~~~~{z~y~k~~o~~~L~~~~~~~~~~~~~mwr~~?s~~~oi~~~%fz~|~~~Dau~?~~w~~~~q~~U~~~~~+~~o~`o~~~~~3~~~~n~h~h}~~t~~~~~w~F~h~~q~~~~f~t~~~V~w~~~~~~~~j~~<~~`~~]~~~~~H~~~H~~~q~~~V~~~~~z~_~~^~~~~~~~~~~~~~e~~~~~~~W]~~~~~n~~A~~rz~m~~~~~~j~~~~~p~}~~~~~~p~{~~~~?p~~~~~~~~~~~x~~~J~~~~~~Lb~~~~\~~~~Y~s~~m~~~~o~~~~~~~}\{o~p~~~~V~8f~at~K~~~~~~~R~~~~x~~Z~~q~P~X~u~~O~~w~~~~~~~~~~i~~~t~~~~~~~~~q~~~q~~b~~~Ux~~q~~~~8~~1~^x~~~~^~`~~~~~~~]~r~~~~~~~~~O~~]~~~~~s~~i~~~~~O~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ux~|~~l~~~e~~~G~~%x~)w~~~~~~~~~T~~}a~~~|~~|}~7~~~v~~~~y~~~~~h~~~~w~g~~~~~]q~nb~Ek~g~~Wz~~~d~~W~~j~p~|~~~~x~~~~TV~~S~~~a~~~~~~~~~b~~~~x~~~_{~~~~~joR~~~~T~w~m~~~c~F~CV~~~z~~~~~`~~~w~n~~~~~~~~~~~~~~~~~~~~~x~~~w~|t~~J~~~~~e7~~~p~~~o~~\a8~~~~~y~o~~pu~a~~P~q~~~~~~~y~e~~~f~~~~~~~]~~~l~~~\~~~~~hv~~~~~l~~~r~~~|~u~~~~~~v~~~~~~~~q~~~|~~?{~~~~U~~~ptj~~}~~~~t~~~~~t~~w~~bc~~~c~~}si~~}ai~-~~~~~U~~~~~C~~z~ae~~]~~~S~}~~~~~}~~'oR~~l~R~~~~~~~~~~g~~~~~~uZ~~~~~~~~~U~~~~V{~t~~~~n~or~~~]~~~~y~~xn~~F~w~~q~~~~~X~~~~~~~~~e~~~~~Z~~~~~~4~~u~~~~~p~~~~u~~~~~~~~l~~~~~~~~~~r~~~~~~~~~~~~~~~s~`~~~~~~~~~X~~~~~~Hy~~~~Ku~n~~~~~X~~~~~~~\~~~~~~~~~~~|~~~~~~~~~~g~h~b~e~~]e~~Xt~~~~~~~~~~~j~~~~r~~~~|~~~~~~{~~~~~~o{~~~~}~~~`~~~~~~}~~~~8~~~V~~~8~~K~~~~~v~~U~~~~g~~{~~~~~~~~p~l~|~v~~Xg~~~~~~~~~~e~k~~~~~~~~~~~~~~~i~~~w~~~p~~q~v~~~~~~~A~~uk~~~~~q~~~~~w~~~~~~~~~`~~t~|~~~e~~~~~~~~Ae~~~~~k~~~~~~~{~v~~~q~~~_~~~~~~\~{~~r~~~~~~~~~~~~~~|u~~~~~~~(~~~~~~~~~~~~p~~~{~~{~{~~~~~~~~~}~~~~~~~~`~~s~~~~~~~~~~~~~~~~~~~~~~~X~~~~~~~~`~u~~~~~~~~~~~~~~N~~~~~~~~~~9~~~~~a~p}~y~e~ix~~~~~0~~~~~~~~~~~~~~~/){~~~~~~~~~~~~~~~~*~~~~~~f~~~~~r~~~~~~~~e~~g~~v~~~r~s~~~~~~~k~~}~e~~~~~`~~~~~~~~~`~f~~~~~|~~~_~~g~~~~xx~r~~~{~~W~k~|~~~~~h~~Y~~~~~qu~~~~j~~~~ SA:Z:chr2,186211890,-,1409=287S,60,0; XA:Z:CB-XM CB:Z:AAAAACGGGTCGGCTTGG XC:Z:AAACGGGTCGGCTTGG XM:Z:CGGATCCCTG CR:Z:AAACGGGTCGGCTTGG ma:i:0 nb:i:0 ac:B:i,12,0,10,0 bc:B:S,0,1 ec:f:10.692 rc:i:1 qe:i:11265 we:i:6729532 mg:f:99.3007 di:i:9 dl:i:9 zm:i:100729383 sn:B:f,11.2186,16.3536,4.25498,7.50934 gp:i:1 np:i:10 bq:i:100 rq:f:0.999065 dr:i:10 ds:B:C,130,164,108,101,102,116,145,133,165,108,97,98,101,108,161,57,162,113,101,205,37,48,162,113,115,205,37,32,164,113,117,97,108,176,109,126,126,126,126,126,126,126,126,112,102,126,103,126,115,126,163,115,101,113,176,65,65,84,84,71,67,71,84,65,71,84,84,71,71,67,67,165,114,105,103,104,116,145,133,165,108,97,98,101,108,162,49,48,162,113,101,205,44,71,162,113,115,205,44,55,164,113,117,97,108,176,126,87,111,104,114,126,112,126,126,126,126,126,120,126,126,123,163,115,101,113,176,65,67,65,67,84,84,71,71,84,67,71,67,65,65,84,67 ls:B:C,134,162,98,99,164,48,45,45,49,162,98,113,100,164,108,101,97,100,130,162,113,108,183,126,119,126,126,126,126,126,109,126,126,126,117,126,126,126,126,118,126,126,126,126,111,124,162,115,113,183,84,67,84,65,67,65,67,71,65,67,71,67,84,67,84,84,67,67,71,65,84,67,84,166,110,101,115,116,101,100,192,164,112,53,109,99,0,165,116,114,97,105,108,130,162,113,108,185,101,122,126,126,126,126,126,106,126,126,106,126,120,126,126,126,113,126,126,126,126,121,126,126,126,162,115,113,185,71,84,65,67,84,67,84,71,67,71,84,84,71,65,84,65,67,67,65,67,84,71,67,84,84 qs:i:9569 ws:i:0 bx:B:i,23,25 cx:i:12 RG:Z:5b09fd46/0--1 NM:i:3 MD:Z:146A138
I see the above warning in the documentation. Any easy way to check the MD tag with the alignment to avoid panic?
