Hello experts,
I need your kind help with the following queries:
In the topol_Protein_chain_A.itp
and topol_Protein_chain_B.itp
files, I noticed some content related to position restraints. Could someone explain what the terms fx
, fy
, and fz
represent?
I’m aiming to restrain the positions of the C-alpha atoms in both Chain A and Chain B. What would be appropriate values for fx
, fy
, and fz
in this context?
Can I use value of below 1000?
In the topol.top file, I am using below codes:
; Include chain topologies
#include "topol_Protein_chain_A.itp"
#ifdef POSRES
#include "posre_chainA_C_alpha.itp"
#endif
#include "topol_Protein_chain_B.itp"
#ifdef POSRES
#include "posre_chainB_C_alpha.itp"
#endif
Also, is it correct to use #ifdef POSRES
for both chains, or should I define separate identifiers like #ifdef POSRES_A
and #ifdef POSRES_B
for each chain?
In the md.mdp file, I am using following.
define = -DPOSRES ; position restrain the protein
Thank you in advance for your assistance!
See Restraints - GROMACS 2024.2 documentation for more information. fx, fy and fz are the restraints forces in the spatial dimensions. The unit (can be found in File formats - GROMACS 2024.2 documentation) is kJ/mol/nm^2.
You can choose your own values. If you want weaker restraints you can use values below 1000.
POSRES is what is commonly used, but you can apply the restraints separately by using different names, if you want to. If you use
#include "topol_Protein_chain_A.itp"
#ifdef POSRES_A
#include "posre_chainA_C_alpha.itp"
#endif
#include "topol_Protein_chain_B.itp"
#ifdef POSRES_B
#include "posre_chainB_C_alpha.itp"
#endif
you should use
define = -DPOSRES_A -DPOSRES_B
Great! I appreciate your prompt help!
I am pulling one protein through the pore of another protein using below codes.
; Pull code
pull = yes
pull_ngroups = 2 ; Two groups involved
pull_group1_name = clpb_pbc_atom ; c_term_ssar reference group
pull_group2_name = ala_calpha_109 ; c_term_ssar to be pulled
;pull-group1-pbcatom = 2141
pull_ncoords = 1 ; One coordinate for pulling
; Define pull coordinates
pull-coord1-type = umbrella ; Umbrella pulling
pull-coord1-groups = 1 2 ; 1 for reference, 2 for the atom to be pulled
pull-coord1-geometry = distance ; Distance geometry
pull-coord1-dim = N Y N ; Only consider the Y component of the distance
pull-coord1-start = yes ; Start from the initial configuration
pull-coord1-rate = 0.1 ; 0.01 nm per ps = 10 nm per ns
pull-coord1-k = 10 ; Force constant in kJ mol^-1 nm^-2
I’ve noticed that in the last few nanoseconds of my simulation, the protein with the central pore (the larger one) is drifting upwards along the y-axis. To prevent this movement, I want to restrain the position of the C-alpha atoms.
In my pullf.xvg
file, I observed the following:
# Grunge ROck MAChoS
#
@ title "Pull force"
@ xaxis label "Time (ps)"
@ yaxis label "Force (kJ/mol/nm)"
@TYPE xy
21639.6000 2163.96
21639.7000 2164.14
21639.8000 2164.11
21639.9000 2164.17
21640.0000 2164.14
21640.1000 2164.13
21640.2000 2164.13
21640.3000 2164.06
21640.4000 2164.07
21640.5000 2164.06
21640.6000 2164.06
21640.7000 2164.03
21640.8000 2164.03
21640.9000 2164.01
21641.0000 2164.05
21641.1000 2164.03
21641.2000 2164.04
21641.3000 2164.02
21641.4000 2164.03
21641.5000 2164.03
I’m considering using a force constant of 1000 kJ/mol/nm² for the restraints. Given the large size of my system and the time it takes to run, I’d like to get some expert opinions before proceeding. Is this force constant appropriate, or would a different value be more effective?
Thanks in advance!
Restraining the c-alpha atoms by 100 kJ/mol/nm^2 along the y axis sounds reasonable to me. But it could cause artifacts if some residues need to move along the y axis to make room for the smaller protein passing through.
Is it really a problem that the bigger protein is drifting upwards?
The force values in pullf.xvg seems fairly high, considering the low pull force constant. I guess the protein that you are pulling is not following the pull center very closely, right?