# HG changeset patch # User yhoogstrate # Date 1401880106 14400 # Node ID 7fc17dc8377701e9c0071b4c2912c3fa7cea850f # Parent ca24a51fa144b7c8e8690734ba72bce33b07f693 Uploaded diff -r ca24a51fa144 -r 7fc17dc83777 design_matrix_creator.py --- 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()