Skip to content

aseview

Interactive molecular visualization for ASE (Atomic Simulation Environment)

DeepWiki

aseview is a powerful, browser-based molecular viewer that integrates seamlessly with ASE. It provides interactive 3D visualization for molecules, crystals, and trajectories with support for normal mode animations.

Features

  • Multiple Viewer Types: Standard molecular viewer, cube-backed surface viewer, overlay comparison, normal mode visualization, and interactive fragment selector
  • Rich Styling: Multiple visual styles including Default, Cartoon, Neon, Glossy, Metallic, Cinematic, Rowan, Bubble, Grey, and 2D (Styles)
  • Themes: Swap the entire look and feel with dark, spring, glass, darkgreen, simple, or custom themes (Theming guide)
  • Display Controls: Hide hydrogens without deleting data, add render blur for saved images, and tune radius contrast
  • Trajectory Support: Animate trajectories with synchronized energy and max-force plots
  • Normal Modes: Visualize vibrational modes from ASE vibrations, ORCA Hessian files, or VASP OUTCAR files
  • Cell and Constraints: Display periodic cells and highlight fixed atoms from FixAtoms
  • Radius Contrast: Adjust element-radius differences from uniform radii to full element radii
  • Polyhedron: Render coordination polyhedra for solid-state structures (CN ≥ 4)
  • Ring Highlight: Fill aromatic and aliphatic rings with semi-transparent color
  • Fragment Selector: Synchronized 2D/3D atom picker — select fragments visually, copy indices to clipboard
  • Surface Viewer: Optional [surface] extra for CUBE orbital, density, and delta-density isosurfaces
  • CLI & Python API: Use from command line or Jupyter notebooks
  • Export: Save as PNG, GIF, standalone HTML, or copy structures as xyz, extxyz, cif, and POSCAR

Quick Example

from ase.io import read
from aseview import MolecularViewer

atoms = read("molecule.xyz")
viewer = MolecularViewer(atoms)
viewer.show()  # In Jupyter notebook
aseview molecule.xyz

Viewer Types

Viewer Description Use Case
MolecularViewer Standard 3D molecular viewer with animation Single structures, trajectories
SurfaceViewer Cube-backed isosurface viewer Orbitals, densities, two-cube density differences
LiteViewer / view(...) Lightweight wrapper around MolecularViewer for quick renders — no control panel Notebook quick-looks, PyMOL-style renders
OverlayViewer Overlay multiple structures for comparison Comparing conformers, reaction paths
NormalViewer Vibrational mode visualization Frequency analysis, IR/Raman
FragSelector Synchronized 2D/3D interactive atom selector Fragment picking, QM/MM region assignment

Installation

pip install aseview

For CUBE orbital and density surfaces:

pip install "aseview[surface]"

For Python PNG/GIF export:

pip install "aseview[export]"
python -m playwright install chromium

The export extra pins a legacy Playwright browser range for CentOS 7/glibc 2.17 compatibility. Newer Playwright browser builds may require newer glibc.

Or install from source:

git clone https://github.com/kangmg/aseview.git
cd aseview
python3 scripts/run_locked_verification.py python -m pytest tests/test_imports.py -q

Contributor validation uses the committed hash-locked verification runner; docs and release checks should not be validated through an editable checkout install.