Team:Heidelberg/Toolbox Guide/Purification

From 2014.igem.org

(Difference between revisions)
(Created page with "{{:Team:Heidelberg/Templates/MainTemplate}} {{:Team:Heidelberg/Templates/IncludeCSS|:Team:Heidelberg/css/bootstrapcss}} {{:Team:Heidelberg/Templates/IncludeCSS|:Team:Heidelberg/c...")
m (minor corrections and clarifications)
 
(5 intermediate revisions not shown)
Line 95: Line 95:
</div>
</div>
<div class="col-lg-12" style="color:white;">
<div class="col-lg-12" style="color:white;">
-
<h3>Please go to <a href="http://www.rcsb.org/">www.rcsb.org</a> and get a pdb file of your protein. If the 3D structure of your protein is known, we will be able to provide you an appropriate linker.</h3>
+
<h3>First of all, check the DNA sequence of your proteins for EcoRI, XbaI, SpeI, PstI and BsaI sites. If there are E/X/S/P sites, you might have problems to change your backbone or add a promotor. If there is a BsaI site, the cloning will be more difficult.</h3>
-
<h4>If the 3D structure is unknown, we will help you to find a set of potentially suitable linkers. </h4>
+
<div class="panel panel-default">
<div class="panel panel-default">
<div class="panel-body">
<div class="panel-body">
<div class="radio">
<div class="radio">
<label>
<label>
-
<input type="radio" data-bind="checked: data.gotProteinStructure, checkedValue: true, click: data.q9A.bind(null, true)" name="gotProteinStructure">
+
<input type="radio" data-bind="checked: data.hasBSAI, checkedValue: false, click: data.q0A.bind(null, true)" />
-
I’ve found one.
+
There is no BsaI site.
</label>
</label>
</div>
</div>
<div class="radio">
<div class="radio">
<label>
<label>
-
<input type="radio" data-bind="checked: data.gotProteinStructure, checkedValue: false, click: data.q9A.bind(null, true)" name="gotProteinStructure">
+
<input type="radio" data-bind="checked: data.hasBSAI, checkedValue: true, click: data.q0A.bind(null, true)" />
-
The 3D structure of my protein is unknown
+
There is a BsaI site.
</label>
</label>
</div>
</div>
</div>
</div>
</div>
</div>
-
<div data-bind="fadeVisible: data.q9A" style="display:none;">
+
</div>
-
<h4>Additionally, check the DNA sequence of your proteins for EcoRI, XbaI, SpeI, PstI and BsaI recognition sites. If there are E/X/S/P sites, you might have problems to change your backbone or add a promotor. If there is a BsaI recognition site, the cloning will be more difficult.</h4>
+
<div data-bind="if: data.q0A" class="col-lg-12">
-
<div class="panel panel-default">
+
<h1>Protocol</h1>
-
<div class="panel-body">
+
<ul>
-
<div class="radio">
+
<li>Get BBa_K1362141 (RBS + SspDnaB C-intein RFC [<span data-bind="text: RFCNumber"></span>] assembly construct) from the registry of standard biological parts.</li>
-
<label>
+
-
<input type="radio" data-bind="checked: data.hasBsaI, checkedValue: false, click: data.q0A.bind(null, true)" value="false" name="hasBasI"/>
+
-
There is no BsaI site.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.hasBsaI, checkedValue: true, click: data.q0A.bind(null, true)" value="true"  name="hasBasI"/>
+
-
There is a BsaI site.
+
-
</label>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<div data-bind="fadeVisible: data.q0A">
+
-
<h3>Do you want to use split inteins or sortase to circularize your protein?</h3>
+
-
<div class="panel panel-default">
+
-
<div class="panel-body">
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.useSortase, checkedValue: false, click: data.q1A.bind(null, true)" name="InteinorSortase"/>
+
-
NpuDnaE intein RFC <span data-bind="value: RFCnumber"></span> circularization construct
+
-
</label>
+
-
<ul>
+
-
<li>Successfully used in our project</li>
+
-
<li>High efficiency</li>
+
-
<li>In vivo circularization</li>
+
-
</ul>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.useSortase, checkedValue: true, click: data.q1A.bind(null, true)" name="InteinorSortase"/>
+
-
Sortase A circularization construct
+
-
</label>
+
-
<ul>
+
-
<li>In vitro more efficient</li>
+
-
<li>Reversible</li>
+
-
<li>Not successfully tested by us</li>
+
-
</ul>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<div data-bind="fadeVisible: data.q1A">
+
<li>Get BBa_K1362142 (RBS + SspDnaB N*-intein RFC [<span data-bind="text: RFCNumber"></span>] assembly construct) from the registry of standard biological parts.</li>
-
<h3>Can your protein be easily expressed in <i>E. coli</i>?</h3>
+
-
<div class="panel panel-default">
+
-
<div class="panel-body">
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.needsSmt3, checkedValue: false, click: data.q2A.bind(null, true)" name="needsSmt3"/>
+
-
Yes, no problem.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.needsSmt3, checkedValue: true, click: data.q2A.bind(null, true)" name="needsSmt3"/>
+
-
No, I will have to add <a href="http://parts.igem.org/Part:BBa_K1362429">Smt3</a>.
+
-
</label>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<div data-bind="fadeVisible: data.q2A() &amp;&amp; !data.useSortase()">
+
-
<h3>Which exteins do you want to use? They will remain as scars in your circular protein.</h3>
+
-
<div class="panel panel-default">
+
-
<div class="panel-body">
+
-
<!-- ko foreach: availableExteins -->
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: $parent.data.exteins, checkedValue: $data, click: $parent.data.q3A.bind(null, true)" name="Extein"/>
+
-
<span data-bind="text: N"></span>/<span data-bind="text: C"></span>
+
-
<!-- ko if: comment -->
+
-
(<span data-bind="text: comment"></span>)
+
-
<!-- /ko -->
+
-
<ul data-bind="foreach: notes">
+
-
<li data-bind="text: $data"></li>
+
-
</ul>
+
-
</label>
+
-
</div>
+
-
<!-- /ko -->
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<!-- ko if: data.gotProteinStructure -->
+
-
<div data-bind="fadeVisible: data.q3A() || (data.q2A() &amp;&amp; data.useSortase())">
+
-
<h3>If you want to save time, check manually whether the ends are close together (approx. <span data-bind="text: !data.useSortase() &amp;&amp; data.exteins().N == 'XXX' ? 5 : 15"></span>&thinsp;&Aring; or closer). For example, you can use the <a href="http://spdbv.vital-it.ch/">Swiss-PdbViewer</a> or <a href="http://www.pymol.org/">PyMOL</a>.</h3>
+
-
<div class="panel panel-default" >
+
-
<div class="panel-body">
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.endsAreClose, checkedValue: true, click: data.q4A.bind(null, true)" name="closeEnds"/>
+
-
They are close together.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.endsAreClose, checkedValue: false, click: data.q4A.bind(null, true)" name="closeEnds"/>
+
-
I want/have to use <span data-bind="text: softwareName"></span>.
+
-
</label>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<div data-bind="fadeVisible: data.q4A() &amp;&amp; !data.endsAreClose()">
+
<li><p>Get the BBa_K1362061 (N-terminal chitin binding domain with triglycine linker and His-tag) sequence from the registry of standard biological parts and order it for synthesis <b>with the BioBrick RFC 10 prefix and suffix added</b>.</p></li>
-
Please use <span data-bind="text: softwareName"></span> to generate a linker for your circular protein. [LINK]
+
-
This step might take up to 11 days.<br />
+
<li><p>Get the DNA of your protein of interest.</p></li>
 +
