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.6.tar.gz (174.4 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.6-cp313-cp313-win_amd64.whl (892.6 kB view details)

Uploaded CPython 3.13Windows x86-64

zsasa-0.2.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

zsasa-0.2.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

zsasa-0.2.6-cp313-cp313-macosx_11_0_x86_64.whl (761.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

zsasa-0.2.6-cp313-cp313-macosx_11_0_arm64.whl (667.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

zsasa-0.2.6-cp312-cp312-win_amd64.whl (892.6 kB view details)

Uploaded CPython 3.12Windows x86-64

zsasa-0.2.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

zsasa-0.2.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

zsasa-0.2.6-cp312-cp312-macosx_11_0_x86_64.whl (761.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

zsasa-0.2.6-cp312-cp312-macosx_11_0_arm64.whl (667.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zsasa-0.2.6-cp311-cp311-win_amd64.whl (892.6 kB view details)

Uploaded CPython 3.11Windows x86-64

zsasa-0.2.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

zsasa-0.2.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

zsasa-0.2.6-cp311-cp311-macosx_11_0_x86_64.whl (761.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

zsasa-0.2.6-cp311-cp311-macosx_11_0_arm64.whl (667.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: zsasa-0.2.6.tar.gz
  • Upload date:
  • Size: 174.4 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.6.tar.gz
Algorithm Hash digest
SHA256 93d87109ba8af5d48dcbd5ab3b04453f21235e821087d6284747e40bd6db8e92
MD5 fdb0422e22bacb526e56cacd27cd29be
BLAKE2b-256 48cc1579195d40674eb1d6e9e3be07b1a33dbff764bafcbe9f6c91a5cc1551e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6.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.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: zsasa-0.2.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 892.6 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f9abcd8b51406a56c9821c0af4de9d49bdc67a1b102f1a41627331b752449413
MD5 74d188ec02e57846028ce30f91a9e95b
BLAKE2b-256 1d0cc2e96957cf791a337c6ca0988eb8419466aae32e69532221e3b40aeb9e24

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec27a651fe4c8e23bfb64bc0d825a3275bc56454a3466d527299727e6786b01f
MD5 b37de8bc9ddbd53e643b180e989b4b18
BLAKE2b-256 efd5683a239cc94d6362dbd584775e6397ccf5c609cfe77a9d89589ac22d7dbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eef61c933a59b4ffb5323e2c0ed07cebc7a8177900c537e355a19af721f26ee8
MD5 c71ed8d597d8ff63be2dda882e020380
BLAKE2b-256 82564f933a43be891b75dec7b71027b63600d8ee4d18eb91d8ff4d8b8c13308a

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d4f83f91bf242b708ad1f5971a58426c37820663c7a347b0cfecd053df970d86
MD5 0765459de011079885b56b990165ca84
BLAKE2b-256 b74a115e2aea12494863cae4aaf39c7478a00d7154b3dbe4a38e1bfa03392f3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d78c43d755f289ed7895db8868cbc58583d2d087883a9747aecbd7c0f412ae8f
MD5 19fe2ae726f9d8d12cdfc62a70c578f2
BLAKE2b-256 33183fda8a7b5dd74494f5a1750012a657ef633d0ebccdf91a2581195f3481c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: zsasa-0.2.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 892.6 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 971702a0980806f1e714334681afe5bea6ddce2f89ac3f4998a61cba6cbe0600
MD5 98f76d054854f5207cb0697d2dd8a27c
BLAKE2b-256 b2c9221159739a3c74d48d34f43024bbbf23c5cd3fb01adc15dca95bbe71e5df

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a16e8dba775e017eec76856333287aba692293151531d5e65a7ad9ed88895c0
MD5 0670c4ba358a93612dcc5335e7910551
BLAKE2b-256 cefd4593cdb65b4fac3c389753286c99fa6856b485bf4fdb5731a2743e5c7416

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78908ffcd62c4e27054018dcb4132f9489e40a3e28b05081f5fd1b5d08fdcd38
MD5 41f289163064481f901d0f175858e9b6
BLAKE2b-256 8791c73a2e59222aec566a77b85af7eb284a4164f8306cf2be71f8717a0265da

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 faec14587dc83388c9219dcfddc52441c5862944e1d46230f13113ac71bafc78
MD5 aff7c94a9156f13fe6e82d15dd67bd7a
BLAKE2b-256 c9a871a0fa6b220bdb3372543751ee717fff051aa78ffa338c48f9e23a6f1349

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5ba32ba280af97c2d7c45365cc39fafcb4ddd8b23e4edd301a5cf6813831f57
MD5 89129e45166e37be53bdf5e274547429
BLAKE2b-256 669011a0c07507f4cf25babe17c0fa3bf9686cf7358d20457f5055fcfe416350

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zsasa-0.2.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 892.6 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3ffb1f8ae6d61fd7f37b391e693cedc4f496e9c45d91c213a64f10aaf297743a
MD5 0aae0061abdd7198e941ace68c7a71eb
BLAKE2b-256 e490505e6a53c77830c8e24fb9399e18a0bb97e2d0d0ba739fdd4473bbb87520

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc20f978bb46ef6506ee3504b947bdca9c3abf85498f29b8224c5c661fbe8b9d
MD5 9309042f9e9b5e0bd2bb68940be5c66d
BLAKE2b-256 29a6a4ed547c957eaf96899910464fac3d6670c343f095a546c4ccba9849ded2

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be5877766879b292dc986d849c7616c73ed689cffe406fd1075e31261f9c2930
MD5 1c9582f84ee7aa5ed5b447fb7d4dfd10
BLAKE2b-256 c195d6b04c22af9a34e9223bd3008c090409eed12d3cb018d4c83ef1e155a981

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 354ab39d8f802caf9f65ecc679fea054c5044019d12c8200064d791644791356
MD5 a4d6a539e9da3104ebd4092dc56c75d5
BLAKE2b-256 0bf13a0a9b8b772d9f9ca68b9608f2e75d258c2b6ce10c4f4543f513aebd7e2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zsasa-0.2.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e4445d4de5ba7d1f66d8c041e09671b6ed38d78f447a73ab2d8393cce9233bc
MD5 0a64a74f1979aabc2dcc7e34fdfb3617
BLAKE2b-256 8b2ae5080a5c2a2eecd3cdebe5c8c34555cc0899064bae6b54b341c994715a0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zsasa-0.2.6-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