IGEM:Harvard/2006/Container Design 5: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
Line 22: Line 22:
<br style = "clear:both">
<br style = "clear:both">


== Oligo list ==
[[Media:oligo_list.txt|oligo sequence list]]<br>


==oligo path==
==oligo path==

Revision as of 12:11, 24 July 2006




Oligo list

oligo sequence list

oligo path

oligo path
oligo token list

Schematics and .AI Files

Automated schematic

Here's a link to a python file that automatically creates a schematic. Call maked(inf,outf) where inf is a token list and outf is the file you'd like to output to (should be .bmp). It uses a nifty module called pygame. I haven't tried it out on Macs yet. Still, it gives fairly colorful results.

Code

ASCII Diagrams

  • Double-Ply Barrel (42-helix outer barrel)
...   ...   070   068   066   064   ...   ...
   ...   071   069   067   065   063   ...   

   ...   030   000   002   004   062   ...   
...   031   029   001   003   005   061   ...

...   032   028   ...   ...   006   060   ...
   033   027   ...   ...   ...   007   059   

   034   026   ...   ...   ...   008   058   
035   025   ...   ...   ...   ...   009   057

036   024   ...   ...   ...   ...   010   056
   037   023   ...   ...   ...   011   055   

   038   022   ...   ...   ...   012   054   
...   039   021   ...   ...   013   053   ...

...   040   020   018   016   014   052   ...
   ...   041   019   017   015   051   ...   

   ...   042   044   046   048   050   ...   
...   ...   043   045   047   049   ...   ...

  • Double-Ply Lid (19 helices long)
...   000   002   004   006   008   010   012   014   016   ...
   037   001   003   005   007   009   011   013   015   017   ...

   036   034   032   030   028   026   024   022   020   018   ...
...   035   033   031   029   027   025   023   021   019   ...   


scaffold splitting

Barrel

!/usr/bin/python

import string
import sys
import fileinput

def nowhite(s):
  return ''.join([c for c in s if c in string.letters])

seq = ''

# read in sequence
for line in fileinput.input("-"):
  seq = seq + nowhite(line)

box_1 = 96 * 32 + 72
loop = 66
box_2 = 11 + 12 + 96 * 6 + 68
box_3 = 16 + 12 + 6 * 96 + 65
box_4 = 19 + 12 + 6 * 96 + 65
box_5 = 19 + 12 + 6 * 96 + 68
box_6 = 16 + 12 + 6 * 96 + 72
box_7 = 12 + 12 + 3 * 96

box_1_seq = seq[:box_1]
seq = seq[box_1:]
loop_1_seq = seq[:loop]
seq = seq[loop:]
box_2_seq = seq[:box_2]
seq = seq[box_2:]
loop_2_seq = seq[:loop]
seq = seq[loop:]  
box_3_seq = seq[:box_3]
seq = seq[box_3:]
loop_3_seq = seq[:loop]
seq = seq[loop:]
box_4_seq = seq[:box_4]
seq = seq[box_4:]
loop_4_seq = seq[:loop]
seq = seq[loop:]
box_5_seq = seq[:box_5]
seq = seq[box_5:]
loop_5_seq = seq[:loop] 
seq = seq[loop:]
box_6_seq = seq[:box_6]
seq = seq[box_6:]
loop_6_seq = seq[:loop]
seq = seq[loop:]
box_7_seq = seq[:box_7]
seq = seq[box_7:]

extra_scaffold = seq
barrel = box_1_seq + box_2_seq + box_3_seq + box_4_seq + box_5_seq + box_6_seq + box_7_seq

#print out the length of each segment and its sequence

barrel_file = file('barrel_scaffold.txt', 'w')

print len(barrel)
print barrel
barrel_file.write(barrel)

Lids

#!/usr/bin/python

import string
import sys
import fileinput

def nowhite(s):
  return ''.join([c for c in s if c in string.letters])

seq = ''

# read in sequence
for line in fileinput.input("-"):
  seq = seq + nowhite(line)

scaffold_len = 7572
lid_1 = 96 * 38
lid_2 = 96 * 38
linker_len = scaffold_len - lid_1 - lid_2
linker_1 = linker_len / 2

#store first segment up to end of lid 1
lid_1_seq = seq[:lid_1]
#reset sequence to start at end of lid 1
seq = seq[lid_1:]
linker_1_seq = seq[:linker_1]
seq = seq[linker_1:]
lid_2_seq = seq[:lid_2]
seq = seq[lid_2:]
#linker 2 is the rest of the scaffold
linker_2_seq = seq

# check to make sure linker 1 and linker 2 are the same length
if(len(linker_1_seq) != len(linker_2_seq)):
        print 'Error: linker 1 is not the same length as linker 2'

#print out the length of each segment and its sequence

lid_1_file = file('lid_1_scaffold.txt', 'w')
lid_2_file = file('lid_2_scaffold.txt', 'w')

print len(lid_1_seq)   
print lid_1_seq
lid_1_file.write(lid_1_seq)
print len(linker_1_seq)
print linker_1_seq  
print len(lid_2_seq)   
print lid_2_seq  
lid_2_file.write(lid_2_seq)
print len(linker_2_seq)
print linker_2_seq