<li>
 +
<p>Design and order primers for your protein of interest</p>
 +
<p>In 5'&ndash;3' direction, the forward primer should have the following sequence:
 +
GTTTCTGGTCTCCCAACAGCATTCGCAGC + binding part</p>
 +
<p>In 5'&ndash;3' direction, the reverse primer should have the following sequence:
 +
GTTTCTGGTCTCTATTA + binding part</p>
 +
</li>
 +
<!-- MISSING: Verweis oder Hinweise zu Primerdesign allgemein. -->
-
NILS – hier könnte dein instruction-file-ersatz stehen <br />
+
<li><p>Use PCR to create your insert and purify it.</p></li>
 +
<!-- MISSING: Verweis oder Hinweise zu PCR bzw Twostep-PCR. -->
 +
<li><p>Use Golden Gate assembly to insert your protein of interest into BBa_K1362141 (RBS + SspDnaB C-intein RFC [<span data-bind="text: RFCNumber"></span>] assembly construct). This is the affinity tag-POI construct of the purification system.</p>
 +
<p data-bind="if: data.hasBSAI">Since there is a BsaI site in your protein, you have to religate after the Golden Gate reaction.</p></li>
 +
<!--MISSING: golden gate assembly-->
-
NILS – hier auch<br />
+
<li><p>Use Golden Gate assembly to insert BBa_K1362061 (N-terminal chitin binding domain with triglycine linker and His-tag) into BBa_K1362142 (RBS + SspDnaB N*-intein RFC [<span data-bind="text: RFCNumber"></span>] assembly construct). This is the affinity ligand construct of the purification system.
 +
