FreeSASA
FreeSASA is a command line tool, C-library and Python module for calculating solvent accessible surface areas (SASA). Casual users can calculate SASA directly from a PDB file with no configuration overhead using sensible default parameters. Advanced users can configure all calculation parameters and also use the C and Python APIs to perform calculations directly on arrays of coordinates.
Build from source
Download the latest archive, expand it, and run
./configure make sudo make install
This installs the binary freesasa
to your path, the header
freesasa.h
, the library libfreesasa
and a man
page.
If you got the code directly from the git repo, first run
autoreconf -i
to create the configure script (this requires
autotools).
Tarballs for older versions are attached to the GitHub-releases
Install using package managers
You can install binaries that have already been built using package managers for some platforms.
Homebrew
With homebrew on MacOS (amd64, arm64) or Linux (amd64):
brew install brewsci/bio/freesasa
Conda, mamba or pixi
With conda, mamba or pixi on Linux (amd64, arm64, ppc64le) or MacOS (amd64, arm64):
# conda conda install -c conda-forge freesasa-c # mamba mamba install -c conda-forge freesasa-c # pixi pixi add freesasa-c
Running FreeSASA
After building the package, calling
freesasa -h
explains how the command line interface (CLI) can be used. If the man pages are installed more info is available through
man freesasa
Demo
Test FreeSASA using web assembly in the browser at the demo page.
Python bindings
From version 2.0.3 the Python bindings are released as a separate module. They can be installed using
# PyPI pip install freesasa # conda conda install -c conda-forge freesasa
Documentation
There is reference documentation for the CLI and the C API, and some implementation details, and for the Python module.
Citing FreeSASA
Simon Mitternacht (2016)
FreeSASA: An open source C library for solvent accessible surface
area calculation.
Legacy versions
Version 2 breaks a few parts of the interface. Tarballs for most older versions can be downloaded from the GitHub releases. The documentation and tarball for v1.1 are available at this site.