pYPKa_Z_PGI1

Freezer ID

Strain#..: ?
Box......: ?
Position.: ?

Importing the pydna package. Pydna is open source, documentated here and has a support forum as well as a publication:

Pereira F, Azevedo F, Carvalho Â, Ribeiro GF, Budde MW, Johansson B: Pydna: a simulation and documentation tool for DNA assembly strategies using python. BMC Bioinformatics 2015, 16:142.


In [1]:
from pydna.all import *

Read the cloning vector from a local file file, description of pYPKa.


In [2]:
pYPKa =read("pYPKa.gb")

This vector should be a circular 3128 bp DNA molecule.


In [3]:
pYPKa


Out[3]:

The circular seguid checksum of pYPKa should be

aV1eIrzOiCjvw01yvKkxDXHKLMk


In [4]:
pYPKa.cseguid()


Out[4]:
aV1eIrzOiCjvw01yvKkxDXHKLMk

Importing the restriction enzyme to be used for cloning from Biopython. ZraI


In [5]:
from Bio.Restriction import ZraI

This enzyme should cut only once in pYPKa.


In [6]:
pYPKa_ZraI = pYPKa.linearize(ZraI)

The template below comes from a Genbank record. Access to Genbank is needed in order to download the template. If you execute this script, change the email address below to your own. Always tell Genbank who you are, when using their web service.


In [7]:
gb =Genbank("bjornjobb@gmail.com")

The template is downloaded from Genbank below.


In [8]:
template = gb.nucleotide("BK006936.2 REGION: complement(613901..615202)")

The template is a 630 bp linear DNA fragment.


In [9]:
template




The insert has the sequence shown below.


In [10]:
str(template.seq)


Out[10]:
'TGACATGTATGGGTTGAAAATATTTAGAGGATGCTAAAAGTCCCGTCTAAAATAGAGGAAGTCATGGATTACATTATCACCTTTATTGTCCTGTTCCGTCTGGCTAATTTGGGACGAGGAACGTTTGTCTCCATTCGCAACCTTTTGAAACCATATGAACGGCGGCTAATCTGACAGATGTCTTATATTTCTAGGATTGTAGAAAGCCTCCTCATCAAACCACCTTGTTTGAAAAAGGCACTAGTGCGGTTGCTTTACTTGATCTAGTATTCTCCTACCTTGGAGCGGTCCCATATCAACTAAATTCAGTTTTCTGACTGAGTTAAAAACTAATGTAGCGACACCACTTCCATTGGTGCCTCCGTTATTTTTTTTTTGTATGTTAATGCTAAATAATACACCGCTATGTATTTCAGGGCACTACTTCTACACATCAACGGTACTAAACATTTCGCTCAAGATCGGTCCGCTTTCACGTATTTGGATGCTATGCAATGTTGACTATTCTTAGTGGATAACATGCGGCATTTCCTGGCGGCTATTTGCATCGCTATGTAAGTGGCAATGTTCGGATGTGGGTAGTACTTTCAAAAGAAAAAATATTACTGAAGAAGGCATACTACGCCAAGACTATTTTATTCTCAGCACTTGTCCTACGTGGGGTTAGAGGCGAGTAAGACTTTGGCCCCGCTGCGGAAGCAAAGAGAATTTTGCCATCGGACATGCTACCTTACGCTTATATCTCTCATTGGAATATCGTTTTCTGATTAAAACACGGAAGTAAGAACTTAATTCGTTTTTCGTTGAACTATGTTGTGCCAGCGTAACATTAAAAAAGAGTGTACAAGGCCACGTTCTGTCACCGTCAGAAAAATATGTCAATGAGGCAAGAACCGGGATGGTAACAAAAATCACGATCTGGGTGGGTGTGGGTGTATTGGATTATAGGAAGCCACGCGCTCAACCTGGAATTACAGGAAGCTGGTAATTTTTTGGGTTTGCAATCATCACCATCTGCACGTTGTTATAATGTCCCGTGTCTATATATATCCATTGACGGTATTCTATTTTTTTGCTATTGAAATGAGCGTTTTTTGTTACTACAATTGGTTTTACAGACGGAATTTTCCCTATTTGTTTCGTCCCATTTTTCCTTTTCTCATTGTTCTCATATCTTAAAAAGGTCCTTTCTTCATAATCAATGCTTTCTTTTACTTAATATTTTACTTGCATTCAGTGAATTTTAATACATATTCCTCTAGTCTTGCAAAATCGATTTAGAATCAAGATACCAGCCTAAAA'

The seguid checksum of the template should be

Id7sVh9ay2868fWm4Lms3Uyh5Ig


In [11]:
template.seguid()


Out[11]:
BotUwFeg_MXy2qZoq_PQ4xeQ6Q0

Two primers are used to amplify the insert:


In [12]:
f,r =parse(""">549_ScPGI1tpf (27-mer)
                     ttaaatAATTCAGTTTTCTGACTGAGT

                     >622_ScPGI1tpr_PacI (28-mer)
                     taattaaTTTTAGGCTGGTATCTTGATT""", ds=False)

insert =pcr(f, r, template)

The primers anneal on the template like this.


In [13]:
insert.figure()


Out[13]:
      5AATTCAGTTTTCTGACTGAGT...AATCAAGATACCAGCCTAAAA3
                               ||||||||||||||||||||| tm 52.4 (dbd) 58.5
                              3TTAGTTCTATGGTCGGATTTTaattaat5
5ttaaatAATTCAGTTTTCTGACTGAGT3
       ||||||||||||||||||||| tm 53.0 (dbd) 56.3
      3TTAAGTCAAAAGACTGACTCA...TTAGTTCTATGGTCGGATTTT5

A recombinant plasmid is formed by ligating the insert PCR product to the linear vector.


In [14]:
plasmid = (pYPKa_ZraI + insert).looped()

The plasmid sequence is rotated so that the origin is in the same position as for the cloning vector sequence.


In [15]:
pYPKa_Z_PGI1 = plasmid.synced(pYPKa)

Calculate cseguid checksum for the resulting plasmid. Should be

8SMBgtkGm6DdpB4kCIA9t94aoeM


In [16]:
pYPKa_Z_PGI1.cseguid()


Out[16]:
-yISaUslIcukBsT9XhxZdPoAIAQ

The file is named pYPKa_Z_PGI1tp


In [17]:
pYPKa_Z_PGI1.name = "pYPKa_Z_PGI1tp"
pYPKa_Z_PGI1.description = "pYPKa_Z_PGI1tp"

Stamp sequence with cSEGUID checksum


In [18]:
pYPKa_Z_PGI1.stamp()


Out[18]:
cSEGUID_-yISaUslIcukBsT9XhxZdPoAIAQ

Write sequence to a local file.


In [19]:
pYPKa_Z_PGI1.write("pYPKa_Z_PGI1.gb")




Download pYPKa_Z_PGI1


In [20]:
reloaded =read("pYPKa_Z_PGI1.gb")

assert reloaded.cseguid() in reloaded.definition