# SAXSMART: SAXS Modelling and Refinement Toolkit
## Overview
SAXSMART is an interactive web application for the analysis and refinement of Small-Angle X-ray Scattering (SAXS) data. It provides a user-friendly interface to perform common SAXS analyses and refine structural models against experimental data using PEPSI-SAXS.
## Features
- **Data Upload:** Upload SAXS curves (.dat), protein sequences (.fasta), and structures (.pdb/.cif).
- **Database Fetch:** Fetch structural models directly from the PDB or AlphaFold Database.
- **Automated Analysis:** Automatic calculation of Guinier fit, P(r) distribution, and Kratky plots.
- **Interactive Refinement:** Integrated PEPSI-SAXS for rigid-body and flexible model refinement.
- **Rich Visualization:** Interactive plots and 3D molecular viewers.
---
## Installation
### From Pypi
```bash
# Create and activate a virtual environment (or use conda)
python3 -m venv .venv
source .venv/bin/activate
# Install
pip install -e saxsmart
```
### From source
```bash
# Clone your repository
git clone https://gitlab.esrf.fr/hayden5a/saxsmart.git
cd saxsmart
# Create and activate a virtual environment (or use conda)
python3 -m venv .venv
source .venv/bin/activate
# Install
python -m pip install -U pip
pip install -e .
```
> **Note:** Dependencies are declared in `pyproject.toml`.
---
## Running
After installation, use the console script:
```bash
saxsmart
```
Alternative entry points:
```bash
python -m saxsmart
```
- Dash automatically serves files in the packaged `assets/` directory.
- Example data is bundled under `saxsmart/example_data/`.
---
## Configuration
You can configure paths via environment variables:
- `PEPSI_SAXS_BIN` — Full path to the `pepsi-SAXS` executable (if not on `PATH`).
```bash
export PEPSI_SAXS_BIN=/opt/pepsi/pepsi-SAXS
```
- `SAXSMART_CACHE_DIR` — Override the directory for long-callback caching.
```bash
export SAXSMART_CACHE_DIR=/scratch/$USER/saxsmart-cache
```
- `SAXSMART_TEMP` — Override the temporary working directory.
```bash
export SAXSMART_TEMP=/scratch/$USER/saxsmart-tmp
```
> If `PEPSI-SAXS` is not required for your workflow, related actions will be disabled or produce a friendly error message.
---
## License
MIT (see `LICENSE`).
Raw data
{
"_id": null,
"home_page": null,
"name": "saxsmart",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "SAXS, PEPSI-SAXS, Dash, bioinformatics, scattering",
"author": "Hayden Fisher",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e8/e7/7194903c49ab85ed7cfc82c95aaba5b213dfef509a043d5e2d569d00c44f/saxsmart-1.0.0.tar.gz",
"platform": null,
"description": "# SAXSMART: SAXS Modelling and Refinement Toolkit\n\n## Overview\n\nSAXSMART is an interactive web application for the analysis and refinement of Small-Angle X-ray Scattering (SAXS) data. It provides a user-friendly interface to perform common SAXS analyses and refine structural models against experimental data using PEPSI-SAXS.\n\n## Features\n\n- **Data Upload:** Upload SAXS curves (.dat), protein sequences (.fasta), and structures (.pdb/.cif).\n- **Database Fetch:** Fetch structural models directly from the PDB or AlphaFold Database.\n- **Automated Analysis:** Automatic calculation of Guinier fit, P(r) distribution, and Kratky plots.\n- **Interactive Refinement:** Integrated PEPSI-SAXS for rigid-body and flexible model refinement.\n- **Rich Visualization:** Interactive plots and 3D molecular viewers.\n\n---\n\n## Installation\n\n### From Pypi\n\n```bash\n# Create and activate a virtual environment (or use conda)\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# Install\npip install -e saxsmart\n```\n\n### From source\n\n```bash\n# Clone your repository\ngit clone https://gitlab.esrf.fr/hayden5a/saxsmart.git\ncd saxsmart\n\n# Create and activate a virtual environment (or use conda)\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# Install\npython -m pip install -U pip\npip install -e .\n```\n\n> **Note:** Dependencies are declared in `pyproject.toml`.\n\n---\n\n## Running\n\nAfter installation, use the console script:\n\n```bash\nsaxsmart\n```\n\nAlternative entry points:\n\n```bash\npython -m saxsmart\n```\n\n- Dash automatically serves files in the packaged `assets/` directory.\n- Example data is bundled under `saxsmart/example_data/`.\n\n---\n\n## Configuration\n\nYou can configure paths via environment variables:\n\n- `PEPSI_SAXS_BIN` \u2014 Full path to the `pepsi-SAXS` executable (if not on `PATH`).\n ```bash\n export PEPSI_SAXS_BIN=/opt/pepsi/pepsi-SAXS\n ```\n- `SAXSMART_CACHE_DIR` \u2014 Override the directory for long-callback caching.\n ```bash\n export SAXSMART_CACHE_DIR=/scratch/$USER/saxsmart-cache\n ```\n- `SAXSMART_TEMP` \u2014 Override the temporary working directory.\n ```bash\n export SAXSMART_TEMP=/scratch/$USER/saxsmart-tmp\n ```\n\n> If `PEPSI-SAXS` is not required for your workflow, related actions will be disabled or produce a friendly error message.\n\n---\n\n## License\n\nMIT (see `LICENSE`).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "SAXSMART: SAXS modeling and refinement toolkit (Dash app)",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://gitlab.esrf.fr/hayden5a/saxsmart"
},
"split_keywords": [
"saxs",
" pepsi-saxs",
" dash",
" bioinformatics",
" scattering"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e8e77194903c49ab85ed7cfc82c95aaba5b213dfef509a043d5e2d569d00c44f",
"md5": "18b02eb2a29b92dc651992503f72b824",
"sha256": "23885ad7b83e36d8d099540d4d5e002f106eb266cecef86840c64b6dc1a5b333"
},
"downloads": -1,
"filename": "saxsmart-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "18b02eb2a29b92dc651992503f72b824",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 166841,
"upload_time": "2025-08-18T07:09:37",
"upload_time_iso_8601": "2025-08-18T07:09:37.523835Z",
"url": "https://files.pythonhosted.org/packages/e8/e7/7194903c49ab85ed7cfc82c95aaba5b213dfef509a043d5e2d569d00c44f/saxsmart-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-18 07:09:37",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "saxsmart"
}