Skip to content

JamesOBrien2/StericRender

Repository files navigation

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 Python License Powered by: uv Code style: ruff Typing: ty CI Codecov DOI

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 StericRender in published research, please cite:

James O'Brien, StericRender: Topographic Steric Mapping with Molecular Visualisation, computer software, Zenodo, 2026, https://doi.org/10.5281/zenodo.21475425

Machine-readable citation metadata is available in CITATION.cff. GitHub also provides APA and BibTeX entries through the Cite this repository menu. This permanent DOI covers all StericRender releases and resolves to the latest archived version.

Please also cite the methodological works on which StericRender builds:

  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.
    DOI: 10.1039/D3CS00725A

  3. A. S. Goodfellow and B. N. Nguyen,
    "Graph-Based Internal Coordinate Analysis for Transition State Characterization", Journal of Chemical Theory and Computation 2026.
    DOI: 10.1021/acs.jctc.5c02073

About

Python tool for combining steric maps and buried-volume figures with publication-ready molecular graphics rendering from xyzrender.

Resources

License

Stars

30 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages