| Literature DB >> 26973785 |
Abstract
Calculating solvent accessible surface areas (SASA) is a run-of-the-mill calculation in structural biology. Although there are many programs available for this calculation, there are no free-standing, open-source tools designed for easy tool-chain integration. FreeSASA is an open source C library for SASA calculations that provides both command-line and Python interfaces in addition to its C API. The library implements both Lee and Richards' and Shrake and Rupley's approximations, and is highly configurable to allow the user to control molecular parameters, accuracy and output granularity. It only depends on standard C libraries and should therefore be easy to compile and install on any platform. The library is well-documented, stable and efficient. The command-line interface can easily replace closed source legacy programs, with comparable or better accuracy and speed, and with some added functionality.Entities:
Keywords: C library; Command-line tool; Python module; Solvent Accessible Surface Area; Structural Bioinformatics
Year: 2016 PMID: 26973785 PMCID: PMC4776673 DOI: 10.12688/f1000research.7931.1
Source DB: PubMed Journal: F1000Res ISSN: 2046-1402
Figure 1. C API.
Illustration of how to use the C API including rudimentary error handling.
Figure 2. Precision and calculation time.
The mean of the error ε in SASA vs T/ N, for the two algorithms in FreeSASA plus the programs NACCESS and POPS. Labels indicate the resolution used for each set of calculations, and error bars the standard error along both axes. The solid lines are only there to guide the eye, and the dashed lines indicate the analogous lines when using 2 and 4 threads in FreeSASA. An L&R run with 1000 slices was used as A ref when calculating ε for both approximations. NACCESS uses L&R and was run with three values of the z-parameter (0.1, 0.05 and 0.01, corresponding to 10, 20 and 100 slices per atom), a run with z-parameter 0.005 was used as A ref (using even lower z-values gave inconsistent results). The NACCESS reference calculation was also used as reference for POPS. All programs were compiled using GCC 4.9.3 with the optimization flag “-Ofast” and the tests were run on an Intel Core i5-2415M CPU at 2.30 GHz. The raw data for this figure can be found in Dataset 2.
Figure 3. Parallelization.
The histograms shows the distribution of the calculation time using two or four threads divided by the time using one thread. Thus if this fraction is two or four, respectively, we have “perfect” parallelization. The legends indicate the resolution of the calculation: for L&R, slices per atom, and for S&R, number of test points. The raw data for this figure can be found in Dataset 2.