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",h); printf("\n"); for (gid in ngid){ ng=ngid[gid]; if (ng>1){ gok=0; 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 (gok>0){ if (gok==1){ gok2=0; for (i=1;i<=ng;i++){ if (i!=Lgok){ id=tgrp[gid,i]; if (1.0*Aqval[id]<=0.05){gok2=1;} } } } else{ gok2=1; } if (gok2==1){nok++;sok+=gok; id=tgrp[gid,Lgok]; printf("%d %s",gok,all[id]); printf("\n"); } } } } print "ngenes ok " nok" avg#okIsoforms "(1.0*sok)/nok >>"/dev/stderr"; }