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.
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
| 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 |