Skip to main content

zsasa

High-performance Solvent Accessible Surface Area (SASA) calculator in Zig. Up to 3x faster than FreeSASA C with f64 precision.

Quick Start

Python

pip install zsasa
# or
uv add zsasa
import numpy as np
from zsasa import calculate_sasa

coords = np.array([[0.0, 0.0, 0.0], [3.0, 0.0, 0.0]])
radii = np.array([1.5, 1.5])
result = calculate_sasa(coords, radii)
print(f"Total SASA: {result.total_area:.2f} Ų")

CLI

# One-line install
curl -fsSL https://raw.githubusercontent.com/N283T/zsasa/main/install.sh | sh

# Or with Nix
nix run github:N283T/zsasa -- calc structure.cif output.json
zsasa calc structure.cif output.json

Documentation

SectionDescription
Getting StartedInstallation and first calculation
ComparisonHow zsasa compares to FreeSASA, RustSASA, and Lahuta
AlgorithmsSR vs LR algorithm comparison
ClassifiersAtom radius assignment
Trajectory AnalysisMD trajectory SASA
CLI ReferenceFull CLI options
Python APIPython bindings documentation
BenchmarksPerformance and accuracy benchmarks