changeset 52:7fc17dc83777 draft

Uploaded
author yhoogstrate
date Wed, 04 Jun 2014 07:08:26 -0400
parents ca24a51fa144
children b89788eead3c
files design_matrix_creator.py
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/design_matrix_creator.py	Tue Jun 03 05:34:27 2014 -0400
+++ b/design_matrix_creator.py	Wed Jun 04 07:08:26 2014 -0400
@@ -6,6 +6,7 @@
 	def __init__(self):
 		self.samples = []
 		self.treatments = {}
+		self.treatment_index = []
 		self.treatment_types = {}
 	
 	def do_decode(self,encoded_str):
@@ -129,6 +130,7 @@
 			sys.stderr.write("Error:\n* Treatment was already added: '"+treatment["name"]+"\n")
 		else:
 			self.treatments[treatment["name"]] = treatment
+			self.treatment_index.append(treatment["name"])
 			self.treatment_types[treatment["name"]] = treatment_type
 			print "     - Treatment \""+treatment["name"]+"\" of type \""+treatment_type+"\" is valid"
 	
@@ -140,13 +142,14 @@
 			fh = open(args.output,"w")
 		
 		# Write header:
-		fh.write("sample-name\t"+"\t".join(self.treatments.keys())+"\n")
+		fh.write("sample-name\t"+"\t".join(self.treatment_index)+"\n")
 		
 		# Write body:
 		for sample in self.samples:
 			fh.write(sample)
-			for treatment in self.treatments.keys():
-				fh.write("\t"+self.treatments[treatment]["sample_index"][sample])
+			for treatment_id in self.treatment_index:
+				treatment = self.treatments[treatment_id]
+				fh.write("\t"+treatment["sample_index"][sample])
 			fh.write("\n")
 		
 		fh.close()