Skip to main content

Fast SASA calculation using Zig

Project description

zsasa Python Bindings

Python bindings for zsasa — a high-performance SASA calculator in Zig.

Full Documentation

Installation

pip install zsasa
# or
uv add zsasa

Optional Dependencies

pip install zsasa[gemmi]      # Gemmi integration
pip install zsasa[biopython]  # BioPython integration
pip install zsasa[biotite]    # Biotite integration
pip install zsasa[all]        # All integrations

Quick Start

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} Ų")
# With structure file (gemmi)
from zsasa.integrations.gemmi import calculate_sasa_from_structure
result = calculate_sasa_from_structure("protein.cif")
print(f"Total: {result.total_area:.1f} Ų")

Features

  • Two algorithms: Shrake-Rupley and Lee-Richards, with bitmask LUT optimization
  • Selectable precision: f64 (default) or f32
  • Multi-threading: Automatic parallelization
  • Atom classification: NACCESS, ProtOr, OONS classifiers
  • Analysis: Per-residue aggregation, RSA, polar/nonpolar classification
  • Batch processing: process_directory() for proteome-scale datasets
  • MD trajectory: Native XTC/DCD readers, MDTraj and MDAnalysis integration
  • Integrations: Gemmi, BioPython, Biotite

See the full API reference for details.

Development

