import pysam
import re
import numpy as np
samfile = pysam.AlignmentFile("/media/wentao/d3294dee-a7f0-442b-a55c-1399de1c7729/PB000352/test.sam", "rb")
for read in samfile.fetch(until_eof = True):
try:
mmtag = read.get_tag("MZ")
if(re.search('C\+m,\d+', mmtag)):
#mltag = mltag.rstrip(';')
#mltag = mltag.split(',')[1:]
mmtag = mmtag.rstrip(';')
mmtag = mmtag.split(',')[1:]
#print(mltag)
mmtag = np.array([int(x)+1 for x in mmtag])
mmtagpos = mmtag.cumsum()-1
mltag = [(int(i)+1)/256 for i in read.get_tag("ML")]
#print(mmtagpos-1)
#print(mmtagpos)
seq = read.get_forward_sequence()
cindex = re.finditer(pattern='C', string=seq)
indices = np.array([index.start()+1 for index in cindex])
relpos = indices[mmtagpos]
#print(len(relpos))
for i in range(0,len(relpos)):
print(read.query_name,relpos[i], mltag[i], sep=",")
except:
print('not find')
#rint(dir(read))