view igblastmerge.py @ 9:0549ce7e05b7 draft

Uploaded
author davidvanzessen
date Thu, 23 Jan 2014 04:22:20 -0500
parents 8ba0fd5b03a1
children
line wrap: on
line source

import sys
# error
def stop_err( msg ):
	sys.stderr.write( "%s\n" % msg )
	sys.exit()

# main
def main():
    args = sys.argv[1:-2]
    
    try:
        o = open(sys.argv[-1], 'w')
        i = open(args[1], 'r')
        separator = "\t"
        newline = "\n"
        line = i.readline()
        #write the header
        o.write(line[:line.rfind(newline)] + separator + "Sample" + separator + "Replicate" + newline)
        i.close()

        current = 1
        sampleID = args[0]
        count = 1

        while True:
            f = open(args[current], 'r')
            line = f.readline()
            line = f.readline()
            while line:
                o.write(line[:line.rfind(newline)] + separator + sampleID + separator + str(count) + newline)
                line = f.readline()
            f.close()

            if current >= (len(args) - 1):
                break
            if args[current + 1].find("/") is -1:
                sampleID = args[current + 1]
                current += 1
                count = 1
            else:
                count += 1
            current += 1
        o.close()

    except Exception, ex:
        stop_err('Error running new_column.py\n' + str(ex))
    sys.exit(0)

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