In [1]:

```
%matplotlib inline
from __future__ import print_function
import mdtraj as md
```

Lets load up the trajectory that we simulated in a previous example

In [2]:

```
traj = md.load('ala2.h5')
atoms, bonds = traj.topology.to_dataframe()
atoms
```

Out[2]:

Because alanine dipeptide is a little nonstandard in the sense that it's basically dominated by the ACE and NME capping residues, we need to find the indicies of the atoms involved in the phi and psi angles somewhat manually. For standard cases, see `compute_phi()`

and `compute_psi()`

for easier solutions that don't require you to manually find the indices of each dihedral angle.

In this case, we're just specifying the four atoms that together parameterize the phi and psi dihedral angles.

In [3]:

```
psi_indices, phi_indices = [6, 8, 14, 16], [4, 6, 8, 14]
angles = md.compute_dihedrals(traj, [phi_indices, psi_indices])
```

In [4]:

```
from pylab import *
from math import pi
figure()
title('Dihedral Map: Alanine dipeptide')
scatter(angles[:, 0], angles[:, 1], marker='x', c=traj.time)
cbar = colorbar()
cbar.set_label('Time [ps]')
xlabel(r'$\Phi$ Angle [radians]')
xlim(-pi, pi)
ylabel(r'$\Psi$ Angle [radians]')
ylim(-pi, pi)
```

Out[4]:

(ramachandran-plot.ipynb; ramachandran-plot_evaluated.ipynb; ramachandran-plot.py)

Versions