FreeSASA is an open source library written in C for calculating solvent accessible surface areas of a protein. FreeSASA also contains Python bidings, and the plan is to include these bindings with ssbio in the future.

Installation instructions (Unix)


These instructions were created on an Ubuntu 17.04 system with a Python installation through Anaconda3.


FreeSASA Python bindings are slightly difficult to install with Python 3 - ssbio provides wrappers for the command line executable instead

  1. Download the latest tarball (see FreeSASA home page), expand it and run

    ./configure --disable-json --disable-xml
  2. Install with

    sudo make install

Program execution

In the shell

To run the program on its own in the shell…


With ssbio

To run the program using the ssbio Python wrapper, see:


  • How do I cite FreeSASA?

  • I’m having issues running FreeSASA…

    • See the ssbio wiki for (hopefully) some solutions - or add yours in when you find the answer!

API, ignore_hets=True)[source]

Process a NACCESS or freesasa RSA output file. Adapted from Biopython NACCESS modele.

  • rsa_outfile (str) – Path to RSA output file
  • ignore_hets (bool) – If HETATMs should be excluded from the final dictionary. This is extremely important when loading this information into a ChainProp’s SeqRecord, since this will throw off the sequence matching.

Per-residue dictionary of RSA values

Return type:

dict, outfile, include_hetatms=True, outdir=None, force_rerun=False)[source]

Run freesasa on a PDB file, output using the NACCESS RSA format.

  • infile (str) – Path to PDB file (only PDB file format is accepted)
  • outfile (str) – Path or filename of output file
  • include_hetatms (bool) – If heteroatoms should be included in the SASA calculations
  • outdir (str) – Path to output file if not specified in outfile
  • force_rerun (bool) – If freesasa should be rerun even if outfile exists

Path to output SASA file

Return type: