Go models
Example from step by step tutorial: Martini model of protein 1UBQ in blue with the nonbonded Go interactions between backbone beads illustrated in black.
Quickstart
To process a system containing a protein with a Go model and visualise it, the following command can be used:
$ martiniglass -p topol.top -f frame.gro -vf -go -gf go_nbparams.itp
Where frame.gro should have the name of your desired input structure file.
Subsequently the system can be loaded into VMD as usual:
$ vmd frame.gro -e vis.vmd
This command will load the given structure file twice, and apply the two
visualisation topologies (vis.top and en.top respectively) to the two systems in VMD.
If a trajectory file is to be visualised along with the static structure, the following commands can be used:
$ martiniglass -p topol.top -f frame.gro -vf -el -traj trajectory.xtc
$ vmd frame.gro trajectory.xtc -e vis.vmd
which will enable dynamic visualisation of elastic network bonds through the course of the simulation.
Step by step tutorial
The selection of output files for this tutorial is available from the MartiniGlass examples folder.
The expected output can be generated in one go using the generate_expected_files.sh script run inside
the input folder.
Step 1: Martinize your protein
Create a martini model of a protein following the standard martinize2 protocol:
$ wget https://files.rcsb.org/download/1ubq.pdb
$ grep "^ATOM" 1ubq.pdb > 1UBQ_clean.pdb
$ wget https://raw.githubusercontent.com/Martini-Force-Field-Initiative/MartiniGlass/refs/heads/main/examples/protein_go_model/expected_output/contact_map.out
$ martinize2 -f 1UBQ_clean.pdb -o topol.top -x 1UBQ_cg.pdb -go contact_map.out
- These commands:
Download a 1ubq.pdb from the protein database
Prepare it to be martinized
Obtain the pre-calculated contact map for this protein
Create a coarse grained model of the protein
From this, you should expect the following files:
1UBQ_cg.pdb: a pdb file with the coordinates of the coarse grained beadstopol.top: a gromacs topology file describing your systemmolecule.itp: the coarse grained topology of the 1ubq proteingo_atomtypes.itp: the atomtypes of the Go modelgo_nbparams.itp: the additional nonbonded network describing the Go model of the protein
Without any further additions, topol.top only contains a single copy of your protein.
For more information on the Go model, see the tutorial in the Vermouth documentation
Step 2: Run MartiniGlass
The system is now ready to be processed by MartiniGlass. In this case, we have:
a protein with a go model
Therefore, the command we need to process with MartiniGlass is:
$ martiniglass -p topol.top -go -gf go_nbparams.itp -vf
This will generate the following files describing your system:
molecule_0_go.itp: the go network of the proteinmolecule_0_vis.itp: the direct bonded topology of the proteingo.top: a topology file for the go network of the systemvis.top: a topology file for the direct bonded networks of the system
Alongside these file, several files have been written to enable the topology to be loaded into VMD through
the use of the -vf (Visualisation Files) flag:
vis.vmd: VMD visualisation state filecg_bonds-v6.tcl: vmd commands to draw bonds between atomseigen.py: auxiliary python script required bycg_bonds-v6.tcl
Step 3: Loading your system in VMD
Step 3a: Loading the initial system
To fully view an elastic network in VMD using the files provided, the system needs to be loaded twice in VMD.
Load the system in VMD from the command line using the visualisation state file provided:
$ vmd 1UBQ_cg.pdb -e vis.vmd
This will load your system into VMD using the suggested visualisation mode.
vis.vmd includes commands that will:
Load the commands described in
cg_bonds-v6.tclRead in the visualisation topology described in
vis.topfor your system.
The image in VMD you now see should look something like this
where the backbone of the protein has been rendered as a continuous object.
Step 3b: Loading the Go model
Next, the system must be loaded a second time. Open the Molecule File Browser from the VMD menu (File -> New Molecule…) and load the same input structure file, into a New Molecule:
The system should now appear twice in the VMD main menu. With the system loaded a second time, the
elastic network topology can be loaded onto it. Open the Tk console from the VMD menu
(Extensions -> Tk Console), and load the topology using the cg_bonds program:
% cg_bonds -top go.top
This will load the topology information into the second system loaded. The bonds are then best visible by changing the graphics of the second molecule. Load the Graphical Representations menu from the VMD main menu (Graphics -> Representations…). Making sure you have the second molecule selected, change the Drawing Method to bonds, and pick a colour of your choice.
Applying these will ensure that the go network is now visible:
Although this may look identical to the elastic network shown previously, the contacts are in fact not the same. Additionally because of the way the Go contact map calculation works, the Go network model will never face the same issue of having atoms with > 12 bonds, and having to write auxiliary visualisation file to see the entire network.