<divstyle="text-align:center">Copyright 2013-2015 by Peter Eastman and Stanford University</div>
<divstyle="text-align:center">Copyright 2013-2017 by Peter Eastman and Stanford University</div>
<h1>1. Introduction</h1>
...
...
@@ -18,6 +18,7 @@ Protein Data Bank (PDB or PDBx/mmCIF) files often have a number of problems that
<li>The file may include more than what you want to simulate. For example, there may be salts, ligands, or other molecules that were added for experimental purposes. Or the crystallographic unit cell may contain multiple copies of a protein, but you only want to simulate a single copy.</li>
<li>There may be multiple locations listed for some atoms.</li>
<li>If you want to simulate the structure in explicit solvent, you will need to add a water box surrounding it.</li>
<li>For membrane proteins, you may also need to add a lipid membrane.</li>
</ol>
PDBFixer can fix all of these problems for you in a fully automated way. You simply select a file, tell it which problems to fix, and it does everything else.
...
...
@@ -71,13 +72,14 @@ If the file contains nonstandard residues, this page will allow you to replace t
This page lists all heavy atoms that are missing from the file. They will be added automatically.
<h3>Add Hydrogens and Water</h3>
<h3>Add Hydrogens, Water, and Membrane</h3>
This page gives you the chance to make other optional changes:
<ul>
<li><b>Add Missing Hydrogens</b> If hydrogen atoms are missing from the file, PDBFixer can add them for you. Some residues can exist in multiple protonation states. To select which one to use, you can specify a pH, and the most common form of each residue at that pH will be used.</li>
<li><b>Add Water</b> Add a water box surrounding the system. In addition to water, counterions will be added to neutalize the system. You also may choose to add more ions based on a desired total ionic strength. Select the ionic strength and the types of ions to use.
<li><b>Add Water</b> Add a water box surrounding the system. In addition to water, counterions will be added to neutalize the system. You also may choose to add more ions based on a desired total ionic strength. Select the ionic strength and the types of ions to use.</li>
<li><b>Add Membrane</b> Add a lipid membrane. POPC and POPE lipids are supported.</li>
</ul>
<h3>Save File</h3>
...
...
@@ -212,6 +214,16 @@ If you want to add a water box, call <tt>addSolvent()</tt>. This method has sev
If you want to add a lipid membrane, call <tt>addMembrane()</tt>. This method also adds water, so you should not also call <tt>addSolvent()</tt> when using it. There are several optional arguments. The full definition is
<tt>lipidType</tt> should be either <tt>'POPC'</tt> or <tt>'POPE'</tt>. <tt>membraneCenterZ</tt> is the position along the Z axis at which the center of the membrane will be located. <tt>minimumPadding</tt> is the minimum acceptable distance between the protein and the edges of the periodic box. All other arguments are the same as for <tt>addSolvent()</tt>. For example, the following line adds a POPE membrane centered at Z=0 with at least 1 nm of padding on all sides:
<p>
<tt>fixer.addMembrane('POPE')</tt>
<h3>Examples</h3>
Here is a complete example that ties this together. It adds all missing atoms including heavy atoms, missing residues, and hydrogens. It replaces all nonstandard residues by their standard equivalents then deletes all remaining heterogens except water. Finally, it fills in all gaps with water; that is, it adds a water box whose dimensions match the crystallographic unit cell. It saves the result to a file called output.pdb.
<inputtype="checkbox"id="addHydrogensCheckbox"name="addhydrogens"onchange="document.getElementById('phfield').disabled=!document.getElementById('addHydrogensCheckbox').checked"checked> Add hydrogens appropriate for pH <inputtype="text"id="phfield"name="ph"value="7.0"size="5">
<h1>Add Water</h1>
Add a water box surrounding the model?
<h1>Add Water/Membrane</h1>
Add a water box or membrane surrounding the model?
<p>
<inputtype="checkbox"id="addWaterCheckbox"name="addwater"onchange="enableControls(document.getElementById('waterInputs'), document.getElementById('addWaterCheckbox').checked)"> Add water
<inputtype="checkbox"id="addWaterCheckbox"name="addwater"onchange="waterBoxChanged()"> Add water box
<divid="waterInputs"style="margin-left:50px">
<tablestyle="text-align:right">
<tr>
...
...
@@ -122,6 +148,22 @@ Add a water box surrounding the model?
</tr>
%s
</table>
</div>
<p>
<inputtype="checkbox"id="addMembraneCheckbox"name="addmembrane"onchange="membraneBoxChanged()"> Add membrane and water
<divid="membraneInputs"style="margin-left:50px">
The membrane will lie in the XY plane and be centered at Z=0. Make sure the protein is properly oriented and positioned.
When possible, it is easiest to use a PDB file from <ahref="http://opm.phar.umich.edu/">OPM</a> since they are already properly positioned.