BEGIN { FS="\t"; OFS="\t" } NR == 1 { next } $7 == "Li" && $9 == "M" && ($10 == "BPA10mg" || $10 == "BPA10ug") { key = $10 "\t" $8 total[key]++ if ($6 == "TRUE") dar[key]++ if ($12 != ".") { methodA[key]++ geneA[key "_" $12]++ } if ($13 != ".") { methodB[key]++ geneB[key "_" $13]++ } } END { print "Exposure\tAge\tTotal_rows\tDAR_rows\tMethodA_rows\tMethodB_rows\tA_Esr1\tA_Dapk2\tA_Nod1\tB_Esr1\tB_Dapk2\tB_Nod1" n = asorti(total, sorted_keys) for (i = 1; i <= n; i++) { k = sorted_keys[i] d = (k in dar) ? dar[k] : 0 a = (k in methodA) ? methodA[k] : 0 b = (k in methodB) ? methodB[k] : 0 aE = (k"_Esr1" in geneA) ? geneA[k"_Esr1"] : 0 aD = (k"_Dapk2" in geneA) ? geneA[k"_Dapk2"] : 0 aN = (k"_Nod1" in geneA) ? geneA[k"_Nod1"] : 0 bE = (k"_Esr1" in geneB) ? geneB[k"_Esr1"] : 0 bD = (k"_Dapk2" in geneB) ? geneB[k"_Dapk2"] : 0 bN = (k"_Nod1" in geneB) ? geneB[k"_Nod1"] : 0 print k, total[k], d, a, b, aE, aD, aN, bE, bD, bN } }