</p></li>
 +
<!--MISSING: golden gate assembly-->
 +
<li><p>Clone both constructs into expression vectors.
 +
</p></li>
-
NILS – hier immernoch<br />
+
<li><p>Express the two constructs in different bacterial strains.</p></li>
 +
<li><p>Purify the proteins.</p></li>
-
NILS – hier ebnfalls und auch gerne noch umfangreicher<br />
+
<li><p>Prepare following buffers:</p>
 +
<ul>
 +
<li>wash buffer:  20 mM Tris-HCl, 1 M NaCl, 5 mM EDTA, pH 8.0</li>
 +
<li>cleavage buffer:  0.3 M l-arginine, 5 mM EDTA, 50 mM phosphate buffer, pH 6.5</li>
 +
<li>elution buffer:  0.6 M NaCl, 50 mM Tris-HCl, pH 9.0</li>
 +
</ul>
 +
</li>
 +
<li><p>Purify the affinity ligand part using Ni-Sepharose and load it onto a chitin column.</p>
 +
</li>
-
Please save this link:<br />
+
<li><p>Wash the column with wash buffer. After preparation you can store it in PBS with 0.02% NaN3.
-
<code id="comebackurl" style="display:inline-block; width:80%; overflow-y:hidden; vertical-align: middle;">https://2014.igem.org/<span id="pagename"></span>#<span data-bind="text: comeBackHash"></span></code><div style="display:inline-block; width: 20%; color:#de4230; vertical-align: middle;" id="copy-to-clip">&nbsp;<img src="/wiki/images/c/c6/Heidelberg_Clipboard.png" alt="Clipboard icon" />&nbsp;Copy to clipboard</div>
+
</p></li>
 +
