IGEM:Harvard/2006/Container Design 4/Python Code/Pickle Scripts
From OpenWetWare
Jump to navigationJump to search
All of these scripts make use of pickle.dump() to move structs into main - in main use pickle.load() to essentially upload the struct. This way the lists of oligos to split or oligos to add aptamers or latches to etc can be seperated from the main program and double checked or modified more easily. These scripts can also be found on the page they're most related to (i.e. the oligo splitting pickle script is on the oligo splitting code page.)
Oligo Splitting
### split = [[oligo_num, num_tokens for oligo_1 - from 5prime], ... ] import pickle fout_barrel = None fout_lid = None try: fout_barrel = open("barrel_oligos_to_split.txt", "w") fout_lid = open("lid_oligos_to_split.txt", "w") except IOError, e: print "Error in file IO: ", e barrel_split = [[56, 2], [57, 3], [41, 3], [26, 3], [21, 4]] lid_split = [[27, 4], [2, 4]] pickle.dump(barrel_split, fout_barrel) pickle.dump(lid_split, fout_lid) # clean up if they're open if fout_barrel: fout_barrel.close() if fout_lid: fout_lid.close()
Add Latches
#latch_list = [[oligo_num, sequence], ... ] import pickle fout_barrel = None fout_lid1 = None fout_lid2 = None fout_barrel_design2 = None fout_lid1_design2 = None fout_lid2_design2 = None try: fout_barrel = open("barrel_latches_to_add.txt", "w") fout_lid1 = open("lid1_latches_to_add.txt", "w") fout_lid2 = open("lid2_latches_to_add.txt", "w") fout_barrel_design2 = open("barrel_latches_to_add_design2.txt", "w") fout_lid1_design2 = open("lid1_latches_to_add_design2.txt", "w") fout_lid2_design2 = open("lid2_latches_to_add_design2.txt", "w") except IOError, e: print "Error in file IO: ", e barrel_latches = [[60, 'TTTTTTTGTAACGAAGTTGCACCACACAACGCTA'], [43, 'TTTTTTTTTTTTTGTACGCATGGCAAATTACCACTCTAGC'], [21, 'TTTTTTTTTTTCGAGTTGACAAAGCTACCGGTTCAAG'], [27, 'TTTTTTTTTTTTTTCAGGATACCATCATCTACTAACCGGTG']] lid1_latches = [[2, 'TTTTTTTGTGCAACTTCGTTACACGAGTAATGCG'], [29, 'TTTTTTTTTTTTTTATTTGCCATGCGTACCGGTTAGATAGC']] lid2_latches = [[2, 'TTTTTTTTTTTGCTTTGTCAACTCGAACTGGCCCTTAA'], [29,'TTTTTTTTTTTTTTGATGATGGTATCCTGGTGGAGTAGTTG']] barrel_design2_latches = [[60, 'TTTTTTTCCGGTGCAGAAGTTT'], [43, 'TTTTTTTTTTTTTTGGATCGGTACATTGT'], [21, 'TTTTTTTTTTGGCACTCCTACAATT'], [27, 'TTTTTTTTTTTTTTGACGATAGGGAAACA']] lid1_design2_latches = [[2, 'TTTTTTTTAGAGACGACCATAC'], [29, 'TTTTTTTTTTTTTTAGGCAACTCGAATAC']] lid2_design2_latches = [[2, 'TTTTTTTTTTTGTAGTAGAGACCAAC'], [29, 'TTTTTTTTTTTTTTCCTACGAGAAGATCA']] pickle.dump(barrel_latches, fout_barrel) pickle.dump(lid1_latches, fout_lid1) pickle.dump(lid2_latches, fout_lid2) pickle.dump(lid1_design2_latches, fout_lid1_design2) pickle.dump(lid2_design2_latches, fout_lid2_design2) pickle.dump(barrel_design2_latches, fout_barrel_design2) if fout_barrel: fout_barrel.close() fout_lid1.close() fout_lid2.close() fout_barrel_design2.close() fout_lid1_design2.close() fout_lid2_design2.close()
Add Aptamers
apt_list = [[oligo_num, type], ... ] # note that 1 corresponds to in and 2 corresponds to out. import pickle fout_barrel = None try: fout_barrel = open("barrel_apts_to_add.txt", "w") except IOError, e: print "Error in file IO: ", e barrel_apts = [[1, 1], [2, 2], [7, 2], [11, 1], [17, 2], [23, 2], [36, 1], [47, 1]] pickle.dump(barrel_apts, fout_barrel) if fout_barrel: fout_barrel.close()