Given a protein (PDB ID), for each methionine this function computes distances to the closest aromatic residues and the number of S-aromatic motifs formed.


saro.dist(pdb, threshold = 7, rawdata = FALSE)


pdb either the path to the PDB file of interest or the 4-letters identifier.

threshold distance in ångströms, between the S atom and the aromatic ring centroid, used as threshold.

rawdata logical to indicate whether we also want the raw distance matrix between delta S and aromatic ring centroids.


The function returns a dataframe with as many rows as methionyl residues are found in the protein. The distances in ångströms to the closest tyrosine, phenylalanine and triptophan are given in the columns, as well as the number of S-aromatic motifs detected with each of these amino acids. Also a raw distance matrix can be provided.


Reid, Lindley & Thornton, FEBS Lett. 1985, 190:209-213.

See Also

meto.geometry(), meto.motif()


In the large inventory of the benefits provided by the presence of a sulfur atom in the side chain of methionine, we can find those effects derived from the so-called S-aromatic motifs. Indeed, an interaction of methionine and nearby aromatic residues (Phe, Tyr and Trp) was described as early as in the mid-eighties. Even earlier, a frequency of sulfur and aromatic ring in close proximity within proteins higher than expected had been noticed. Despite the potential importance of these findings, they went largely overlooked, perhaps because the physicochemical nature of this bond is only poorly understood.

Although the strength of these interactions may depend on the conditions of its environment, it is accepted that the S-aromatic interaction occurs at a greater distance (5-7 Å) than a salt bridge (< 4 Å), while the energies associated with either interaction are comparable. More recently, extensive surveys of the Protein Data Bank have revealed the importance of the methionine-aromatic motif for stabilizing protein structures and for protein-protein interactions (see the review Methionine in proteins: The Cinderella of the proteinogenic amino acids for further details).

When searching for S-aromatic motifs in proteins, two relevant variables are the distance between the delta sulfur atom (SD) and the centroid of the aromatic ring, which can be computed as the euclidean norm of the vector \mathbf{V_S} shown in the figure below

d =  \lVert \mathbf{V_S} \rVert

The other relevant variable is the angle theta. This angle is defined as that between the sulfur-aromatic vector (\mathbf{V_S}) and the normal vector of the aromatic ring (\mathbf{n}). This angle is complementary to the angle of elevation of the sulfur above the plane of the ring. In the figure, CG, SD and CE stand for carbon gamma, sulfur delta and carbon epsilon of the methionine residue.

S-aromatic motif

Note that two extreme cases are possible: a face-on interaction (angles around 0º) and an edge-on interaction (involving angles around 90º).

Currently, the ptm package offers three functions that may be useful for the study of these S-aromatic motifs:

To illustrate the use of saro.dist() we will use the alpha-1-antitrypsin protein (PDB ID: 3cwm).

a1a <- saro.dist('3cwm', threshold = 6)

##   Note: Accessing on-line PDB file


This protein has 9 methionyl residues, thus, the a1a dataframe contains 9 rows: one per methionine residue. For each methionine residue the function returns 10 variables or features (columns of the dataframe):

  • Met: the position of the methionine and the polypeptide chain identifier. For instance, Met-A-63 means the position 63 in the chain A of the protein PDB.
  • Tyr_closest: the closest tyrosine to the corresponding methionine.
  • Yd: distance (in ångströms) between the methionine and the closest tyrosine.
  • number_bonds_MY: number of tyrosine residues at distances below the threshold.
  • Phe_closest: the closest phenylalanine to the corresponding methionine.
  • Fd: distance (in ångströms) between the methionine and the closest phenylalanine.
  • number_bonds_MF: number of phenylalanine residues at distances below the threshold.
  • Trp_closest: the closest tryptophan to the corresponding methionine.
  • Wd: distance (in ångströms) between the methionine and the closest tryptophan.
  • number_bonds_MW: number of tryptophan residues at distances below the threshold.

Optionally, we can get a dataframe with all the distances between methionines and aromatic residues:

met_aro <- saro.dist('3cwm', threshold = 6, rawdata = TRUE)[[2]]

##   Note: Accessing on-line PDB file
met_aro <- met_aro[, -1] # removes column 1, which is not numerical
met_aro <- round(met_aro, 1) # rounds to one decimal