7.1.4. Radius of gyration¶
The radius of gyration measures the compactness of a protein structure.
where \(M = \sum_{i=1}^{N} m_i\) is the total mass and \(\mathbf{R} = N^{-1}\sum_{i=1}^{N} \mathbf{r}_i\) is the center of mass of the protein consisting of \(N\) atoms.
The Gromacs tool gmx gyrate can be used to compute the radius of gyration for the whole protein (using the pre-defined “Protein” index group)
mkdir analysis/rgyr && cd analysis/rgyr
echo Protein | gmx gyrate -s ../../MD/md.tpr -f ../../MD/md.xtc -o gyrate.xvg
and the resulting time series in file gyrate.xvg
can be
plotted [1].
(In principle, \(R_\mathrm{gyr}\) can indicate changes in conformation but the simulation time in our test trajectory is too short to reveal the large conformational transition that AdK can undergo [Beckstein2009].)
Footnotes
[1] | To plot in Python, make sure to not write xvg legend information
to the output file (using the echo Protein | \
gmx gyrate -s ../../MD/md.tpr -f ../../MD/md.xtc -o gyrate.xvg -xvg none
so that you can easily read the data with import matplotlib.pyplot as plt
import numpy
t,data,x,y,z = numpy.loadtxt("gyrate.xvg", unpack=True)
fig = plt.figure(figsize=(5,2.5))
ax = fig.add_subplot(111)
fig.subplots_adjust(bottom=0.2)
ax.fill_between(t,data, color="magenta", linestyle="-", alpha=0.1)
ax.plot(t,data, color="magenta", linestyle="-")
ax.set_xlabel("time $t$ (ps)")
ax.set_ylabel(r"protein $R_\mathrm{gyr}$ (nm)")
fig.savefig("rgyr.png", dpi=300)
fig.savefig("rgyr.svg")
fig.savefig("rgyr.pdf")
|