User:ShawnDouglas/scripts

From OpenWetWare

(Difference between revisions)
Jump to: navigation, search
m
m
Line 53: Line 53:
# print first n chars
# print first n chars
print seq[:n]
print seq[:n]
 +
</pre>
 +
*Check for restriction site
 +
<pre>
 +
##
 +
# 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 = antisense(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
</pre>
</pre>

Revision as of 12:36, 26 July 2006

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
def rev(s):
  return s[::-1]
complement = string.maketrans('ACGTacgt','TGCAtgca')
def comp(s):
  return rev(s.translate(complement))
  • 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 = antisense(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
Personal tools