# Solvent Accessible Surface Area

**URL:** <https://discourse.julialang.org/t/solvent-accessible-surface-area/132751>\
**Category:** General Usage\
**Tags:** molecular-simulation\
**Created:** [September 29, 2025, 7:38pm UTC](https://discourse.julialang.org/t/solvent-accessible-surface-area/132751 "2025-09-29T19:38:23Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [October 1, 2025, 4:58pm UTC](https://discourse.julialang.org/t/solvent-accessible-surface-area/132751/2 "2025-10-01T16:58:25Z")

</div>

Update:

After the [help from you](https://discourse.julialang.org/t/nerd-sniping-can-you-make-this-faster/132793/24), now we are in a different ballpark here.

For small structures the SASA here implemented takes similar time than Gromacs and VMD.

For large structures, it is much faster than Gromacs, and similar to VMD without the julia startup time (6co8.pdb is a ~700k virus capsid):

Gromacs:

```bash
$ time gmx sasa -s ./6co8.pdb -o sasa_output.xvg -ndots 100
real 1m15,536s
user 1m15,412s
sys 0m0,123s

```

VMD:

```bash
$ time vmd -dispdev text -e sasa_big.vmd
real 0m3,941s
user 0m3,716s
sys 0m0,543s

```

SASA from PDBTools.jl:

```bash
$ time julia --project -e "using PDBTools; sasa(atomic_sasa(read_pdb(\"6co8.pdb\")))"
real 0m7,134s
user 0m8,000s
sys 0m0,400s

#or
julia> @b sasa(atomic_sasa(pdb; parallel=false))
3.635 s (40045204 allocs: 1.186 GiB, 17.71% gc time, without a warmup)

```

To be released soon in PDBTools.jl 3.5.2

(all these are single-threaded, I’m not sure if VMD is using the GPU)

---

_[View the full topic](https://discourse.julialang.org/t/solvent-accessible-surface-area/132751)._
