Hydrophobic moment

Proteins do not typically wriggle around freely in solution but rather have structure. This structure can result in the separation from some chemical species from others. For simplisticity, let's refer to a chemical species here as amino acids and their formal charges as opposed to the partial charges of atoms. Electromagnetism tell us that we should call a separation of charges a dipole moment, which is simply a vector pointing from a pool of position charge to a pool of negative charge.


We are not going to be talking about electric dipoles today. Instead, we are going to talk about the hydrophobic moment. The hydrophobic moment measures the affinity of a protein structure for a hydrophobic medium and how that structure will direct itself toward that medium. You can also compute hydrophilic moments and get specific about what chemicals comprise the medium. But in a nutshell, these measurements follow a similar format.

We can compute the hydrophobic moment by reducing every amino acid in our protein to a simple vector, where the geometrical center of mass of the amino acid side chain is pointing away from the Cα atom. After establishing all such vectors for the N amino acids in our protein, we set their magnitude to a prespecified value indicating the affinity for that amino acid type to the hydrophobic medium. By averaging together these N vectors, we compute the vector that shows how the protein will orient itself in space with respect to the medium. The equation to compute this is


Here, we've slightly changed the language. For every amino acid i of N, we compute the normal vector and then multiply it by its modifier, which is the hydrophobicity of that residue. As noted above, there are many types of modifiers (not just hydrophobicity scales) we can apply. A good collection of scales is given by ExPASy, which, for instance, contains the classic Kyte-Doolittle hydrophobicity scale.

For a practical example, let's take the peptide sequence ARAAEARAAEARAAEY and assume it's in helical shape. In a helix, successive residues along the sequence are ideally offset by an angle of 100°. Therefore, we can directly compute the vector D in our equation. For simplicity, let's use the Kyte-Doolittle hydrophobicity scale, where alanine (A) has a hydrophobicity of 1.8, arginine (R) a value of -4.5, glutamic acid (E) a value of -3.5, and tyrosine (Y) a value of -1.3. We need to look closely at these values; charged species are given negative values and apolar A has a positive value. This means that, when we compute D, the vector will be pointing away from our hydrophobic medium instead of toward it. We would need to flip the signs of our scale to get the vector pointint toward the medium. In Python, we can compute this vector.

import numpy as np

modifier={'A': 1.8, 'R': -4.5, 'E': -3.5, 'Y': -1.3}
moment=[0., 0.]
for s in sequence:

The result is the vector D equal to [-4.0, 4.4], which has a magnitude of the 6.0. This magnitude is the strength of the current partitioning of our amino acids with respect to a hydrophobic medium.

To complement this quantity, we can plot the helix wheel. Here, we draw vectors for all the N amino acids in blue. I chose to weight these vectors by the hydrophobic scale, but many choose to leave these as unit vectors. Then, in red, I plot the hydrophobic moment, which remember here is pointing away from the hydrophobic medium.


So what's the insight? This quantity tells us how our amino acids will partition based on a medium. Since our medium is hydrophobic, we would expect more hydrophobic amino acids to be located toward the medium than away, and we would expect more polar amino acids to be located away from the medium.

Another way of thinking about this quantity is more exploratory. Given a sequence, we can test out how its amino acids will be partitioned in different media. If we change the arrangement of our amino acids to a β-sheet, for instance, do we see such a high magnitude of our hydrophobic moment?

These calculations are currently implemented in LLTK; however, they are still in beta version so we will add to this post in the future of exactly how to use our software for your own analyses. In the meantime, the snippet of code above for a helix will get you far.

Christopher LockhartComment