Startzsasa

zsasa

High-performance Solvent Accessible Surface Area (SASA) calculator in Zig. The current benchmark suite covers FreeSASA agreement, proteome-scale batch throughput, large single structures, and low-memory MD trajectory analysis.

Preprint

The zsasa preprint is now available on bioRxiv: zsasa: a Zig-based engine for high-throughput solvent accessible surface area at proteome scale.

See Citation for the formatted reference and BibTeX.

Quick Start#

Python#

bash
pip install zsasa
# or
uv add zsasa
python
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#

bash
# 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
bash
zsasa calc structure.cif output.json

Documentation#

Section Description
Getting Started Install zsasa and run first CLI/Python calculations
Choosing CLI or Python Pick the right interface for your data and workflow
Batch Processing Process directories, JSONL output, residue maps, and chain filters
Workflow Files Reproducible TOML workflows for calc and batch jobs
Classifiers and CCD Atom radius assignment, CCD dictionaries, and custom classifiers
Trajectory Analysis MD trajectory SASA with CLI and Python integrations
CLI Reference Command syntax and option reference
Python API Python bindings, core API, and integrations
Benchmarks Performance and accuracy benchmarks
Comparison How zsasa compares to FreeSASA, RustSASA, and Lahuta
Citation Preprint reference and BibTeX
Edit this page