Topographic steric maps and buried volume (%VBur) with publication-quality SVG output.
Project description
StericRender: Topographic Steric Mapping with Molecular Visualisation
StericRender computes topographic steric maps and buried volume (%VBur) for any molecular structure, producing publication-quality SVG figures from the command line. It implements the SambVca methodology and uses xyzrender for oriented molecular overlays.
|
What it produces
- Topographic steric maps (SVG, CSV, NPZ)
- Buried volume (%VBur) with quadrant breakdowns (JSON)
- Oriented molecular overlay SVG via xyzrender
- Multi-frame XYZ batch processing
- Three atomic radii sets: scaled-Bondi (default), Bondi, CSD
- Configurable sphere radius, map radius, mesh spacing, colour palettes
CLI
stericrender complex.xyz \
--origin 1 \
--toward 2,3 \
--flip-z \
--config pmol \
--overlay-opacity 0.72 \
--map-palette sambvca \
--color-range -3 3 \
--output-prefix results/complex
The origin atom is automatically excluded from the steric analysis. Use --include-origin to override.
Installation
pip install stericrender
# latest development version:
pip install --upgrade git+https://github.com/JamesOBrien2/StericRender.git
Or with uv:
uv tool install stericrender
From source:
git clone https://github.com/JamesOBrien2/StericRender.git
cd StericRender
pip install -e .
Python API
import numpy as np
from stericrender.io import load_structure_frames, atoms_to_arrays
from stericrender.orientation import orient_positions
from stericrender.radii import radii_for_symbols
from stericrender import compute_buried_volume, compute_steric_map
frames = load_structure_frames("complex.xyz")
symbols, positions = atoms_to_arrays(frames[0].atoms)
# orient: atom 1 at origin, +z toward atom 2
oriented = orient_positions(positions, center_index=0, axis_indices=[1])
selected = [i for i, s in enumerate(symbols) if s != "H" and i != 0]
radii = np.array(radii_for_symbols([symbols[i] for i in selected]))
volume = compute_buried_volume(oriented.positions[selected], radii)
print(f"%VBur = {volume.percent_buried:.2f}")
steric_map = compute_steric_map(oriented.positions[selected], radii)
# steric_map.x, steric_map.y, steric_map.z — topographic grid arrays
Sphere radius and map radius
--sphere-radius scales the analysis sphere; --map-radius sets the display extent independently.
--sphere-radius 2 |
--map-radius 5 |
|---|---|
Available flags
--include, --exclude, --include-origin, --frames, --radii, --include-hydrogens, --sphere-radius, --map-radius, --mesh, --config, --overlay-opacity, --overlay-all-atoms, --zoom, --stereo, --stereo-style, --no-contours, --no-colorbar, --no-vbur-label, --show-quadrants, --no-overlay
Gallery
Monocoordinated Ligands
| PCy3 | NHC-Ni | NHC-Ir |
|---|---|---|
Dicoordinated Ligands
| MeDuPhos | Box | Diphosphine |
|---|---|---|
| PHOX | Xantphos | Diimine |
|---|---|---|
| TADDOL | BINOL | Bipy |
|---|---|---|
Tetracoordinated Ligands
| Salen-Mn | Chiral salen-Mn | Zr-ONNO |
|---|---|---|
Zirconocenes
| C2 zirconocene | Substituted zirconocene | Cs zirconocene |
|---|---|---|
Acknowledgements
- xyzrender by @aligfellow — molecular rendering and SVG overlay
- Jonathan Di Petro (@jonathandip) — zoom and radius concept, testing
- The SambVca group (Cavallo et al.) — the %VBur methodology and topographic steric map convention that StericRender implements
- morfeus-ml — reference implementation used for validation
Citation
If you use this repository, you must cite the following works:
-
Laura Falivene, Raffaele Credendino, Albert Poater, Andrea Petta, Luigi Serra, Romina Oliva, Vittorio Scarano, and Luigi Cavallo,
"SambVca 2. A Web Tool for Analyzing Catalytic Pockets with Topographic Steric Maps,"
Organometallics 2016, 35, 2286–2293.
DOI:10.1021/acs.organomet.6b00371 -
Sílvia Escayola, Naeimeh Bahri-Laleh, and Albert Poater,
"%VBur index and steric maps: from predictive catalysis to machine learning,"
Chemical Society Reviews 2024, 53, 853–882. -
A. S. Goodfellow and B. N. Nguyen,
"xyzrender,"
Journal of Chemical Theory and Computation 2026.
DOI:10.1021/acs.jctc.5c02073
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stericrender-1.0.0.tar.gz.
File metadata
- Download URL: stericrender-1.0.0.tar.gz
- Upload date:
- Size: 8.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7cf33a8f9ea291cfc4c6a09293b24db4906e4bb11a25ff2e5269df2ae48af69
|
|
| MD5 |
d44be7057de30db939701f72aec5f4b7
|
|
| BLAKE2b-256 |
4308b11d132f8d704749541c0b894e97e180e783493662f292d62abf471b1985
|
File details
Details for the file stericrender-1.0.0-py3-none-any.whl.
File metadata
- Download URL: stericrender-1.0.0-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88d6d366bacc75532859d094804e39a223e39f34cb35a74c51e68c77b4e6f702
|
|
| MD5 |
96009f11776afa47d8042eb38564e90f
|
|
| BLAKE2b-256 |
9011b702a519af436f183e63a27af063a53c1b94600eac558952aaefd1ffc43a
|