res.dpx()

Description

Computes the Depth from the Surface for Each Protein’s Residue.

Usage

res.dpx(pdb, aa = 'all')

Arguments

pdb is either a PDB id, or the path to a pdb file.

aa one letter code for the amino acid of interest, or ‘all’ for all the protein residues.

Value

A dataframe with the computed depths. The depth is defined as the distance in angstroms between the target residue and the closest atom on the protein surface. When the protein is composed of several subunits, the calculations are made for both, the residue being part of the complex, and the residue being only part of the polypeptide chain to which it belongs.

References

Details

Analysis of protein commonly requires the partition of their structure into regions such as the surface, interior, or interface. Whenever you are interested into analysing such a partition in a particular protein, the following function of the ptm package may be of help:

In order to obtain an accurate description of the protein interior, the function atom. dpx() provides meaures of the depth of each atom in the target protein, defined as its distance in Å from the closest solvent accessible atom. For instance, for calmodulin (CaM) a small monomeric protein:

aCaM <- atom.dpx('1cll') 
kable(head(aCaM))
elenoeletyresidresnochainareaenergydpx_complexdpx_chaindelta_dpx
1NL4A39.600.000.000
2CAL4A46.970.000.000
3CL4A0.001.241.240
4OL4A0.390.000.000
5NT5A1.370.000.000
6CAT5A0.001.471.470

while res.dpx() does the same but at the level of residues:

CaM <- res.dpx('1cll')
kable(head(CaM))
resresnoresidchainmin_dpx_complexavg_dpx_complexmax_dpx_complexmin_dpx_chainavg_dpx_chainmax_dpx_chain
L-4-A4LA00.311.2400.311.24
T-5-A5TA00.722.2700.722.27
E-6-A6EA00.141.2500.141.25
E-7-A7EA00.301.4700.301.47
Q-8-A8QA00.301.4700.301.47
I-9-A9IA00.682.4100.682.41

Note that for each residue, the function returns three dpx measurement: the one for the atom with the minimum distance, the one for the atom with the maximum dpx, and the average dpx for all the atom from that residue. You can also note that because CaM is a monomeric protein, there is not point in comparing the dpx values compute for the monomer and the complex (both are the same).

Now lets represent the dpx value along the primary sequence of a monomer of glyceraldehyde-3-phosphate dehydrogenase, a tetrameric protein.

GAPDH <- res.dpx('1u8f')

First using the minimum distance:

par(mfrow = c(2,1))
par(mar = c(2,4.1,1,2.1))
plot(1:335, GAPDH$min_dpx_complex[1:335], ty = 'b', ylab = 'Distance to surface')

Ddpx <- GAPDH$min_dpx_complex - GAPDH$min_dpx_chain # dpx_complex - dpx_monomer

plot(1:335, Ddpx[1:335], ty = 'b',
    xlab = 'Residue number', ylab = 'Complex - Monomer')

Then the averaged distance:

par(mfrow = c(2,1))
par(mar = c(2,4.1,1,2.1))
plot(1:335, GAPDH$avg_dpx_complex[1:335], ty = 'b', 
     xlab = 'Residue number', ylab = 'Distance to surface')

Ddpx <- GAPDH$avg_dpx_complex - GAPDH$avg_dpx_chain # dpx_complex - dpx_monomer

plot(1:335, Ddpx[1:335], ty = 'b', 
     xlab = 'Residue number', ylab = 'Complex - Monomer')

and finally, the maximum distance:

par(mfrow = c(2,1))
par(mar = c(2,4.1,1,2.1))
plot(1:335, GAPDH$max_dpx_complex[1:335], ty = 'b',
     xlab = 'Residue number', ylab = 'Distance to surface')

Ddpx <- GAPDH$max_dpx_complex - GAPDH$max_dpx_chain

plot(1:335, Ddpx[1:335], ty = 'b',
       xlab = 'Residue number', ylab = 'Complex - Monomer')