BEGIN{ getline;h=$0; print h}{ # print $1" A" id=$3;all[id]=$0;ok[id]=1;n++; gid=$2;Aqval[id]=$7; i=++ngid[gid];tgrp[gid,i]=id; if ($1!="NA"){gn[gid]=$1;gnok[gid]=1;} }END{ print "ref transcripts "nr >>"/dev/stderr" printf("%s iso2geneName iso2geneID iso2transcriptID iso2logFC iso2logCPM iso2PValue iso2FDR",h); printf("\n"); for (gid in ngid){ ng=ngid[gid]; if (ng>1){ gok=0;minq=1; for (i=1;i<=ng;i++){ id=tgrp[gid,i]; if (1.0*Aqval[id]<=0.05){ j=++gok;Lgok=i; # print "OK1"gid" "Aqval[id]" "id" "Afc[id]" "Apval[id]; } #one sig DE iso if (1.0*Aqval[id]<=minq){minq=1.0*Aqval[id];Lgok=i;} } if (gok>0){ gok2=0;minq2=1; for (i=1;i<=ng;i++){ if (i!=Lgok){ id=tgrp[gid,i]; if (1.0*Aqval[id]<=0.05){gok2=1;} if (1.0*Aqval[id]<=minq2){minq2=1.0*Aqval[id];Lgok2=i;} } } if (gok2==1){ id=tgrp[gid,Lgok]; # gid2=Agid[id]; # if (gnok[gid2]==1){ # printf("%s",gn[gid2]); # }else{ # printf("%s",Agn[id]); # } # printf(",%s,%s,%s,%s",gid,Aft[id],id,Afc[id],Apval[id],Aqval[id]); printf("%s",all[id]); printf(" %s\n",all[tgrp[gid,Lgok2]]); } } } } }