GMX-SASA(1)

πŸ’– gmx-sasa β€” it's giving solvent accessible surface area πŸ’–

okay bestie, welcome to GMX-SASA(1), straight outta the GROMACS manual. this is the page where we compute solvent accessible surface areas and honestly? iconic. let's get into it 🫢


✨ NAME ✨

gmx-sasa β€” compute solvent accessible surface area. that's it. that's the whole vibe. surface area, but make it solvent-accessible πŸ’…


🌈 SYNOPSIS 🌈

gmx sasa [-f [<.xtc/.trr/...>]] [-s [<.tpr/.gro/...>]] [-n [<.ndx>]]
         [-o [<.xvg>]] [-odg [<.xvg>]] [-or [<.xvg>]] [-oa [<.xvg>]]
         [-tv [<.xvg>]] [-q [<.pdb>]] [-b <time>] [-e <time>]
         [-dt <time>] [-tu <enum>] [-fgroup <selection>]
         [-xvg <enum>] [-[no]rmpbc] [-[no]pbc] [-sf <file>]
         [-selrpos <enum>] [-probe <real>] [-ndots <int>] [-[no]prot]
         [-dgs <real>] [-surface <selection>] [-output <selection>]

no cap, that's a lot of brackets. don't panic, they're basically all optional. we'll go through every single one, i promise πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

so gmx sasa computes solvent accessible surface areas. the algorithm used is from Eisenhaber F, Lijnzaad P, Argos P, Sander C, & Scharf M (1995) J. Comput. Chem. 16, 273-284. yes, the full citation, because we cite our sources in this house πŸ“šβœ¨

if you pass -q, you can also generate the Connolly surface into a .pdb file, where the nodes are represented as atoms and the edges connecting the nearest nodes show up as CONECT records. lowkey gorgeous.

-odg lets you estimate solvation free energies from per-atom solvation energies per exposed surface area. very "science is happening" of it.


the program requires a selection for the surface calculation, and you give it with -surface. this should always consist of all non-solvent atoms in the system. the area of this group is always calculated, no take-backs. optionally, -output can specify additional selections, which should be subsets of the calculation group. the solvent-accessible areas for those groups get extracted from the full surface too. main group stays the main group, besties πŸ‘‘


the average and standard deviation of the area over the trajectory can be calculated per residue and per atom β€” that's options -or and -oa. so you get the full ✨ statistical moment ✨ treatment.


with the -tv option you can compute the total volume and density of the molecule. and here's the tea:

with -pbc (which is the default), you must ensure that your molecule/surface group is not split across PBC. otherwise you will get non-sensical results. like, actually nonsense. πŸ™ˆ

also please consider whether the normal probe radius is appropriate in this case, or whether you'd rather use, e.g., 0. it's good to keep in mind that the results for volume and density are very approximate. for example, in ice Ih, one can easily fit water molecules in the pores which would yield a volume that is too low, and surface area and density that are both too high. so like… vibe check your numbers, fr fr πŸ’€


πŸ’… OPTIONS πŸ’…

πŸ“₯ Options to specify input files

  • -f [<.xtc/.trr/...>] (traj.xtc) (Optional) β€” input trajectory or single configuration. supported formats: xtc trr cpt gro g96 pdb tng h5md. give me the movement πŸ•Ί
  • -s [<.tpr/.gro/...>] (topol.tpr) (Optional) β€” input structure. supported formats: tpr gro g96 pdb brk ent. the blueprint, the anatomy, the skeleton 🦴
  • -n [<.ndx>] (index.ndx) (Optional) β€” extra index groups. bonus groups, because sometimes you want more 🎁

πŸ“€ Options to specify output files

  • -o [<.xvg>] (area.xvg) β€” total area as a function of time. the main character output πŸ‘‘
  • -odg [<.xvg>] (dgsolv.xvg) (Optional) β€” estimated solvation free energy as a function of time. thermodynamics but make it a plot πŸ”₯
  • -or [<.xvg>] (resarea.xvg) (Optional) β€” average area per residue. per-residue receipts 🧾
  • -oa [<.xvg>] (atomarea.xvg) (Optional) β€” average area per atom. down to the atomic level, literally βš›οΈ
  • -tv [<.xvg>] (volume.xvg) (Optional) β€” total volume and density as a function of time. (see the PBC warning above, bestie, it's serious!!) 🌊
  • -q [<.pdb>] (connolly.pdb) (Optional) β€” PDB file for the Connolly surface. pretty shapes in a text file 🎨

πŸŽ›οΈ Other options

  • -b <time> (0) β€” first frame (ps) to read from trajectory. where the reading begins, no cap 🎬
  • -e <time> (0) β€” last frame (ps) to read from trajectory. the finale πŸŒ…
  • -dt <time> (0) β€” only use frame if t MOD dt == first time (ps). the selective one, she's picky πŸ’…
  • -tu <enum> (ps) β€” unit for time values: fs, ps, ns, us, ms, s. time units, you choose πŸ•°οΈ
  • -fgroup <selection> β€” atoms stored in the trajectory file (if not set, assume first N atoms). who's even in this file πŸ‘€
  • -xvg <enum> (xmgrace) β€” plot formatting: xmgrace, xmgr, none. aesthetic choices, we love to see it πŸŽ€
  • -[no]rmpbc (yes) β€” make molecules whole for each frame. no broken molecules on my watch 🧩
  • -[no]pbc (yes) β€” use periodic boundary conditions for distance calculation. (again: read the -tv warning, i'm begging 😭)
  • -sf <file> β€” provide selections from files. selections, but offloaded to a file πŸ“„
  • -selrpos <enum> (atom) β€” selection reference positions: atom, res_com, res_cog, mol_com, mol_cog, whole_res_com, whole_res_cog, whole_mol_com, whole_mol_cog, part_res_com, part_res_cog, part_mol_com, part_mol_cog, dyn_res_com, dyn_res_cog, dyn_mol_com, dyn_mol_cog. yes, all sixteen of them, and yes, you need to know about every single one 🫑
  • -probe <real> (0.14) β€” radius of the solvent probe (nm). tiny little probe, big responsibility 🧚
  • -ndots <int> (24) β€” number of dots per sphere. more dots means more accuracy. the grind pays off ✨
  • -[no]prot (yes) β€” output the protein to the Connolly .pdb file too. protein, you're invited to the party πŸŽ‰
  • -dgs <real> (0) β€” default value for solvation free energy per area (kJ/mol/nm^2). units included, we're precise like that πŸ”¬
  • -surface <selection> β€” surface calculation selection. the required one, the one that matters, the moment 🫢
  • -output <selection> β€” output selection(s). subsets, remember? keep it inside the group βœ‹

πŸ‘€ SEE ALSO πŸ‘€

  • gmx(1) β€” the whole gmx family, the og

more information about GROMACS is available at <http://www.gromacs.org/>. go touch grass on that website, bestie 🌱


2026, GROMACS development team. respect the devs, they ate πŸ½οΈπŸ’–


and that's the whole page, babe. GROMACS 2026.4, dated Oct 02, 2026 β€” MWAH πŸ’‹ go compute some surface area, you've got this πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from