function i2reg(i){ x="other"; if (i==1){x="3utr";} if (i==2){x="5utr";} if (i==3){x="cds";} return x; } BEGIN{FS=OFS="\t"; f[1]=f3;f[2]=f5;f[3]=fc; for (i=1;i<4;i++){ # print i" "getline>"/dev/stderr"; while (getlinem){ m2=m;mi2=mi;m=x;mi=i;# print "A m"m" m2"m2; } else{ if (x>m2){m2=x;mi2=i;# print "B m2"m2; } } } oc1[a[5]]=mi; oc1c[a[5]]=m; oc2[a[5]]=mi2; oc2c[a[5]]=m2; if (m==m2){ #print "other "m" "mi" "m2" "mi2" "a[5] >>"/dev/stderr"; print a[1],a[2],a[3],cl[k,mi],cls[k,mi],a[4],a[5],"reg 4 mi "mi,"m "m,"mi2 "mi2,"m2 "m2 oco1[mi]++; oco2[mi2]++; mi=4; } else{ print a[1],a[2],a[3],cl[k,mi],cls[k,mi],a[4],a[5],"reg "mi" mi "mi,"m "m,"mi2 "mi2,"m2 "m2 } # split(k,a,SUBSEP); oc[mi]++; } for (i in oc){ # split (i,a,SUBSEP) if (i==4){ print oc[i]" "i2reg(i)" 1st max: "i2reg(1)" "oco1[1]" "i2reg(2)" "oco1[2]" "i2reg(3)" "0+oco1[3]" 2nd max: "i2reg(1)" "0+oco2[1]" "i2reg(2)" "0+oco2[2]" "i2reg(3)" "0+oco2[3] >>"/dev/stderr"; }else{ print oc[i]" "i2reg(i) >>"/dev/stderr"; } } exit 0; }{ }