User:ShawnDouglas/scripts

From OpenWetWare
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

PCR

  • /make-pcr-oligos.py - given target sequence, generate oligos that can be used for PCR assembly of that sequence
  • /random-sequence.py - generate random DNA sequence of specified length
  • /primer.py - given upstream and downstream sense sequence of region to amplify, print out correct primers

Nanostructures

  • /toehold.py - given input sequence generate N-mers orthogonal (to seq and its complement) to be used as toeholds
  • /hexgui.py - Tk GUI for honeycomb lattice program

Misc

  • reverse complement
complement = string.maketrans('ACGTacgt','TGCAtgca')
def comp(s):
  return s.translate(complement)[::-1]
  • replace mac return character ('\r') with unix return ('\n')
cat foo | tr '\r' '\n' > bar
mv bar foo
  • print first n chars of STDIN
#!/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 = ''

if len(sys.argv) > 1:
  n = int(sys.argv[1])
else:
  sys.exit("usage: " + sys.argv[0] + " [length]")

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

#seq = seq[offset:] + seq[:offset]     # wrap around first offset bases

# print last n chars
#print seq[-n:]

# print first n chars
print seq[:n]
  • Check for restriction site
##
# return True if s DOES contain any restriction sites
# return False if s DOES NOT contain any restriction sites
##
def hasresite(s):
  BamHI = 'ggatcc'
  EcoRI = 'gaattc'
  FokI = 'ggatg'
  HindIII = 'aagctt'
  BglII = 'agatct'
  XbaI = 'tctaga'
  XhoI = 'ctcgag'
  BbvCIA = 'cctcagc'
  BbvCIB = comp(BbvCIA)

  result = False

  if s.count(BamHI) > 0:
    #print 'BamHI found'
    result = True
  elif s.count(EcoRI) > 0:
    #print 'EcoRI found'
    result = True
  elif s.count(FokI) > 0:
    #print 'FokI found'
    result = True
  elif s.count(HindIII) > 0:
    #print 'HindIII found'
    result = True
  elif s.count(BglII) > 0:
    #print 'BglII found'
    result = True
  elif s.count(XbaI) > 0:
    #print 'XbaI found'
    result = True
  elif s.count(XhoI) > 0:
    #print 'XhoI found'
    result = True
  elif s.count(BbvCIA) > 0: 
    #print 'BbvCI.IA found'
    result = True
  elif s.count(BbvCIB) > 0:
    #print 'BbvCI.IB found'
    result = True

  return result