Skip to main content

Topographic steric maps and buried volume (%VBur) with publication-quality SVG output.

Project description

StericRender

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.

PyPI PyPI Downloads License Powered by: uv Code style: ruff Typing: ty CI Codecov

zoomed out overlay |

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
larger steric radius zoomed out overlay

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
complex 1 complex 2 complex 3

Dicoordinated Ligands

MeDuPhos Box Diphosphine
complex 4 complex 5 complex 6
PHOX Xantphos Diimine
complex 7 complex 8 complex 9
TADDOL BINOL Bipy
complex 10 complex 11 complex 12

Tetracoordinated Ligands

Salen-Mn Chiral salen-Mn Zr-ONNO
complex 13 complex 14 complex 15

Zirconocenes

C2 zirconocene Substituted zirconocene Cs zirconocene
complex 16 complex 17 complex 18

Acknowledgements

Citation

If you use this repository, you must cite the following works:

  1. 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

  2. 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.

  3. A. S. Goodfellow and B. N. Nguyen,
    "xyzrender,"
    Journal of Chemical Theory and Computation 2026.
    DOI: 10.1021/acs.jctc.5c02073

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

stericrender-1.0.0.tar.gz (8.4 MB view details)

Uploaded Source

Built Distribution

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

stericrender-1.0.0-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

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

Hashes for stericrender-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d7cf33a8f9ea291cfc4c6a09293b24db4906e4bb11a25ff2e5269df2ae48af69
MD5 d44be7057de30db939701f72aec5f4b7
BLAKE2b-256 4308b11d132f8d704749541c0b894e97e180e783493662f292d62abf471b1985

See more details on using hashes here.

File details

Details for the file stericrender-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stericrender-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88d6d366bacc75532859d094804e39a223e39f34cb35a74c51e68c77b4e6f702
MD5 96009f11776afa47d8042eb38564e90f
BLAKE2b-256 9011b702a519af436f183e63a27af063a53c1b94600eac558952aaefd1ffc43a

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