<li><p>Apply the supernatant including the affinity tag-POI part onto the affinity column.</p></li>
-
In order to generate your linker, <span data-bind="text: softwareName"></span> needs to know the scar amino acid sequence that is caused by circularization. In your case, it is <span data-bind="text: data.useSortase() ? 'LPETG' : data.exteins().N == 'XXX' ? 'just C' : (data.exteins().N + data.exteins().C)"></span>.
+
<li><p>Wash with binding buffer.</p></li>
-
</div>
+
-
<div data-bind="fadeVisible: data.comingBack">
+
<li><p>Apply cleavage buffer for 3 bed volumes.</p></li>
-
<h3>Hello again. What is the result of <span data-bind="text: softwareName"></span>?</h3>
+
-
<div class="panel panel-default">
+
-
<div class="panel-body">
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.linkerLength, checkedValue: 0, click: data.q5A.bind(null, true)" name="linkerScarSize"/>
+
-
I do not need a linker.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.linkerLength, checkedValue: 1, click: data.q5A.bind(null, true)" name="linkerScarSize"/>
+
-
The linker + scars are &lt; 15 amino acids in length.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.linkerLength, checkedValue: 2, click: data.q5A.bind(null, true)" name="linkerScarSize"/>
+
-
The linker + scars are betweeen 16 and 30 amino acids in length.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.linkerLength, checkedValue: 3, click: data.q5A.bind(null, true)" name="linkerScarSize"/>
+
-
The linker + scars are &gt; 30 amino acids in length.
+
-
</label>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<div data-bind="fadeVisible: data.q5A">
+
-
<h3>Have you decided to use one linker or try different linkers?</h3>
+
-
<div class="panel panel-default">
+
-
<div class="panel-body">
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.testSeveral, checkedValue: false, click: data.q6A.bind(null, true)" name="testSeveral"/>
+
-
I trust <span data-bind="text: softwareName"></span>. One should be enough.
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.testSeveral, checkedValue: true, click: data.q6A.bind(null, true)" name="testSeveral"/>
+
-
I want to test several linkers.
+
-
</label>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<!-- /ko -->
+
-
<div data-bind="fadeVisible: !data.gotProteinStructure() &amp;&amp; (data.q3A() || data.q2A() &amp;&amp; data.useSortase())">
+
<li><p>Incubate the column at room temperature for 20 h.</p></li>
-
<h3>How large is your protein?</h3>
+
-
<div class="panel panel-default">
+
-
<div class="panel-body">
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.proteinSize, checkedValue: 0, click: data.q7A.bind(null, true)" name="porteinSize" />
+
-
Less than 50 amino acids
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.proteinSize, checkedValue: 1, click: data.q7A.bind(null, true)" name="porteinSize" />
+
-
50-150 amino acids
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.proteinSize, checkedValue: 2, click: data.q7A.bind(null, true)" name="porteinSize" />
+
-
151-300 amino acids
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.proteinSize, checkedValue: 3, click: data.q7A.bind(null, true)" name="porteinSize" />
+
-
301-500 amino acids
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.proteinSize, checkedValue: 4, click: data.q7A.bind(null, true)" name="porteinSize" />
+
-
501-700 amino acids
+
-
</label>
+
-
</div>
+
-
<div class="radio">
+
-
<label>
+
-
<input type="radio" data-bind="checked: data.proteinSize, checkedValue: 5, click: data.q7A.bind(null, true)" name="porteinSize" />
+
-
More than 700 amino acids
+
-
</label>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
</div>
+
-
<div class="col-lg-12">
+
<li><p>Wash with cleavage buffer.</p></li>
-
<div data-bind="fadeVisible: (data.q4A() &amp;&amp; data.endsAreClose()) || (data.q5A() &amp;&amp; data.linkerLength() == 0) || data.q6A() || data.q7A()">
+
-
<h3>Protocol:</h3>
+
<li><p>Recover the protein in the pass-through fraction.</p></li>
-
<!--Module 1  -->
+
-
<p>
+
-
Get BBa_K136200<span data-bind="if: !data.useSortase()&amp;&amp;!data.needsSmt3()">0</span><span data-bind="if: !data.useSortase()&amp;&amp;data.needsSmt3()">1</span><span data-bind="if: data.useSortase()&amp;&amp;!data.needsSmt3()">2</span><span data-bind="if: data.useSortase()&amp;&amp;data.needsSmt3()">3</span> <span data-bind="if: !data.useSortase()">NpuDnaE intein RFC <span data-bind="text: RFCnumber"></span></span><span data-bind="if: data.useSortase()">Sortase A</span> circularization construct <span data-bind="if: !data.useSortase()&amp;&amp;data.needsSmt3()">(with FLAG and Smt3)</span><span data-bind="if: data.useSortase()&amp;&amp;!data.needsSmt3()">(with His6)</span><span data-bind="if: data.useSortase()&amp;&amp;data.needsSmt3()">(with Smt3 and His6)</span> from the registry.
+
-
</p>
+
-
<!-- Module 2 -->
+
<li><p>The affinity tag is now released from the protein of interest and instead covalently bound to the affinity matrix.</p>
-
<p>Get the DNA of the protein you want to circularize.</p>  
+
<p>You can remove the affinity tag from the column by washing with elution buffer.</p>
 +
</li>
 +
</ul>
-
<!-- Module 3 -->
+
<h2>Reference for steps 13-22</h2>
-
<p data-bind="if: !data.gotProteinStructure()">We recommend you to try circularization without a linker and with flexible GS-linkers of different lenghts up to <span data-bind="if: data.proteinSize() == 0">8</span><span data-bind="if: data.proteinSize() == 1">10</span><span data-bind="if: data.proteinSize() == 2">15</span><span data-bind="if: data.proteinSize() == 3">20</span><span data-bind="if: data.proteinSize() == 4">25</span><span data-bind="if: data.proteinSize() == 5">30</span> amino acids (including exteins).</p>
+
<ul>
-
Backtranslate the amino acid sequence of your linker<span data-bind="if: data.testSeveral() || !data.gotProteinStructure()">s</span> to a nucleic acid sequence. Be aware of:
+
<li>Wei Lu et al.: Split intein facilitated tag affinity purification for recombinant proteins with controllable tag removal by inducible auto-cleavage. J. Chromatogr. A. 1218 (2011) 2553-2560. DOI: 10.1016/j.chroma.2011.02.053</li>
-
<ul>
+
</ul>
-
<li>Balanced GC-content</li>
+
-
<li>Restriction sites (especially PstI)</li>
+
-
<li>Codon usage</li>
+
-
<li>Avoid self annealing</li>
+
-
</ul>
+
-
<!-- Module 4 -->
 
