PyMOL vs Chimera vs ChimeraX: Full Feature Comparison & Guide (2026)
Introduction
In structural biology and computational biophysics, molecular visualization is not merely aesthetic—it is an indispensable analytical instrument. Deciding between PyMOL, legacy UCSF Chimera, and modern UCSF ChimeraX determines your workflow efficiency, rendering fidelity, and ability to handle massive macromolecular assemblies or cryo-EM density maps.
While PyMOL has long set the gold standard for publication-grade ray tracing and crystallographic structure analysis, the structural landscape has evolved toward high-resolution cryo-electron microscopy (cryo-EM) and multiscale modeling. UCSF ChimeraX was engineered from the ground up to replace legacy Chimera, offering real-time ambient occlusion, GPU-accelerated rendering, and modern Python 3 architecture.
This comprehensive 2026 guide provides an exhaustive feature comparison, actionable migration recommendations, and copy-pasteable scripts for PyMOL, Chimera, and ChimeraX.
High-Visibility Comparison Table: PyMOL vs. Chimera vs. ChimeraX
The following matrix highlights the critical technical and architectural differences across all three platforms:
| Feature / Dimension | PyMOL (Schrödinger) | UCSF Chimera (Legacy) | UCSF ChimeraX (Next-Gen) |
|---|---|---|---|
| Primary Focus | Crystallography, small molecules, publication figures | General modeling, cryo-EM, sequence-structure | Next-gen cryo-EM, huge assemblies, VR |
| Rendering Quality | Exceptional built-in CPU ray tracer (ray); crisp cartoon ribbons | Standard OpenGL; basic shadows and outlines | Real-time GPU ambient occlusion, soft interactive shadows, silhouettes |
| Cryo-EM & Volumetric Data | Basic surface display and mesh contours; sluggish with huge maps | Solid density fitting (fitmap), surface segmentation | World-class density manipulation, multi-map segmentation, IsoSurface caching |
| Scripting Engine | Python 3 (pymol API) + PyMOL command language (PCL) | Legacy Python 2.7 (unmaintained) | Modern Python 3 (chimerax.core) + declarative commands |
| Hardware & GPU Usage | CPU-bound ray tracer; moderate GPU requirement | OpenGL 1.4/2.0; CPU-bound calculations | Modern OpenGL 3.3+/Vulkan, heavy GPU acceleration |
| Large Complex Capacity | Slows significantly above 500k atoms | Struggles with megadalton complexes | Handles >10 million atoms and viral capsids smoothly |
| Licensing & Cost | Open-source build free; Schrödinger binaries require paid/academic license | Free for academic & non-commercial use | Free for non-profit academic research; commercial license required |
| Active Development | Actively maintained by Schrödinger | Deprecated / Discontinued | Actively developed by UCSF RBVI |
| Best Use Cases | Protein-ligand docking figures, ray-traced paper figures, quick alignment | Legacy lab pipelines (migrate immediately) | Cryo-EM maps, alphafold models, ribosomes, interactive 3D presentations |
When to Upgrade from UCSF Chimera to ChimeraX
If your research group is still relying on original UCSF Chimera, upgrading to ChimeraX is urgent. Here is why the structural biology community has moved to ChimeraX:
1. End of Python 2.7 and Deprecation
Legacy UCSF Chimera is built on Python 2.7, which reached official end-of-life in 2020. It no longer receives security updates or modern library integrations. ChimeraX runs natively on Python 3.9+, unlocking direct compatibility with numpy, scipy, pandas, PyTorch, and Biopython.
2. Radical Performance Multipliers
Legacy Chimera struggles when opening multi-megadalton complexes such as the 70S ribosome or intact viral capsids. ChimeraX uses modern GPU memory buffers and scene graph culling, rendering complexes with tens of millions of atoms at fluid 60 FPS frame rates.
3. Publication-Ready Visuals Without Ray Tracing
While PyMOL requires triggering a separate CPU ray-trace calculation (ray 2400, 2400) that takes seconds to minutes, ChimeraX renders depth-cued ambient occlusion and directional contact shadows in real time directly within the interactive viewport.
4. Direct AlphaFold and PDB Integration
ChimeraX includes native commands to fetch AlphaFold DB models with predicted alignment error (PAE) matrices and predicted Local Distance Difference Test (pLDDT) confidence coloring in a single command:
# Fetch and color AlphaFold prediction directly in ChimeraXalphafold fetch P04637color bfactor palette alphafoldKey Syntax Differences When Migrating
| Operation | Legacy UCSF Chimera | Next-Gen UCSF ChimeraX |
|---|---|---|
| Open Model | open 1ake.pdb | open 1ake |
| Select Chain | select :.A | select /A |
| Residue Range | select :10-50 | select :10-50 or select /A:10-50 |
| Color Ribbon | color red :1-20 | color :1-20 red |
| Align Structures | matchmaker #0 #1 | matchmaker #2 to #1 or mm #2 to #1 |
| Save High-Res Image | copy file figure1.png png width 2000 | save figure1.png width 2000 supersample 3 |
PyMOL Workflow & Practical Scripts
PyMOL is celebrated for its concise syntax and granular styling control over secondary structure cartoons, cartoon putty, and stick representations.
Common Task 1: Aligning Two Structures & Calculating RMSD
To superimpose an open and closed conformation of an enzyme (e.g., Adenylate Kinase 1AKE vs 4AKE):
# PyMOL Command Script (save as align_structures.pml or enter in CLI)reinitialize
# Fetch homologous PDB entries from RCSBfetch 1ake, type=pdbfetch 4ake, type=pdb
# Remove crystallographic water moleculesremove solvent
# Structurally align 4ake onto 1ake (outputs RMSD in CLI)align 4ake, 1ake
# Visual stylinghide everythingshow cartooncolor marine, 1akecolor firebrick, 4ake
# Zoom into active site hingezoom 1ake and resi 120-160Common Task 2: Highlighting Binding Pockets & Ligand Interactions
# PyMOL Script: Clean Ligand Binding Site Visualizationreinitializefetch 1hsg, type=pdb # HIV-1 Protease with Indinavirremove solvent
# Show protein cartoon in muted neutral grayhide everythingshow cartoon, polymercolor gray80, polymerset cartoon_transparency, 0.2
# Isolate the ligand (organic molecules)select ligand, organicshow sticks, ligandcolor atomic, ligandutil.cbcm("ligand") # Custom carbon-magenta color scheme
# Select residues within 4.5 Angstroms of the drugselect binding_pocket, (polymer and not hydrogen) within 4.5 of ligandshow sticks, binding_pocketcolor cyan, binding_pocketutil.cnc("binding_pocket") # Keep oxygens red, nitrogens blue
# Identify hydrogen bondsdist h_bonds, ligand, binding_pocket, mode=2, cutoff=3.5color yellow, h_bonds
# Ray trace publication-ready image with transparent backgroundset ray_opaque_background, 0set ray_shadows, 1set antialias, 2ray 2400, 1800png binding_site_pymol.pngUCSF Chimera & ChimeraX Workflows & Scripts
ChimeraX uses an intuitive declarative syntax that makes complex selections and surface representations straightforward.
Common Task 1: Structure Alignment in ChimeraX
# ChimeraX Command Script (.cxc)# Reset workspaceclose
# Open two Adenylate Kinase conformationsopen 1akeopen 4ake
# Align model #2 (4ake) onto model #1 (1ake) using Needleman-Wunsch & BLOSUM62matchmaker #2 to #1
# Hide atoms, display ribbonshide atomsshow cartoonscolor #1 #4575b4color #2 #d73027
# Turn on ambient occlusion for soft contact lightingset ambientOcclusion trueset aoIntensity 0.8
# View alignment in perspectiveviewsave alignment_chimerax.png width 2400 supersample 3Common Task 2: Visualizing Ligand Binding Pockets in ChimeraX
# ChimeraX Script: Protein-Ligand Interface Analysiscloseopen 1hsg
# Hide solvent and display protein cartoonhide solventstyle #1/A,B cartooncolor #1/A,B #e0e0e0
# Identify ligand and color by heteroatomshow ::MK1 atomsstyle ::MK1 stickscolor ::MK1 byhetero
# Select residues within 4.5 Angstroms of Indinavir (MK1)select zone ::MK1 4.5 #1/A,Bshow sel atomsstyle sel stickscolor sel byheterocolor sel & C #0099cc # Cyan carbons for pocket residues
# Calculate and display hydrogen bondshbonds #1/A,B restrict ::MK1 reveal true color yellow distSlop 0.4
# Create transparent molecular surface over binding pocketsurface seltransparency sel 60
# Save high-resolution publication figurelighting softsave pocket_chimerax.png width 2400 supersample 3 transparentBackground trueSide-by-Side Workflow Comparison
Here is how common structural modeling operations translate across both modern tools:
+------------------------------------+------------------------------------------+| PyMOL Script | ChimeraX Command |+------------------------------------+------------------------------------------+| fetch 1crn | open 1crn || show cartoon | show cartoons || color yellow, ss s | color :sheet yellow || color red, ss h | color :helix red || select site, resi 20-35 | select :20-35 || show surface, site | surface :20-35 || set transparency, 0.4, site | transparency :20-35 40 || distance d1, /1crn//A/10/CA, | distance #1/A:10@CA #1/A:25@CA || /1crn//A/25/CA | || ray 1920, 1080 | save figure.png width 1920 supersample 3 |+------------------------------------+------------------------------------------+Selection Guide: Which Software Should You Use?
-
Choose PyMOL if:
- Your primary objective is preparing figures for medicinal chemistry or crystallography papers.
- You need deep programmatic batch generation via Python scripts running on headless Linux servers.
- You are familiar with PyMOL’s rock-solid ray tracer and cartoon sculpting parameters.
-
Choose ChimeraX if:
- You are analyzing cryo-EM density maps, tomograms, or working with volumetric reconstructions.
- You work with massive macromolecular assemblies (ribosomes, proteasomes, viral envelopes).
- You want modern interactive shadows, ambient occlusion, and direct AlphaFold PAE matrix visualization.
-
Phase Out Legacy UCSF Chimera:
- All active development has shifted to ChimeraX. Migrate existing lab pipelines to ChimeraX for Python 3 compatibility and long-term operating system support.
Frequently Asked Questions (FAQ)
Which is better for publication figures: PyMOL or ChimeraX?
PyMOL has traditionally been the standard for crystallographic protein-ligand figures due to its built-in CPU ray tracer (ray) which yields clean, sharp cartoon edges. However, ChimeraX produces superior volumetric renders for cryo-EM maps and offers real-time ambient occlusion with soft shadows, making it increasingly preferred for modern high-resolution papers.
Can UCSF Chimera scripts run directly in ChimeraX?
No. Chimera and ChimeraX use fundamentally different command structures and Python APIs. Legacy Chimera relies on Python 2.7, whereas ChimeraX runs Python 3. ChimeraX uses simplified forward-slash hierarchy specifiers (#1/A:1-50) instead of Chimera’s colon-period syntax (#0:1-50.A).
Is PyMOL free for academic use, and how does its license compare to ChimeraX?
PyMOL provides an open-source source-code distribution (Open-Source PyMOL) that academic users can compile and use without charge. Pre-compiled binaries with proprietary plugins provided by Schrödinger require a paid commercial or academic license. In contrast, UCSF ChimeraX is completely free of charge for non-commercial academic research and teaching.