annotate src/breadcrumbs/scripts/scriptEnvToTable.py @ 5:cb7b4786434d

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