Tutorial to build AMBER compatable protein+lipid systems
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


AMBER Maestro Protein-Lipid Tutorial

This tutorial has been updated for AMBER 16 and Maestro 2016.1

This tutorial provides a step-by-step protocol to build protein-lipid systems for AMBER using the free version of Maestro bundled with Desmond. In contrast to that of the CHARMM membrane system web builder, Maestro's system builder provides a greater level of control for system size and orentation within the membrane to optimize simulation NS/day. Currently, only POPC membranes are supported. However, users are encouraged to generate and share their own charmmlipid2amber.py compatible conversion rulesets.

While written for membrane proteins, this method can be applied to soluble proteins as well with slight modification.

Before proceeding, it is highly recommened to familiarize yourself with the offical AMBER lipid tutorial found here as a working level knowledge of AMBER membrane systems is assumed.


Step 0: PDB preparation

Open and prepare your structure for LEaP input as normal in PyMOL or another PDB editing software.

Step 1: Determine Protein Membrane Orientation

Submit the cleaned membrane protein generated in step 0 to the OPM server for optimal membrane orientation determination. Always verify the membrane orientation before proceeding.

Step 2: Maestro Prep Wiz

Open Maestro and load the OPM oriented PDB file. Select the Prep Wiz tool found in the top toolbar and check the following settings. To run click preprocess.


Note: While Maestro can automically assign CYX disulfides I prefer to perfer to assign them manually prior to importing the structure into Maestro.

After preprocessing, select the refine tab and click optimize to determine optimal side chain protonation states and hydrogen boding networks using PROPKA.


Always manually verify protonation states and side chain orentations manually by selecting 'Interactive Optimizer'

Step 3: System Building

Open the Desmond system builder by selecting Tasks > Molecular Dynamics > System Setup from the top bar. Under Edit Membrane... select POPC (300K) and click 'Place on Prealigned Structure'.


Under Ions select Neutralize by adding and Add salt to 0.15 M.


Next, select the Solvation tab to set your system dimensions and click run.


Note: For larger systems this may take up to several minutes. At this point the water model does not matter. If you would like to use other water models than SPC simply edit the first bash script line in step 5.

Example desmond system:


Step 4: Remove Hydrogens

In the topbar of Masetro, select Tools > View In PyMOL > Workspace. Remove hydrogens on all protein and ligand residues (ACE -> NMA caps) NOT on lipids!


Save the PDB as desmondOut.pdb, This is important for the script below to run automatically!

Step 5: reformat PDB

Copy POPC.csv to the working folder and run the following terminal commands to convert your system to a LEaP compatible PDB:

awk 'BEGIN {w=1;l=0} /SPC/{printf("%4s %6d %-4s %-4s %5d  %9.3f %7.3f %7.3f  1.00  0.00\n"), $1, $2, $3, "WAT", w,$6,$7,$8; l++} {if(l % 3 == 0) w++;} !/SPC/{print $0}' desmondOut.pdb > waterFix.pdb
awk '{if ($4 == "ACE" && $3 != "C") next; else print $0}' waterFix.pdb > ACEfix.pdb
awk '{if ($4 == "NMA" && $3 != "N") next; else print $0}'  ACEfix.pdb | sed 's/NMA/NME/' > NMEfix.pdb
charmmlipid2amber.py -c POPC.csv -i NMEfix.pdb -o LipidFix.pdb
sed 's/CL/Cl-/' LipidFix.pdb | sed 's/NA/Na+/' | sed 's/  CL/Cl-/' | sed 's/  NA/Na+/' > SaltFix.pdb
awk '/NME/{print $0 ;print "Ter";next}1' SaltFix.pdb > TerFIX.pdb

Next, open TerFIX.pdb and add CYX residues and remuber NME residues by +1 (ex: NME A 348A should be NME A 349) if applicable.


Step 6: TLeap input

Extract the box dimensions from desmond_setup_1-out.cms and add +2 to each dimension to avoid issues with periodic boundary conditions during energy minimization and NVT equilibration.


Utilizing these dimensions, here is an example tLEaP input file:

source leaprc.ff14SB
source leaprc.lipid14

system = loadpdb ./myProtein.pdb

bond system.110.SG system.187.SG

set system box { 71.378655 66.033248 97.385489 }

saveamberparm system ./myProtein.prmtop ./myProtein.inpcrd


Note: Due to Maestros naming of ions, it is important to check the total system charge before runing simunations. Typically a handful of ions will be removed due to naming duplications and must be added back via 'addIonsRand'

Voila, Your system is ready for simulation using AMBER!