biotite.structure.sasa(array, probe_radius=1.4, atom_filter=None, ignore_ions=True, point_number=1000, point_distr='Fibonacci', vdw_radii='ProtOr')[source]

Calculate the Solvent Accessible Surface Area (SASA) of a protein.

This function uses the Shrake-Rupley (“rolling probe”) algorithm 1: Every atom is occupied by a evenly distributed point mesh. The points that can be reached by the “rolling probe”, are surface accessible.


The protein model to calculate the SASA for.

probe_radiusfloat, optional

The VdW-radius of the solvent molecules (default: 1.4).

atom_filterndarray, dtype=bool, optional

If this parameter is given, SASA is only calculated for the filtered atoms.

ignore_ionsbool, optional

If true, all monoatomic ions are removed before SASA calculation (default: True).

point_numberint, optional

The number of points in the mesh occupying each atom for SASA calculation (default: 100). The SASA calculation time is proportional to the amount of sphere points.

point_distrstr or function, optional

If a function is given, the function is used to calculate the point distribution for the mesh (the function must take float n as parameter and return a (n x 3) ndarray). Alternatively a string can be given to choose a built-in distribution:

  • Fibonacci - Distribute points using a golden section spiral.

By default Fibonacci is used.

vdw_radiistr or ndarray, dtype=float, optional

Indicates the set of VdW radii to be used. If an array-length ndarray is given, each atom gets the radius at the corresponding index. Radii given for atoms that are not used in SASA calculation (e.g. solvent atoms) can have arbitrary values (e.g. NaN). If instead a string is given, one of the built-in sets is used:

  • ProtOr - A set, which does not require hydrogen atoms in the model. Suitable for crystal structures. 2

  • Single - A set, which uses a defined VdW radius for every single atom, therefore hydrogen atoms are required in the model (e.g. NMR elucidated structures). 3

By default ProtOr is used.

sasandarray, dtype=bool, shape=(n,)

Atom-wise SASA. NaN for atoms where SASA has not been calculated (solvent atoms, hydrogen atoms (ProtOr), atoms not in filter).



A. Shrake, J. A. Rupley, “Environment and exposure to solvent of protein atoms. Lysozyme and insulin,” Journal of Molecular Biology, vol. 79, pp. 351–371, September 1973. doi: 10.1016/0022-2836(73)90011-9


J. Tsai, R. Taylor, C. Chothia, M. Gerstein, “The packing density in proteins: standard radii and volumes,” Journal of Molecular Biology, vol. 290, pp. 253–266, July 1999. doi: 10.1006/jmbi.1999.2829


A. Bondi, “Van der Waals volumes and radii,” The Journal of Physical Chemistry, vol. 68, pp. 441–451, March 1964. doi: 10.1021/j100785a001