cd python
uv run --with pytest pytest tests/ -v    # Tests
ruff format . && ruff check --fix .      # Lint

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zsasa-0.2.7.tar.gz (176.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zsasa-0.2.7-cp313-cp313-win_amd64.whl (945.4 kB view details)

Uploaded CPython 3.13Windows x86-64

zsasa-0.2.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

zsasa-0.2.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

zsasa-0.2.7-cp313-cp313-macosx_11_0_x86_64.whl (813.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

zsasa-0.2.7-cp313-cp313-macosx_11_0_arm64.whl (718.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

zsasa-0.2.7-cp312-cp312-win_amd64.whl (945.4 kB view details)

Uploaded CPython 3.12Windows x86-64

zsasa-0.2.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

zsasa-0.2.7-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

zsasa-0.2.7-cp312-cp312-macosx_11_0_x86_64.whl (813.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

zsasa-0.2.7-cp312-cp312-macosx_11_0_arm64.whl (718.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zsasa-0.2.7-cp311-cp311-win_amd64.whl (945.4 kB view details)

Uploaded CPython 3.11Windows x86-64

zsasa-0.2.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

zsasa-0.2.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

zsasa-0.2.7-cp311-cp311-macosx_11_0_x86_64.whl (813.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

zsasa-0.2.7-cp311-cp311-macosx_11_0_arm64.whl (718.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file zsasa-0.2.7.tar.gz.

File metadata

  • Download URL: zsasa-0.2.7.tar.gz
  • Upload date:
  • Size: 176.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zsasa-0.2.7.tar.gz
Algorithm Hash digest
SHA256 daa12c0bcd9fda7514e7d071883455e9f69177e17afc638947fad129aa316cbc
MD5 90f6976d1b76f6e7d6bf381ddc483613
BLAKE2b-256 b5cc71aafdc2df2f4da9ed584d04df5bf2a8dbc556ee239a654fbcd0121635e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7.tar.gz:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: zsasa-0.2.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 945.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zsasa-0.2.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 59ab46cfda48c30cbe24713cb3677edc2359e9d2c12a150b2bcdba748ce76520
MD5 5907d1212b9564667d5870375096f67d
BLAKE2b-256 aaafe4482fac88f2f47d4f41a32ec9ae2d80878d2e8545b2ffe2c831fb84aafc

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5fab29e1a13af28f0203b2a6b3f7e0272f49e7fa5fb297d3d51b6fd23f7a97be
MD5 e71e3813226ea5eed28e52880e27055c
BLAKE2b-256 748f88c76dc44c956932ab9b6d97c606b1ada7d31622da9ae18a796d538eb08c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 74cc10cd67e4a0fa97231a0cf043959098f92bfde880a2c7a6ceb18651bb063e
MD5 5e31660be76a5cd27a6efced661376a2
BLAKE2b-256 52c336d4abdda9126b6221fed60a796bb3f8c68421565b6513294c2e83ab5b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9989913c6bb7c4169d712d9b27fc3b6bdfb1253aa4d76d0d97e51e9b5b01c5d6
MD5 9601e87b1f15362bcd0372bf1b5a354d
BLAKE2b-256 9ea4d91cc32b8294f7665f4f92ac709af680c9cd1f419057d3885f572c85476d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp313-cp313-macosx_11_0_x86_64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18c066a4a1988c5d49a4a104e64569e414a4fcca8b45c6e459787a886aceed57
MD5 ca439a2ce843cbd6ca550da6279d9fbb
BLAKE2b-256 afadb8b3823df00762bbfa726128123c557bc37fe5067288350d618f882c1adb

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: zsasa-0.2.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 945.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zsasa-0.2.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 922dc96faff3b8da47d3c261bcae98c9fe0b87e811c96ede849cfda12514eae4
MD5 ff099509318eb6fab1f88e6ac9b66d52
BLAKE2b-256 9b740c7c5ab7f4ccb28fbe60eb85358670f4c0ff4ca86ae7e069e1e6d00026f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fca0b50f6530ecc474727de5a923f4d65a39ac29b28d66ac9c71021e84c35ccf
MD5 bef54f4667f660c8c4dc326cf510446a
BLAKE2b-256 0d22983be0a6a6b1dfcecd425905c26b2a3bb6c130b439ec41b80453789b0b8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3e91d2609a778822cd0207573fa8efec252d31fcd662a88564ecf2aeb0fc09f5
MD5 7aaf99d7e30f2a007f47e5ef277f728b
BLAKE2b-256 e0e565bf48a5ddc333c8d826bf8f79de44c101896d4e35286ed18b8f43b76d5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e80181b7d51b256812a64fd94bae5b6cd865f6ce0652cb83054972c30b069092
MD5 d3bd0750e4449bee47a3fce1e9a039b8
BLAKE2b-256 8128fbe9a96aa0f68a671d6bf50253fc8162f6b5ebaa47a72b4f8abfce91d815

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp312-cp312-macosx_11_0_x86_64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e6425bdf5d4093a7cbe168ca359c7bb7e708a0e6dc64d2e50d3521c13c1bfd1
MD5 7ad6917b4c170d2afafd0bd324a4d3af
BLAKE2b-256 162604e4b4a1431c84b3a7cc5a7d9dffeb5e716efb583bf44e34a09ebdc30557

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zsasa-0.2.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 945.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zsasa-0.2.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7877a11190eb048d37925d4c1fda42cc2d522177fa475becd1d15a53d260bca1
MD5 243fd6ccb7a5752bfec635fec9723cb1
BLAKE2b-256 5e62d84019241970912a649309e49f656a777313243a5c7045f35a993c08f174

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2139228367e734b2329a977ac235127f4d48b94b85177f4ec6c791cf3d559986
MD5 878e96983b1f8205edbd44c3feb3f57d
BLAKE2b-256 3b4a1ff7586974b298c1b4b1936603e2f596683c8cdf501a8dc07ec84e1b0089

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e136d20f680c2315cedf90c2f2fdddf638878f8bf16f311c9cd3ce767f598848
MD5 c835226b42caf024f1760870e633b41e
BLAKE2b-256 ac907bc02f8a68ef9934b130fe7a6a673929af3122441453825b0d3ebb03228e

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 0ad3b0c11b92dff41beb18a8b841d67efd13e17702b5747c909441c7bacb26b3
MD5 3452ba4d466383e3738a6509fa21895f
BLAKE2b-256 2f4730dedbc5e7fd16770eded6c2e5036aada41bf120f84fb84234b9454e12c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zsasa-0.2.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 215baf247534637cae7299415079e5a7f5e5894b05b6623f5cddb8583eb202a7
MD5 f6e19a3b646839884db17484aa3d68ec
BLAKE2b-256 8067f7d1212fd1be48d3071322d0e80911e4b3328bc3e0c986d4e5a9476c4f1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on N283T/zsasa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page