BEGIN{FS=OFS="\t";}{ if (substr($1,1,1)=="@"){print $0} else { fl=$2;refid=$3;refst=$4;rseq=$10;eddist=0; for (i=12;i<=NF;i++){ if (substr($i,1,2)=="NM"){ n=split($i,a,":");eddist=a[n]; } if (substr($i,1,2)=="MD"){ n=split($i,a,":");ed=a[n]; } } # for (i=1;i<=eddist;i++){ if (eddist>0){ # print eddist,md,$0; pos=0;x=0;p=length(ed);ntc=0;nntc=0; for (i=1;i<=p;i++){ c=substr(ed,i,1); if (0+c==c){r=1; x=x*10+c;#print i" "c" "x"n"; }else{ if(r==1) {pos+=x+1;} mutb=substr(rseq,pos,1); rocc[c]++;c=toupper(c); # print c"to"mutb" pos"pos; if ((c=="T")&&(mutb=="C")){ntc++;tcp[ntc]=refst+pos-1; # print c"to"mutb" pos"pos; }else{ nntc++; } r=0;x=0; } } ntntc+=nntc; if (ntc>0){ nttc+=ntc; print $0; # printf("%s", refid) # for (i=1;i<=ntc;i++){} } } } }END{ print "Ntc "nttc" Nnontc "ntntc" "100.0*nttc/(nttc+ntntc)>"/dev/stderr"; for (i in rocc){print i" "rocc[i]>>"/dev/stderr";} }