BEGIN{FS=OFS="\t"; #http://bowtie-bio.sourceforge.net/manual.shtml#default-bowtie-output q="IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"; }{ if (substr($1,1,1)!="@"){ fl=$2;refid=$3;refst=$4;eddist=0; readseq=$10; st="+"; if (fl>0){st="-"}; l=length(readseq); 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++){ ed2="";ntc=0; if (eddist>0){ # print "MM:"eddist,ed 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;}#x matches and current char mutb=substr(readseq,pos,1); bpos=pos-1;if(st=="-"){bpos=l-pos;} ntc++;tcp[ntc]=bpos;tcp1[ntc]=toupper(c);tcp2[ntc]=toupper(mutb); # print c"to"mutb" pos"bpos; # 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++){} } } printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t", $1,st,$3,$4-1,readseq,substr(q,1,l),0) for (i=1;i<=ntc;i++){ if (st=="+"){printf("%d:%s>%s",tcp[i],tcp1[i],tcp2[i]);} if (st=="-"){printf("%d:%s>%s",tcp[ntc-i+1],tcp1[ntc-i+1],tcp2[ntc-i+1]);} if (i