Skip to main content

Education-focused SAXS profile simulation from protein coordinates

Project description

synth-saxs

synth-saxs is a lightweight Python library for simulating Small-Angle X-ray Scattering (SAXS) profiles from protein coordinates.

Extracted from the synth-pdb ecosystem, it provides a physically grounded, education-focused engine for reciprocal space simulation.

Features

  • Debye Formula: O(N²) calculation of scattering intensity.
  • Solvent Displacement: Physically accurate solvent contrast model based on Pavlov & Svergun (1997).
  • Atomic Form Factors: Standard Waasmaier & Kirfel (1995) coefficients.
  • Visualization: Built-in support for Kratky and Guinier plots.

Installation

pip install synth-saxs

Quick Start

import biotite.structure.io.pdb as pdb_io
from synth_saxs import calculate_saxs_profile

# Load a structure
struct = pdb_io.PDBFile.read("protein.pdb").get_structure(model=1)

# Calculate I(q)
q, I = calculate_saxs_profile(struct)

# Plotting
from synth_saxs import plot_saxs_results
plot_saxs_results(q, I, plot_type="all", output_path="saxs_report.png")

Scientific Rationale

The engine is designed for numerical stability and educational clarity. It correctly handles the delicate balance between atomic contrast and solvent displacement decay to ensure monotonic scattering curves in the Guinier regime.

References

  • Waasmaier, D. & Kirfel, A. (1995). Acta Cryst. A51, 416-431.
  • Pavlov, M.Y. & Svergun, D.I. (1997). J. Appl. Cryst. 30, 712-717.
  • Svergun, D., et al. (1995). J. Appl. Cryst. 28, 768-773.

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

synth_saxs-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

synth_saxs-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file synth_saxs-0.1.0.tar.gz.

File metadata

  • Download URL: synth_saxs-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for synth_saxs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1edb79772057cf97a16b6ae6a801154fb7baf1b92e2780cec19f76aab076f526
MD5 97630b4f6d06ccdda65e392c1e1f5815
BLAKE2b-256 40dcfec881b0c0593f479857527bf052a50e0d0d8b499a1d9a7b5d56d1f4a5ff

See more details on using hashes here.

File details

Details for the file synth_saxs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: synth_saxs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for synth_saxs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f04f5c75e7ba6c9cc713fabb06305845a01d82cb6c032110a4c905621309913e
MD5 6a8e425f9e18ff61d792f11affa9f339
BLAKE2b-256 454cc561dc7ecbed1f8265a44de1865ae149a75e9585f63fadfa63fa5cef7184

See more details on using hashes here.

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