-
<p>Design and order primers for your <span data-bind="if: data.linkerLength() == 2 || data.linkerLength() == 3">protein</span> insert. </p>
 
-
<ol>
 
-
<li><p>In 5'-3' direction, the forward primer should have the following sequence:</p>
 
-
<p>CT GGTCTCA <span data-bind="if: !data.useSortase()">CAAC</span><span data-bind="if: data.useSortase()">GGGT</span><span data-bind="if: data.exteins().N == 'RGK' || data.exteins().N == 'RGT'">TGCTGGGAA</span><span data-bind="if: data.exteins().N == 'AEY'">TGCTTCAAC</span><span data-bind="if: data.exteins().N == 'XXX'">TGC</span> + binding part
 
-
(=additional random nucleotides, BsaI site, <span data-bind="if: !data.useSortase()">RFC <span data-bind="text: RFCnumber"></span> E</span> <span data-bind="if: data.useSortase()">overhang</span><span data-bind="if: data.exteins().N == 'RGK' || data.exteins().N == 'RGT'">, CWE</span><span data-bind="if: data.exteins().N == 'AEY'">, CFN</span><span data-bind="if: data.exteins().N == 'XXX'">, Cys</span>)
 
-
</p>
 
-
</li>
 
-
<li><p>In 5'-3' direction, the reverse primer should have the following sequence:</p>
 
-
<p><span data-bind="if: data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5">CT GGTCTCT + binding part
 
-
(=additional random nucleotides, BsaI site)</span>
 
-
<span data-bind="if: !(data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5)">CT GGTCTCT <span data-bind="if: !data.useSortase()">AGCA</span><span data-bind="if: data.useSortase()">GAAG</span> <span data-bind="if: data.exteins().N == 'RGK'">TTTACCACG</span><span data-bind="if: data.exteins().N == 'RGT'"> GGTACCACG</span><span data-bind="if: data.exteins().N == 'AEY'">ATATTCCGC</span> <span data-bind="if: data.linkerLength() == 1 || data.proteinSize() == 0 || data.proteinSize() == 1 || data.proteinSize() == 2">+ linker sequence (reverse complement)</span> + binding part
 
-
(=additional random nucleotides, BsaI site, <span data-bind="if: !data.useSortase()">RFC <span data-bind="text: RFCnumber"></span> B</span><span data-bind="if: data.useSortase()">overhang</span> <span data-bind="if: data.exteins().N == 'RGK'">, RGK</span><span data-bind="if: data.exteins().N == 'RGT'">, RGT</span><span data-bind="if: data.exteins().N == 'AEY'">, AEY</span><span data-bind="if: data.exteins().N == 'RGK' || data.exteins().N == 'RGT' || data.exteins().N == 'AEY'"> reverse complement</span>)</span>
 
-
</p>
 
-
</li>
 
-
<li data-bind="style: { display: ((data.linkerLength() == 1 &amp;&amp; data.testSeveral()) || data.proteinSize() == 0 || data.proteinSize() == 1 || data.proteinSize() == 2) ? 'inline' : 'none'}">
 
-
<p>For any additional linker you want to test, you just need one additional reverse primer with the corresponding reverse complement linker DNA sequence.</p>
 
-
</li>
 
-
</ol>
 
-
<p>The Tm values of the binding parts should be between 60 °C and 70 °C and as similar as possible.</p>
 
-
<span data-bind="if: data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5">
 
-
Design and order oligos for your linker insert<span data-bind="if: data.testSeveral() || !data.gotProteinStructure()">s</span>.
 
-
<ol>
 
-
<li>
 
-
<p>
 
