IGEM:Harvard/2006/Container Design 4/Python Code/Add Latches
From OpenWetWare
Jump to navigationJump to search
#####
# Add latches
#####
fin_barrel = None
fin_lid1 = None
fin_lid2 = None
fin_barrel_design2 = None
fin_lid1_design2 = None
fin_lid2_design2 = None
try:
fin_barrel = open("barrel_latches_to_add.txt", "r")
fin_lid1 = open("lid1_latches_to_add.txt", "r")
fin_lid2 = open("lid2_latches_to_add.txt", "r")
fin_barrel_design2 = open("barrel_latches_to_add_design2.txt", "r")
fin_lid1_design2 = open("lid1_latches_to_add_design2.txt", "r")
fin_lid2_design2 = open("lid2_latches_to_add_design2.txt", "r")
except IOError, e:
print "Error in file IO: ", e
if (shape == 1):
latches_to_add = pickle.load(fin_barrel)
latches_to_add_d2 = pickle.load(fin_barrel_design2)
elif (shape == 2):
# Ask which lid is being run
print 'What lid are you running?'
type = int(raw_input('Enter 1 if lid1, 2 if lid2: '))
if (type == 1):
latches_to_add = pickle.load(fin_lid1)
latches_to_add_d2 = pickle.load(fin_lid1_design2)
elif (shape == 2):
# Ask which lid is being run
print 'What lid are you running?'
type = int(raw_input('Enter 1 if lid1, 2 if lid2: '))
if (type == 1):
latches_to_add = pickle.load(fin_lid1)
latches_to_add_d2 = pickle.load(fin_lid1_design2)
elif (type == 2):
latches_to_add = pickle.load(fin_lid2)
latches_to_add_d2 = pickle.load(fin_lid2_design2)
# note: latch sequence includes any linker Ts already
for latch_specs in latches_to_add:
oligo_num = latch_specs[0]
latch = latch_specs[1]
oligo_ra[oligo_num] = oligo_ra[oligo_num] + latch
for latch_specs in latches_to_add_d2:
oligo_num = latch_specs[0]
latch = latch_specs[1]
latch_2_oligo_ra[oligo_num] = latch_2_oligo_ra[oligo_num] + latch
Pickle script to generate structs of latches to add
#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()