Creator Names:

Date created: January 16, 2019

One way to quantify solvent exposure on a per residue basis is to look at its relative neighbor count. The application per_residue_solvent_exposure.cc utilizes several different methods to calculate and output the neighbor counts on a per residue basis. The app contains two main ways to calculate the neighbor counts: centroid or fullatom (FA). Within each, there are multiple different methods to calculate the neighbor count.

NOTE: This application is an updated, more comprehensive version of the burial_measure_centroid application.

Centroid

Calculating the neighbor count in centroid mode will represent each sidechain as a single point, a centroid (Centroid). The neighbor count can then be calculated using either the "sphere" or "cone" method.

The "sphere" method counts the number of residues around the target residue and weights the count with a logistic function defined as neighbor count = 1/(1+exp(distance_steepness * (d - distance_midpoint)) where d is the calculated distance between the target residue's CEN and the neighbor residue's CEN, distance_steepness defines the steepness of the curve, and distance_midpoint defines the midpoint of the curve.

The "cone" method was adapted from the LayerSelector ResidueSelector. It calculates the neighbor count by weighting not just by the distance from the target residue but also the angle made between the target and the neighbor. The overall neighbor count is determined by taking the product of the distance and angle which are defined as follows:

distance_factor = 1/(1+exp(distance_steepness * (d - distance_midpoint)) where d is the calculated distance between the target residue's CEN and the neighbor residue's CEN, distance_steepness defines the steepness of the curve, and distance_midpoint defines the midpoint of the curve.

angle_factor = 1/(1+exp(angle_steepness * (theta - angle_midpoint)) where theta is the calculated angle between the vectors (target CA - target CEN) and (target CA - neighbor CEN), angle_steepness defines the steepness of the curve, and angle_midpoint defines the midpoint of the curve.

Full Atom (FA)

Calculating the neighbor count in FA mode is identical to that of centroid, but instead of using the centroid representation, the full atom representation is used. The same "sphere" and "cone" methods defined above are used, but can be broken down into smaller sub methods:

  • Residue Neighbor Count
    • Sphere Method with Closest Atom (target CA to neighbor closest atom)
    • Sphere Method with CB Atom (target CA to neighbor CB)
    • Cone Method with Closest Atom (distance = CA to closest, angle between CA-CB and CA-closest)
    • Cone Method with CB Atom (distance = CA to CB, angle between CA-CB and CA-CB)

Calculate the Residue Neighbor Count for the Backbone Amide (N-H instead of CA-CB) by adding the "-bbamide" flag when using the "cone" method. (Not available when running in centroid mode or closest atom mode.)

The various methods can be specified through command line options when running the application.

Usage

To use the application, the following command line options can be specified:

-in:file:s                pdb file(s) to calculate solvent exposure for
-centroid_version         use flag if centroid mode is desired (FA is default)
-in:file:centroid         use this flag if centroid mode calculations are being done!
-neighbor_closest_atom    use flag if FA calculation requires the nearest neighbor (default behavior is to use CB)
-solvent_exposure:method  use flag to set the neighbor count method to "sphere" (default) or "cone"
-dist_midpoint            midpoint of distance calculation (default = 9.0)
-dist_steepness           steepness of distance calculation curve (default = 1.0)
-angle_midpoint           midpoint of angle calculation (default = pi/4)
-angle_steepness          steepness of angle calculation curve (default = 2pi)
-bbamide                  use N-H instead of CA-CB vector (only in FA mode, not with -neighbor_closest_atom)

Expected output will be written to a file and list the residue numbers and their respective neighbor counts.

Example

./per_residue_solvent_exposure.linuxgccrelease -in:file:s 1dwr_A.pdb