Skip to content

Commit

Permalink
membrane simulation
Browse files Browse the repository at this point in the history
  • Loading branch information
ssvassiliev committed Nov 13, 2023
1 parent 195aed7 commit 0369ea2
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 27 deletions.
2 changes: 0 additions & 2 deletions _episodes/09-Amber_flowchart.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ keypoints:
- "To run an MD simulation with AMBER 3 files are needed: an input file, a parameter file, and a file describing coordinates/velocities . "
---

https://github.com/ComputeCanada/molmodsim-amber-md-lesson/releases/download/workshop-2021-04/workshop_2023a.tar.gz

### Introduction
In this lesson we will go through the steps of setting up a fully solvated protein system for simulation with AMBER/NAMD/OPENMM. There are many commercial programs and interactive graphical interfaces designed to assist with system preparation. While these tools are easy to use and don't require as much learning efforts as command line tools, they are offer only a limited functionality, and most importantly results obtained with WEB/GUI tools are not reproducible and prone to human error. When a user needs to generate multiple systems with different proteins or membrane compositions or requires different starting configurations, relying on GUI/WEB interface becomes a challenge, as the process becomes time-consuming. Therefore, we will focus on system preparation using only scriptable command line driven tools. The emphasis of this lesson is to expose you to the various methods that can be used to create a reproducible molecular modeling workflow by automating preparation and simulation steps. One of the advantages of such approach is that once a workflow script have been developed it can be easily modified for other systems or conditions (for example if an updated version of pdb file is released, you can prepare a new simulation system with a single click).

Expand Down
32 changes: 14 additions & 18 deletions _episodes/13-Running_Simulations.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The general minimization strategy is first to restrict all solute atoms with the
{: .instructor_notes}

{: .self_study_text}
- it is safer to carry out several minimization steps gradually releasing restraints.
- It is safer to start minimization with restrained macromolecules and gradually release restraints in several minimization steps.
{: .self_study_text}

For example, we could do a two stage minimization. In the first stage we restrain all original atoms. In the second stage we restrain only the original backbone atoms. Our example protein is very small and we have limited time, so we skip the first step and restrain only protein backbone.
Expand Down Expand Up @@ -139,7 +139,7 @@ END
{: .file-content}

- There are several molecular dynamics programs in AMBER package: *sander, sander.MPI, pmemd, pmemd.MPI, pmemd.cuda*, and *pmemd.cuda.MPI*.
- *Sander* is distributed free, *pmemd* is high performance binary which requires a license.
- *Sander* is a free CPU-only simulation engine. A high-performance simulation program is available free of charge for non-commercial use under the name *pmemd*. A license agreement must be signed by users to use.

Submission script *submit.sh*:
~~~
Expand Down Expand Up @@ -188,14 +188,14 @@ In the examples bonds with hydrogens are not constrained and the default timeste
~~~
Heating
&cntrl
ntt=1, ! Use Berendsen thermostat
tempi=150,temp0=300,tautp=1, ! Initial and reference temperature, time constant
ntp=0, ! No barostat
ntpr=100, ! Print energies every ntpr steps
ntwx=1000, ! Write coordinates every ntws steps
nstlim=10000, ! Simulate nstlim steps
ntr=1, ! Use harmonic cartesian restraints
restraint_wt=10, ! Restraint force kcal/mol
ntt=1, ! Use Berendsen thermostat
tempi=150,temp0=300,tautp=1, ! Initial and reference temperature, time constant
ntp=0, ! No barostat
ntpr=100, ! Print energies every ntpr steps
ntwx=1000, ! Write coordinates every ntws steps
nstlim=10000, ! Simulate nstlim steps
ntr=1, ! Use harmonic cartesian restraints
restraint_wt=10, ! Restraint force kcal/mol
restraintmask="(:1-96)&(@CA,N,O)",
&end
END
Expand Down Expand Up @@ -439,13 +439,13 @@ EOF

#### Generate positional restraints file for the protein backbone.
~~~
gmx genrestr -f inpcrd.gro -fc 500.0 -n index.ndx -o backbone.itp<<EOF
gmx genrestr -f inpcrd.gro -fc 500.0 -n index.ndx -o backbone.itp << EOF
Backbone
EOF
~~~
{: .language-bash}

Add definitions of the position restraints to the topology "gromacs.top". Use a text editor of your choice to insert the following lines at the end of the syste1 molecule block:
Add definitions of the position restraints to the topology "gromacs.top". Use a text editor of your choice to insert the following lines at the end of the "system" molecule block:
~~~
#ifdef POSRES
#include "backbone.itp"
Expand All @@ -466,23 +466,19 @@ define = -D_POSRES
{: .file-content}