-
In 5'-3' direction, the forward <span data-bind="if: !data.linkerLength() == 3">oligo</span><span data-bind="if: data.linkerLength() == 3">strand</span> should have the following sequence:
 
-
</p>
 
-
<p>
 
-
Last 4 nucleotides of your protein + linker sequence + <span data-bind="if: data.exteins().N == 'RGK'">CGTGGTAAA (=RGK)</span><span data-bind="if: data.exteins().N == 'RGT'">CGTGGTACC (=RGT)</span><span data-bind="if: data.exteins().N == 'AEY'">GCGGAATAT (=AEY)</span>
 
-
</p>
 
-
</li>
 
-
<li>
 
-
<p>
 
-
In 5'-3' direction, the reverse <span data-bind="if: !data.linkerLength() == 3">oligo</span><span data-bind="if: data.linkerLength() == 3">strand</span> should have the following sequence:</p>
 
-
<p><span data-bind="if: !data.useSortase()">AGCA</span><span data-bind="if: data.useSortase()">GAAG</span> <span data-bind="if: data.exteins().N == 'RGK'">TTTACCACG</span><span data-bind="if: data.exteins().N == 'RGT'">GGTACCACG</span><span data-bind="if: data.exteins().N == 'AEY'">ATATTCCGC</span> + linker sequence (reverse complement)
 
-
(=<span data-bind="if: !data.useSortase()">RFC <span data-bind="text: RFCnumber"></span> B</span> <span data-bind="if: data.useSortase()">overhang</span> <span data-bind="if: data.exteins().N == 'RGK'">, RGK)</span><span data-bind="if: data.exteins().N == 'RGT'">, RGT</span><span data-bind="if: data.exteins().N == 'AEY'">, AEY</span><span data-bind="if: data.exteins().N == 'RGK' || data.exteins().N == 'RGT' || data.exteins().N == 'AEY'">reverse complement</span>)
 
-
 
-
</p>
 
-
</li>
 
-
</ol>
 
-
</span> <!-- Strange span ... check with max-->
 
-
 
-
<span data-bind="if: data.linkerLength() == 3">Probably these oligos would be longer than 90 nucleotides. In this case we recommend you to split the insert into several smaller inserts and order them as pairs of oligos. Use overhangs of 4-6 nucleotides and be careful that every overhang remains unique.
 
-
The largest linker we have successfully cloned this way was composed of 65 amino acids. ]
 
-
<span data-bind="if: data.testSeveral() || !data.gotProteinStructure()">For any additional linker you want to test, you just need another linker insert with the corresponding linker sequence.</span>
 
-
</span>
 
-
<!-- Module 5 -->
 
-
<p data-bind="if: data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5">Anneal your linker insert<span data-bind="if: data.testSeveral() || !data.gotProteinStructure()">s</span> as described here -LINK ZU MAT/MET ANNEALING-. </p>
 
-
 
-
<!-- Module 6 -->
 
-
<p>Use a Touchdown-Twostep PCR -LINK ZU MAT/MET TOUCHDOWNTWOSTEPPCR- to create your <span data-bind="if: data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5">protein</span> insert and purify it.</p>
 
-
 
-
<!-- Module 7 -->
 
-
Use Golden Gate assembly –LINK ZU MAT/MET GOLDEN GATE ASSEMBLY (CYCLING) to replace the mRFP selection marker in the circularization construct with <!-- Klammernfehler? --> <span data-bind="if: !(data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5)">your insert.</span><span data-bind="if: data.linkerLength() == 2 || data.linkerLength() == 3 || data.proteinSize() == 3 || data.proteinSize() == 4 || data.proteinSize() == 5">both your protein insert and your linker insert</span><span data-bind="if: data.testSeveral() || !data.gotProteinStructure()">s</span>.
 
-
<p data-bind="if: data.linkerLength() == 3">Because your annealed oligos are not 5'-phosphorylated, you have to add T4-polynucleotide kinase to the Golden Gate reaction.</p>
 
-
<p data-bind="if: data.hasBsaI()">Since there is a BsaI site in your protein, you have to religate – LINK ZU MAT/MET RELIGATION after the Golden Gate reaction.</p>
 
-
<!-- Module 8 -->
 
-
<p>
 
-
Add an inducible promotor by standard biobrick cloning or use one of our pSBX vectors –LINK ZU PSBX VECTOR-TEXT.
 
