#!/usr/bin/python
# Median-normalize all FPKMs per gene (using median time-point as anchor)
# Greg Donahue, 08-28-2015

import sys, math, string

fpkm_file = "posAUCs.Filtered_Median.txt"

def main(args):
    f = open(fpkm_file); lines = f.readlines(); f.close()
    print lines[0][:-2]
    values = list()
    for line in lines[1:]:
        t = line[:-2].split("\t")
        for V in [ float(x) for x in t[1:] ]:
            if V > 0: values.append(V)
    addend = min(values)
    for line in lines[1:]:
        t = line[:-2].split("\t")
        values = [ float(x) for x in t[1:] ]
        values = sorted(values)
        median = values[3]
        values = [ math.log((V+addend)/(median+addend), 2) for V in [ float(x) for x in t[1:] ] ]
        print t[0]+"\t"+string.join([ str(x) for x in values ], "\t")

if __name__ == "__main__": main(sys.argv)
