pYPKa_A_ScHIS3

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.


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.


In [5]:
from Bio.Restriction import AjiI

With the recognition site


In [6]:
print(AjiI.site)


CACGTC

This enzyme should cut only once in pYPKa.


In [7]:
pYPKa.cut(AjiI)


Out[7]:
(Dseqrecord(-3128),)

pYPKa is digested with AjiI to form a linear DNA fragment.


In [8]:
pYPKa_AjiI = pYPKa.linearize(AjiI)

The insert 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 the service.


In [9]:
gb =Genbank("myemail@home.se")

The template is downloaded from Genbank below.


In [10]:
template = gb.nucleotide("BK006948 REGION: 721946..722608")

The template length and a representation:


In [11]:
print(len(template))
print(str(template.seq))


663
ATGACAGAGCAGAAAGCCCTAGTAAAGCGTATTACAAATGAAACCAAGATTCAGATTGCGATCTCTTTAAAGGGTGGTCCCCTAGCGATAGAGCACTCGATCTTCCCAGAAAAAGAGGCAGAAGCAGTAGCAGAACAGGCCACACAATCGCAAGTGATTAACGTCCACACAGGTATAGGGTTTCTGGACCATATGATACATGCTCTGGCCAAGCATTCCGGCTGGTCGCTAATCGTTGAGTGCATTGGTGACTTACACATAGACGACCATCACACCACTGAAGACTGCGGGATTGCTCTCGGTCAAGCTTTTAAAGAGGCCCTAGGGGCCGTGCGTGGAGTAAAAAGGTTTGGATCAGGATTTGCGCCTTTGGATGAGGCACTTTCCAGAGCGGTGGTAGATCTTTCGAACAGGCCGTACGCAGTTGTCGAACTTGGTTTGCAAAGGGAGAAAGTAGGAGATCTCTCTTGCGAGATGATCCCGCATTTTCTTGAAAGCTTTGCAGAGGCTAGCAGAATTACCCTCCACGTTGATTGTCTGCGAGGCAAGAATGATCATCACCGTAGTGAGAGTGCGTTCAAGGCTCTTGCGGTTGCCATAAGAGAAGCCACCTCGCCCAATGGTACCAACGATGTTCCCTCCACCAAAGGTGTTCTTATGTAG

The seguid checksum of the template should be

insertseguid

Two primers are used to amplify the insert:


In [12]:
f,r =parse(""">572_ScHIS3fwd (27-mer)
                     CGCGCCAAAatgacagagcagaaagcc

                     >571_ScHIS3rev (27-mer)
                     CCctacataagaacacctttggtggag""", ds=False)

insert =pcr(f, r, template)

The primers anneal on the template like this.


In [13]:
insert.figure()


Out[13]:
         5atgacagagcagaaagcc...ctccaccaaaggtgttcttatgtag3
                               ||||||||||||||||||||||||| tm 58.3 (dbd) 64.9
                              3gaggtggtttccacaagaatacatcCC5
5CGCGCCAAAatgacagagcagaaagcc3
          |||||||||||||||||| tm 55.6 (dbd) 59.9
         3tactgtctcgtctttcgg...gaggtggtttccacaagaatacatc5

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


In [14]:
plasmid = (pYPKa_AjiI + 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_A_ScHIS3 = plasmid.synced(pYPKa)

Stamp sequence with cSEGUID checksum


In [16]:
pYPKa_A_ScHIS3.stamp()


Out[16]:
cSEGUID_SuTj4l27jSSln3F7NSKaJtJga5E

Write sequence to a local file.


In [17]:
pYPKa_A_ScHIS3.write("pYPKa_A_ScHIS3.gb")




Calculate cseguid:


In [18]:
pYPKa_A_ScHIS3.cseguid()


Out[18]:
SuTj4l27jSSln3F7NSKaJtJga5E

In [19]:
from pydna.all import *
pYPKa_A_ScHIS3 =read("pYPKa_A_ScHIS3.gb")
assert pYPKa_A_ScHIS3.cseguid() in pYPKa_A_ScHIS3.definition

In [20]: