Skip to content

JamesOBrien2/StericRender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

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,
    "Graph-Based Internal Coordinate Analysis for Transition State Characterization", Journal of Chemical Theory and Computation 2026.
    DOI: 10.1021/acs.jctc.5c02073

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages