Mercurial > repos > sagun98 > micropita
comparison galaxy_micropita/src/breadcrumbs/scripts/scriptEnvToTable.py @ 3:8fb4630ab314 draft default tip
Uploaded
author | sagun98 |
---|---|
date | Thu, 03 Jun 2021 17:07:36 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2:1c5736dc85ab | 3:8fb4630ab314 |
---|---|
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) |