-
Notifications
You must be signed in to change notification settings - Fork 2
Tutorial 5
The files needed for the tutorial can be manually downloaded here.
In this tutorial, we will add two types of proteins to a vesicle and define a specific lipid domain for each protein copy. The proteins are named P1.gro and P2.gro, which will be referred to as protein1 and protein2 for the remainder of this tutorial.
To do this, we need to modify the .tsi file either manually or with the routines supplied in the PointUpdaterClass (PUC). First, we will attempt the manual method, and then use the DAI program in PUC to automatize it.
First, we need to select vertices for protein placement in the .tsi file. Afterward, we will match their corresponding names in the .gro file with those in the .str file. To achieve this, we will perform some modifications on the .tsi and .str files.
Start by using the command below to obtain a .gro file containing the vertex positions of our vesicle:
TS2CG PLM -TSfile Sphere.tsi -bilayerThickness 0 -rescalefactor 0.2 0.2 0.2 -Mashno 0
Identify the vertices where you would like to place the proteins by opening the Upper.gro file (located in the pointvisualization_data folder) in a visualization software of your choice, such as VMD. For this tutorial, we selected vertices 5 and 22 to place two copies of protein1, and vertex 30 for one copy of protein2.
Open the Sphere.tsi file using a text editor and scroll to the bottom to find the inclusion section. Since we want to add three proteins, change the existing 0 to 3. On the next line, add the protein information. For each protein, you will need to provide three integer values and two float values:
- Protein Index: This should start from 0.
- Protein Type ID: Use 1 for protein1 and 2 for protein2 (the ID can be any number, but it must match the one in input.str, as explained below).
- Vertex Index: This is the index of the vertex where the protein will be placed.
- Orientation: The last two numbers represent the orientation of the protein in the local coordinate frame of the vertex; these should be a unit two-dimensional vector.
The inclusion section of the Sphere.tsi file should looks as follows:
inclusion 3
0 1 5 0 1
1 1 22 0 1
2 2 30 0 1
Now, let’s assign specific lipid domain IDs to the vertices where the proteins are located in the Sphere.tsi file. Since each protein at vertices 5, 22, and 30 will be surrounded by a specific lipid type, we need to update these lines with corresponding lipid domain IDs:
- Vertex 5 and vertex 22: Change these lines to domain 1 to assign the first lipid type.
- Vertex 30: Change this line to domain 2 to assign the second lipid type.
For example, the line for vertex 5 should look like this after adding the lipid domain ID:
5 22.0396876425 23.6080597437 26.8858740866 1
NOTE
In this tutorial, protein2 (P2.gro) represents VDAC1, or voltage-dependent anion channel 1, which is a pore-forming protein. For proteins like this, we need to ensure that lipid molecules do not occupy the space within the channel pore. To achieve this, we will add an exclusion section to the .tsi file.
Now, open the Sphere.tsi file in a text editor, and add the exclusion section at the end of the file. Since there is only one protein2 in the system that should be free of lipids, write 1 in front of the exclusion line.
For each pore that you want to create, you will need to provide three values:
- Pore Index: Start from 0.
- Vertex Index: The index of the vertex where we want to remove the points
- Pore Radius: This is the radius of the pore that we want to create around the specified vertex. The exclusion section of the Sphere.tsi file should look like this:
exclusion 1 0 30 1
To complete the setup, follow these steps:
-
Update Protein Names in .gro Files:
- Open P1.gro and P2.gro.
- Change the first line in each file to match the desired protein names: protein1 for P1.gro and protein2 for P2.gro.
-
Include Protein Files in the input.str:
- Add the names of the .gro files for each protein at the top of the input.str file, within the [Protein List] section.
- Define the proteins by adding information on their placement.
-
Define the proteins in the input.str:
-
The [Protein List] section begins and ends with header and footer lines to mark the section.
-
Each unique protein should have a line with three main pieces of information:
-
Protein Name: This should match the name in the .gro file (e.g., protein1, protein2).
-
Protein Type ID: Matches the ID specified for the protein in the inclusion section of the .tsi file.
-
Position Shift: Specifies the offset of the protein in the normal direction relative to the membrane surface.
-
-
The remaining three numbers on each line are placeholders and are not used in the current approach.
-
-
Modify the Lipid Section:
- In the [Lipids List] section, specify each lipid domain, the lipid type, and the associated properties as shown in the example below.
Here’s the final format of the input.str file:
include P1.gro
include P2.gro
[Lipids List]
Domain 0
POPC 1 1 0.64
End
Domain 1
DOPC 1 1 0.64
End
Domain 2
POPE 1 1 0.64
End
[Protein List]
protein1 1 0.01 0 0 -2.5
protein2 2 0.01 0 0 -2.5
End Protein
This configuration ensures that each protein and lipid domain is correctly defined for simulation, with proteins positioned at specified vertices and surrounded by their designated lipid domains.
Now perform PLM and PCG:
TS2CG PLM -TSfile Sphere.tsi -bilayerThickness 3.8 -rescalefactor 4 4 4
TS2CG PCG -str input.str -Bondlength 0.2 -LLIB ./files/Martini3.LIB -defout system
You can find a script named run_tut5_1.sh in the tut5 folder. This script will generate a vesicle with three lipid domains (POPC, DOPC, and POPE) and three proteins. Each of the three proteins is positioned within a specific lipid domain. It will also run the TS2CG outputs in GROMACS, following these steps:
-
Energy Minimization without Solvent: Conduct a standard energy minimization, excluding solvent from the system.
-
Short Equilibration without Solvent: Run a brief equilibration step without solvent.
Fig. 5-1. Initial structure of the created vesicle with POPC/DOPC/POPE domains and three proteins (left) and the vesicle after a brief vacuum simulation using GROMACS (right). Visualized with VMD.
As demonstrated in the automatized section of tutorial 3, you can add circular domains around each included protein using the DAI command. To do this, refer to Sphere_2.tsi, which contains the protein inclusions without lipid domains. Setting lipid domains manually is not necessary, as the circular domains can be configured automatically around each protein.
The inclusion and exclusion sections in Sphere_2.tsi looks like:
inclusion 3
0 1 5 0 1
1 1 22 0 1
2 2 30 0 1
exclusion 1
0 30 1
First, execute PLM:
TS2CG PLM -TSfile Sphere_2.tsi -bilayerThickness 3.8 -rescalefactor 4 4 4
To place a circular lipid domain with domain ID 1 and a radius of 4 around protein1, execute the following commands (r specifies the radius, d the domain, and T the inclusion type as specified in the inclusions):
TS2CG DAI -p point -r 4 -d 1 -t 1
For domain 2 around protein2, execute the command again:
TS2CG DAI -p point -r 4 -d 2 -t 2
This will update the point folder and place a circular domain with domain ID 2 and a radius of 4 around protein2.
Note, it might happen, that the circular domains overlap; in that case, the second command will overwrite the domain specification of the first.
Next, execute PCG to position the lipids and proteins in their specified locations:
TS2CG PCG -str input.str -Bondlength 0.2 -LLIB ./files/Martini3.LIB -defout system
The outputs generated by TS2CG can be simulated using GROMACS, following the steps outlined in the first part of this tutorial (run_tut5_2.sh).
Fig. 5-2. Initial structure of the created vesicle with POPC/DOPC/POPE circular domains and three proteins (left) and the vesicle after a brief vacuum simulation using GROMACS (right). Visualized with VMD.
- Home
- About TS2CG
-
Tutorials
- Tutorial 1: Creating a Simple Vesicle
- Tutorial 2: Creating Lipid Mixture
- Tutorial 3: Membrane Domains
- Tutorial 4: Adding Protein to the Membrane
- Tutorial 5: Protein with a Specific Domain
- Tutorial 6: Fixed Shapes
- Tutorial 7: Placing Lipids Based on Favored Curvature
- Tutorial 8: Adding and Placing Proteins Based on Curvature
- Tutorial 9: Membrane Modifications With the Point Class [Jupyter]
- Tutorial 10: Simulating a Membrane