#### Convert AMBER restart to GROMACS restart.

~~~
import parmed as pmd
amber = pmd.load_file("prmtop.parm7", "rest.rst7")
ncrest=pmd.amber.Rst7("rest.rst7")
amber.velocities=ncrest.vels
amber.save("restart.gro")
~~~
{: .language-python}

#### Convert GROMACS restart to portable trajectory and make binary topology
#### Create portable binary restart (topol.tpr) file
~~~
gmx trjconv -f restart.gro -o restart.trr
gmx grompp -p topol.top -c restart.gro -t restart.trr -f gromacs_production.mdp
gmx grompp -p topol.top -c restart.gro -f gromacs_production.mdp
~~~
- Tested with gromacs/2021 and gromacs/2022.- This procedure does not work with gromacs/2023.
{: .language-bash}

The workshop data contains an example gromacs_production.mdp in the directory
Expand Down
30 changes: 24 additions & 6 deletions _episodes/14-Preparing_Protein-Membrane_System.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Preparing a Protein-Membrane Simulation System"
title: "Preparation and simulation of membrane and membrane-protein systems"
teaching: 30
exercises: 5
questions:
Expand All @@ -12,7 +12,10 @@ keypoints:
- " "
---

### Lipid force field

## Creating simulation systems with packmol-memgen

### AMBER Lipid force fields
Amber currently includes Lipid21 as its main membrane force field. In this modular force field, lipids are modeled as polymers composed of a headgroup and acyl tails. Essentially, this means that each headgroup and tail are independent modules, analogous to protein residues. Each lipid molecule is composed of a tail analogous to an "N-terminal", a central headgroup and another tail analogous to a "C-terminal". You can combine any headgroup with any pair of tails in this force field. Ok, now you should have an idea how the lipids are represented in the Lipid21 force field, and what lipids you can include in a simulation.

- There is a great deal of information provided in [Dickson, 2022](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9007451/) regarding best practices when using AMBER for lipid simulations.
Expand All @@ -21,7 +24,10 @@ Amber currently includes Lipid21 as its main membrane force field. In this modu
Known Issues:
Using MC barostat with hard LJ cutoff is known to cause bilayer deformation. It is recommended to use an LJ force switch when running simulations with the MC barostat.[Gomez, 2021](https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.26798)

### Creating simulation systems with packmol-memgen
- To see all available lipids use `--available_lipids_all`, but the list will have thousands of items!

### Creating a membrane-only simulation system

- What lipids are available?

~~~
Expand All @@ -30,9 +36,8 @@ packmol-memgen --available_lipids
~~~
{: .language-bash}

- To see all available lipids use `--available_lipids_all`, but the list will have thousands of items!

#### Creating a membrane-only simulation system

Submission script for creating a membrane-only simulation system:
~~~
#!/bin/bash
Expand Down Expand Up @@ -119,8 +124,13 @@ quit
`--salt`


### Preparing ligands
## Generating topologies and parameters for small molecules.

### Automate Topology Builder web service.
[ATB](https://atb.uq.edu.au) is limited to GROMOS 54A7 force field.


### ANTECHAMBER
- Download hexanediol HEZ.cif: wget https://www.rcsb.org/ligand/HEZ
- Convert .cif to .pdb: https://mmcif.pdbj.org/converter/index.php?l=en

Expand Down Expand Up @@ -155,6 +165,14 @@ saveoff HEZ hez.lib

Of course point charges are not very accurate because they are derived using semi-empirical method, but antechamber can also use results of gaussian QM calculations.

### AnteChamber PYthon Parser interfacE (ACPYPE)

[ACPYPE - AnteChamber PYthon Parser interfacE](https://bmcresnotes.biomedcentral.com/articles/10.1186/1756-0500-5-367).

- Simplifies the automatic generation of topology and parameters in different formats for different molecular mechanics programs.



### Links to advanced AMBER tutorials
- [Placing waters and ions using 3D-RISM and MOFT](http://ambermd.org/tutorials/advanced/tutorial34/index.html)
- [Building a Membrane System with PACKMOL-Memgen](https://ambermd.org/tutorials/advanced/tutorial38/index.php#Lipid_System)
Expand Down
3 changes: 2 additions & 1 deletion setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ layout: page
title: Setup
root: .
---
Download [data](https://github.com/ComputeCanada/molmodsim-amber-md-lesson/releases/download/workshop-2021-04/workshop.tar.gz)
Download data [workshop_2023a.tar.gz](https://github.com/ComputeCanada/molmodsim-amber-md-lesson/releases/download/workshop-2021-04/workshop_2023a.tar.gz)

0 comments on commit 0369ea2

Please sign in to comment.