Mercurial > repos > sagun98 > micropita_v2
diff src/breadcrumbs/scripts/scriptEnvToTable.py @ 0:0de566f21448 draft default tip
v2
author | sagun98 |
---|---|
date | Thu, 03 Jun 2021 18:13:32 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/breadcrumbs/scripts/scriptEnvToTable.py Thu Jun 03 18:13:32 2021 +0000 @@ -0,0 +1,56 @@ +#!/usr/bin/env python +""" +Author: Timothy Tickle +Description: Convert Env file to table +""" + +__author__ = "Timothy Tickle" +__copyright__ = "Copyright 2012" +__credits__ = ["Timothy Tickle"] +__license__ = "" +__version__ = "" +__maintainer__ = "Timothy Tickle" +__email__ = "ttickle@sph.harvard.edu" +__status__ = "Development" + +import sys +import argparse +import csv + + +#Set up arguments reader +argp = argparse.ArgumentParser( prog = "scriptEnvToTable.py", + description = """Convert Env file to table""" ) + +#Arguments +#For table +argp.add_argument("strEnvFile", metavar = "EnvFile", help ="EnvFile data file") +argp.add_argument("strOutputFile", metavar = "OutputFile", help ="Output File") +args = argp.parse_args( ) + +hndlReader = csv.reader(open(args.strEnvFile,'rU'), delimiter="\t") + +lsListOfIDs = [] +lsListOfFeatures = [] +dictValues = {} +for lsLine in hndlReader: + print(lsLine) + lsListOfIDs.append(lsLine[1]) + lsListOfFeatures.append(lsLine[0]) + tpleKey = tuple([lsLine[1],lsLine[0]]) + if tpleKey in dictValues: + print("Error:: Duplicate key entries found") + exit(1) + dictValues[tpleKey] = lsLine[2] + +lsListOfIDs = list(set(lsListOfIDs)) +lsListOfFeatures = list(set(lsListOfFeatures)) +print(lsListOfIDs) +print(lsListOfFeatures) +hndlWrite = csv.writer(open(args.strOutputFile,'w'), delimiter="\t") +hndlWrite.writerow(["ID"]+lsListOfIDs) +for sFeature in lsListOfFeatures: + lsFeatureLine = [sFeature] + for sSample in lsListOfIDs: + lsFeatureLine.append(dictValues.get(tuple([sSample,sFeature]),0)) + hndlWrite.writerow(lsFeatureLine)