Skip to main content

zsasa

zsasa logo

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

SectionDescription
Getting StartedInstall zsasa and run first CLI/Python calculations
Choosing CLI or PythonPick the right interface for your data and workflow
Batch ProcessingProcess directories, JSONL output, residue maps, and chain filters
Workflow FilesReproducible TOML workflows for calc and batch jobs
Classifiers and CCDAtom radius assignment, CCD dictionaries, and custom classifiers
Trajectory AnalysisMD trajectory SASA with CLI and Python integrations
CLI ReferenceCommand syntax and option reference
Python APIPython bindings, core API, and integrations
BenchmarksPerformance and accuracy benchmarks
ComparisonHow zsasa compares to FreeSASA, RustSASA, and Lahuta