function parse_frag(p){ ei=substr(p,1,18); t=substr(p,24,1); if (t=="-"){sp=25}else{sp=26} ch=substr(p,20,sp-21); str=substr(p,sp,1);n=split(substr(p,sp+2),aa,"-"); st=aa[1];en=aa[2]; } BEGIN{ f="/data/results/reference/mmu/Mus_musculus.NCBIM37.64-toMM9.transcript-gene_name.txt"; while (getline "); k=a[n]; parse_frag(k); rl=en-st;# print k,ei,ch,st,en,rl; nok=0; for (i=1;i<=n;i++){ti=substr(a[i],1,18); if (giok[ti]!=1) {print "ERR: unk ti "ti" in "$0>>"/dev/stderr";}} for (i=1;i>"/dev/stderr"; # exit 0; }{ k=$1; n=nm[k];nc++; print $0 if (n>0){ na+=n; for (i=1;i<=n;i++){ ti2=m[k,i];ti=substr(ti2,1,18); printf("%s",ti2); for (j=2;j<6;j++){printf("\t%s",$j);} printf("\t%s\t%s\t%s\n",gi[ti],$7,$8); if (gi[ti]!=$6){nmi++; # print ti" "gi[ti]>>"/dev/stderr"; } } } }END{ print nc, na, 100.0*na/nc,nmi >>"/dev/stderr"}