-
</p>
 
-
<!-- Module 9 -->
 
-
<p>Express your circular protein. If you are using our pSBX vectors, you can follow this protocol –LINK ZU PROTOKOLL EXPRESSION</p>
 
-
<!-- Module 10 -->
 
-
<span data-bind="if: data.useSortase()">SILVAN SCHREIBT HIER NOCH WAS ZU SORTASE</span>
 
-
 
-
</div>
 
</div>
</div>
</div>
</div>
</div>
</div>
 +
<script type="text/javascript">
<script type="text/javascript">
$(document).ready(function(){
$(document).ready(function(){
-
var vm = new CircularizationViewModel(window.location.hash);
+
vm = new PurificationViewModel(window.location.hash);
-
ko.applyBindings(vm);
+
ko.applyBindings(vm);
});
});
</script>
</script>
</html>
</html>
{{:Team:Heidelberg/Templates/IncludeJS|:Team:Heidelberg/js/toolboxguide}}
{{:Team:Heidelberg/Templates/IncludeJS|:Team:Heidelberg/js/toolboxguide}}

Latest revision as of 02:12, 4 January 2015

use the intein
TOOLBOX to

First of all, check the DNA sequence of your proteins for EcoRI, XbaI, SpeI, PstI and BsaI sites. If there are E/X/S/P sites, you might have problems to change your backbone or add a promotor. If there is a BsaI site, the cloning will be more difficult.

Protocol

  • Get BBa_K1362141 (RBS + SspDnaB C-intein RFC [] assembly construct) from the registry of standard biological parts.
  • Get BBa_K1362142 (RBS + SspDnaB N*-intein RFC [] assembly construct) from the registry of standard biological parts.
  • Get the BBa_K1362061 (N-terminal chitin binding domain with triglycine linker and His-tag) sequence from the registry of standard biological parts and order it for synthesis with the BioBrick RFC 10 prefix and suffix added.

  • Get the DNA of your protein of interest.

  • Design and order primers for your protein of interest

    In 5'–3' direction, the forward primer should have the following sequence: GTTTCTGGTCTCCCAACAGCATTCGCAGC + binding part

    In 5'–3' direction, the reverse primer should have the following sequence: GTTTCTGGTCTCTATTA + binding part

  • Use PCR to create your insert and purify it.

  • Use Golden Gate assembly to insert your protein of interest into BBa_K1362141 (RBS + SspDnaB C-intein RFC [] assembly construct). This is the affinity tag-POI construct of the purification system.

    Since there is a BsaI site in your protein, you have to religate after the Golden Gate reaction.

  • Use Golden Gate assembly to insert BBa_K1362061 (N-terminal chitin binding domain with triglycine linker and His-tag) into BBa_K1362142 (RBS + SspDnaB N*-intein RFC [] assembly construct). This is the affinity ligand construct of the purification system.

  • Clone both constructs into expression vectors.

  • Express the two constructs in different bacterial strains.

  • Purify the proteins.

  • Prepare following buffers:

    • wash buffer: 20 mM Tris-HCl, 1 M NaCl, 5 mM EDTA, pH 8.0
    • cleavage buffer: 0.3 M l-arginine, 5 mM EDTA, 50 mM phosphate buffer, pH 6.5
    • elution buffer: 0.6 M NaCl, 50 mM Tris-HCl, pH 9.0
  • Purify the affinity ligand part using Ni-Sepharose and load it onto a chitin column.

  • Wash the column with wash buffer. After preparation you can store it in PBS with 0.02% NaN3.

  • Apply the supernatant including the affinity tag-POI part onto the affinity column.

  • Wash with binding buffer.

  • Apply cleavage buffer for 3 bed volumes.

  • Incubate the column at room temperature for 20 h.

  • Wash with cleavage buffer.

  • Recover the protein in the pass-through fraction.

  • The affinity tag is now released from the protein of interest and instead covalently bound to the affinity matrix.

    You can remove the affinity tag from the column by washing with elution buffer.

Reference for steps 13-22

  • Wei Lu et al.: Split intein facilitated tag affinity purification for recombinant proteins with controllable tag removal by inducible auto-cleavage. J. Chromatogr. A. 1218 (2011) 2553-2560. DOI: 10.1016/j.chroma.2011.02.053