The vector pMEC1049 vector was used in Romaní et al. 2014 The pMEC1049 expresses a D-xylose metabolic pathway and has a hygromycin selectable marker. The details of the construction of pMEC1049 can be found here.
This document describe the construction of the pMEC9001, 2 and 3 vectors. The pMEC9001 is the pMEC1049 with an additional expression cassette for the Saccharomyces cerevisiae gene HAA1(YPR008W). The pMEC9002 is the pMEC1049 with an additional expression cassette for S. cerevisiae PRS3(YHL011C) and pMEC9003 has both of them.
Vector | Relevant property |
---|---|
pMEC9001 | HAA1 |
pMEC9002 | PRS3 |
pMEC9003 | HAA1 & PRS3 |
Normally, this would be done following the yeast pathway kit strategy by adding genes with a set of new promoters and terminators, but in this case a requirement was to retain the native promoters and terminators for HAA1 and PRS3.
The strategy involves linearizing the vector in two locations (before and after the xylose pathway) and adding the HAA1 and PRS3 expression cassettes amplified using tailed primers.
The PRS3 cassette was previously cloned according to the description below in vector YEpJCP according to this description:
"obtained by PCR amplification of fragment carrying PRS3 from Saccharomyces cerevisiae CEN.PK113-7D genomic DNA using appropriate primers and insertion into plasmid pGEM-T Easy. Cloning into YEplac195KanMX using EcoRI digestion sites." Cunha et al. 2015
Primers:
P1: TTATCTTCATCACCGCCATAC
P2: ACAAGAGAAACTTTTGGGTAAAATG
The exact same PRS3 fragment will be cloned in pMEC9002.
In [77]:
from pydna.parsers import parse_primers
In [78]:
p1,p2 = parse_primers('''
>P1
TTATCTTCATCACCGCCATAC
>P2
ACAAGAGAAACTTTTGGGTAAAATG
''')
We gain access to the S. cerevisiae genome through the pygenome module.
In [79]:
from pygenome import sg
from pydna.dseqrecord import Dseqrecord
In [80]:
PRS3_locus = Dseqrecord(sg.stdgene["PRS3"].locus())
The PRS3_locus contain the DNA from the end of the upstream ORF to the beginning of the downstream ORF.
In [81]:
PRS3_locus
Out[81]:
In [82]:
from pydna.amplify import pcr
In [83]:
PRS3_product = pcr(p1, p2, PRS3_locus)
In [84]:
PRS3_product
Out[84]:
In [85]:
PRS3_product.figure()
Out[85]:
The primers anneal perfectly to the template, so this is the PCR product we want.
We will now do the same with the HAA1 cassette.
Vector: BHUM1737
Construction: obtained by PCR amplification of a SalI/BamHI fragment carrying HAA1 from yeast genomic DNA using appropriate primers and subsequent insertion into plasmid YEplac195.
Primers described in Malcher et al. 2011 supporting information, Table S1
HAA1hc_fw: GTC GAC CCC ATT TCC CCT TTC TTT TCC
HAA1hc_rev: GGA TCC ATA CCT CAT CTC TGC GTG TTC G
In [86]:
from pydna.parsers import parse_primers
In [87]:
h1,h2 = parse_primers('''
>HAA1hc_fw
GTC GAC CCC ATT TCC CCT TTC TTT TCC
>HAA1hc_rev
GGA TCC ATA CCT CAT CTC TGC GTG TTC G
''')
In [88]:
HAA1_locus = Dseqrecord(sg.stdgene["HAA1"].locus())
In [89]:
HAA1_locus
Out[89]:
In [90]:
HAA1_product = pcr(h1, h2, HAA1_locus)
In [91]:
HAA1_product
Out[91]:
In [92]:
HAA1_product.figure()
Out[92]:
These primers are tailed, but we have no reason to include these tails (containing restriction sites). We therefore cut six bp from the beginning and six bp from the end of the sequence:
In [93]:
h1 = h1[6:]
h2 = h2[6:]
In [94]:
HAA1_product = pcr(h1, h2, HAA1_locus)
In [95]:
HAA1_product.figure()
Out[95]:
In [96]:
HAA1_product.seq
Out[96]:
Now we will have to design tailed primers for the HAA1_product and the PRS3_product sequences so that we can add them to pMEC1049 by gap repair. First we have to decide with which restriction enzymes we should open the pMEC1049 vector.
The restriction enzymes below are candidates for linearizing the pMEC1049 before an after the cassette.
These enzymes are also unique in the pYPK0 based vectors, so we can use tha same strategy to create vectors expressing only the pRS3 and/or HAA1 but without the xylose pathway if needed.
In [97]:
from pydna.readers import read
In [98]:
pMEC1049 = read("pMEC1049.gb")
In [99]:
pMEC1049
Out[99]:
In [100]:
from Bio.Restriction import XhoI, AleI, OliI
In [101]:
pMEC1049_xho = pMEC1049.linearize(XhoI)
We design gap repair primers using the pydna assembly primers function
In [102]:
from pydna.design import assembly_fragments
In [103]:
fragments = assembly_fragments( [pMEC1049_xho, HAA1_product, pMEC1049_xho] )
In [104]:
Hfw = fragments[1].forward_primer
Hrv = fragments[1].reverse_primer
In [105]:
Hfw.id = "Hfw"
Hrv.id = "Hrv"
In [106]:
Hfw = Hfw[1:]
Hrv = Hrv[:-1]
In [107]:
Hfw = Hfw[:50] # we limit the length to 50 bp since these are less expensive from our provider
Hrv = Hrv[:50]
In [108]:
print( Hfw.format("tab") )
In [109]:
print( Hrv.format("tab") )
In [110]:
HAA1_recombination_product = pcr(Hfw, Hrv, HAA1_locus)
In [111]:
HAA1_recombination_product
Out[111]:
In [112]:
HAA1_recombination_product.figure()
Out[112]:
In [113]:
from pydna.assembly import Assembly
In [114]:
asm_haa1 = Assembly((pMEC1049_xho, HAA1_recombination_product))
In [115]:
asm_haa1
Out[115]:
In [116]:
candidate = asm_haa1.assemble_circular()[0]
In [117]:
candidate.figure()
Out[117]:
In [118]:
pMEC9001 = candidate.synced(pMEC1049)
In [119]:
pMEC9001.stamp()
Out[119]:
In [120]:
pMEC9001.locus="pMEC9001"
The pMEC9001 is the pMEC1049 with HAA1. The sequence can be downloaded using the link below.
In [121]:
pMEC9001.write("pMEC9001.gb")
In [122]:
pMEC1049_oli = pMEC1049.linearize(OliI)
The integration site was chosen to be the uniqie OliI site.
In [123]:
fragments2 = assembly_fragments((pMEC1049_oli, PRS3_product, pMEC1049_oli))
In [124]:
Pfw = fragments2[1].forward_primer
Prv = fragments2[1].reverse_primer
In [125]:
Pfw.id = "Pfw"
Prv.id = "Prv"
In [126]:
Prv=Prv[:-2]
In [127]:
Pfw = Pfw[:51]
Prv = Prv[:51]
In [128]:
print( Pfw.format("tab"))
print( Prv.format("tab"))
In [129]:
PRS3_recombination_product = pcr(Pfw, Prv, PRS3_locus)
In [130]:
PRS3_recombination_product
Out[130]:
The recombination was designed for OliI but AleI was used.
In [131]:
pMEC1049_ale = pMEC1049.linearize(AleI)
In [132]:
asm_prs3 = Assembly((pMEC1049_ale, PRS3_recombination_product))
In [133]:
asm_prs3
Out[133]:
In [134]:
candidate = asm_prs3.assemble_circular()[0]
In [135]:
candidate
Out[135]:
In [136]:
pMEC9002 = candidate.synced(pMEC1049)
In [137]:
pMEC9002.locus = "pMEC9002"
In [138]:
pMEC9002.stamp()
Out[138]:
The pMEC9002 vector is the pMEC1049 with PRS3
In [139]:
pMEC9002.write("pMEC9002.gb")
In [140]:
pMEC1049_9kbp, pMEC1049_6kb = pMEC1049.cut(XhoI, AleI)
In [141]:
pMEC1049_6kb
Out[141]:
In [142]:
pMEC1049_9kbp
Out[142]:
In [143]:
pMEC1049_6kb.locus = "pMEC1049_6kb"
pMEC1049_9kbp.locus = "pMEC1049_9kbp"
In [144]:
asm_prs_haa = Assembly((pMEC1049_6kb, pMEC1049_9kbp, HAA1_recombination_product, PRS3_recombination_product))
In [145]:
asm_prs_haa
Out[145]:
In [146]:
candidate = asm_prs_haa.assemble_circular()[0]
In [147]:
candidate
Out[147]:
In [148]:
pMEC9003 = candidate.synced(pMEC1049)
In [149]:
pMEC9003.stamp()
Out[149]:
In [150]:
pMEC9003.locus="pMEC9003"
pMEC9003 is the pMEC1049 with both HAA1 and PRS3. The sequence can be downloaded from the link below.
In [151]:
pMEC9003
Out[151]:
In [152]:
pMEC9003.write("pMEC9003.gb")