3
|
1 #!/usr/bin/env python
|
|
2 """
|
|
3 Author: Timothy Tickle
|
|
4 Description: Convert Env file to table
|
|
5 """
|
|
6
|
|
7 __author__ = "Timothy Tickle"
|
|
8 __copyright__ = "Copyright 2012"
|
|
9 __credits__ = ["Timothy Tickle"]
|
|
10 __license__ = ""
|
|
11 __version__ = ""
|
|
12 __maintainer__ = "Timothy Tickle"
|
|
13 __email__ = "ttickle@sph.harvard.edu"
|
|
14 __status__ = "Development"
|
|
15
|
|
16 import sys
|
|
17 import argparse
|
|
18 import csv
|
|
19
|
|
20
|
|
21 #Set up arguments reader
|
|
22 argp = argparse.ArgumentParser( prog = "scriptEnvToTable.py",
|
|
23 description = """Convert Env file to table""" )
|
|
24
|
|
25 #Arguments
|
|
26 #For table
|
|
27 argp.add_argument("strEnvFile", metavar = "EnvFile", help ="EnvFile data file")
|
|
28 argp.add_argument("strOutputFile", metavar = "OutputFile", help ="Output File")
|
|
29 args = argp.parse_args( )
|
|
30
|
|
31 hndlReader = csv.reader(open(args.strEnvFile,'rU'), delimiter="\t")
|
|
32
|
|
33 lsListOfIDs = []
|
|
34 lsListOfFeatures = []
|
|
35 dictValues = {}
|
|
36 for lsLine in hndlReader:
|
|
37 print(lsLine)
|
|
38 lsListOfIDs.append(lsLine[1])
|
|
39 lsListOfFeatures.append(lsLine[0])
|
|
40 tpleKey = tuple([lsLine[1],lsLine[0]])
|
|
41 if tpleKey in dictValues:
|
|
42 print("Error:: Duplicate key entries found")
|
|
43 exit(1)
|
|
44 dictValues[tpleKey] = lsLine[2]
|
|
45
|
|
46 lsListOfIDs = list(set(lsListOfIDs))
|
|
47 lsListOfFeatures = list(set(lsListOfFeatures))
|
|
48 print(lsListOfIDs)
|
|
49 print(lsListOfFeatures)
|
|
50 hndlWrite = csv.writer(open(args.strOutputFile,'w'), delimiter="\t")
|
|
51 hndlWrite.writerow(["ID"]+lsListOfIDs)
|
|
52 for sFeature in lsListOfFeatures:
|
|
53 lsFeatureLine = [sFeature]
|
|
54 for sSample in lsListOfIDs:
|
|
55 lsFeatureLine.append(dictValues.get(tuple([sSample,sFeature]),0))
|
|
56 hndlWrite.writerow(lsFeatureLine)
|