Written and maintained by CASRAI Editorial Board
Last updated
PyMOL is a 3D molecular visualization system used by structural biologists and chemists to render, animate, and analyze macromolecular structures such as proteins, nucleic acids, and small-molecule complexes. This guide explains what PyMOL covers, compares open-source versus commercial licensing, details Conda installation, and provides a reproducible script workflow for rendering publication-quality structural figures.
What PyMOL Is
PyMOL is an interactive molecular graphics workstation and programmatic framework designed for real-time visualization and publication-quality rendering of macromolecular data. Originally authored in 2000 by biophysicist Warren L. DeLano, the software combines high-performance C/C++ rendering routines with an embedded Python interpreter and an extensible command-line syntax.
Researchers use PyMOL to inspect atomic coordinates from the Protein Data Bank (PDB), examine electron density maps, measure interatomic distances, highlight ligand-binding pockets, and create publication-ready raster graphics. Unlike generic 3D modeling tools, PyMOL natively understands chemical bonding topologies, secondary structure motifs (such as alpha helices and beta sheets), crystallographic symmetry mates, and solvent-accessible surfaces.
What Does PyMOL Stand For?
The name PyMOL is a portmanteau blending Py (Python) and MOL (molecule). Users can operate the tool through a graphical interface, enter commands into the PyMOL Command Language (PCL) prompt, or script automated batch pipelines directly using Python scripts and the pymol module.
Who Runs PyMOL and What It Covers
PyMOL is developed, maintained, and commercialized by Schrödinger, LLC, which acquired the DeLano Scientific software assets in 2010. The platform operates under a hybrid development model comprising two distinct distributions:
- Open-Source PyMOL Foundation: Schrödinger maintains an open-source code repository hosted on GitHub (
schrodinger/pymol-open-source). It is governed by a permissive, custom open-source license granting users the right to inspect, compile, modify, and distribute the source code without paying license fees. - Incentive and Commercial PyMOL: Schrödinger compiles, packages, and distributes official commercial binaries. These packages include official installers, automated software updates, direct technical support from Schrödinger, documentation access, and proprietary add-on libraries (such as advanced video encoders and the Schrödinger License Manager).
PyMOL imports standard coordinate files (.pdb, .cif, .mmcif), chemical formats (.mol, .sdf), electron density and cryo-EM volumetric maps (.ccp4, .mrc), and trajectories. It integrates alongside sequence tools, the STRING database, and computational frameworks such as SpatialData Python workflows across modern bioinformatics.
How to Install PyMOL
Researchers can install PyMOL either as a pre-compiled commercial package from Schrödinger or as a community-maintained open-source package via Conda. For researchers using open-source software environments, the conda-forge channel provides pre-built binaries across Linux, macOS, and Windows.
Step 1: Set Up an Isolated Conda Environment
To avoid library conflicts with existing scientific Python packages, create a clean environment specifically for structural visualization:
conda create -n pymol_env -c conda-forge pymol-open-source
conda activate pymol_env
Step 2: Launch PyMOL
Once installation completes, launch the visualizer from your active terminal session:
pymol
This command launches the PyMOL graphical user interface (GUI) alongside the dual-window command console.
Commercial and Educational Installation Pathways
Subscribers to Schrödinger commercial or academic plans download official executable installers (.msi on Windows, .dmg on macOS, or tarballs on Linux) directly from the PyMOL product portal at pymol.org. Commercial installation requires activating an institutional license file or configuring a network license server via the Schrödinger License Manager. The official portal also hosts a student and educator login portal where verified instructional users download no-cost educational builds.
How to Use PyMOL for Molecular Graphics
The following six-step workflow demonstrates how to fetch a structure directly from the Protein Data Bank, isolate an active site, apply secondary structure styling, and render a high-resolution figure suitable for journal submission.
Step 1: Fetch Atomic Coordinates from the PDB
Download the crystal structure directly using its 4-character PDB accession identifier. Setting async=0 ensures subsequent commands pause until coordinate retrieval finishes:
fetch 1rx1, async=0
Step 2: Clean Default Representations and Apply Secondary Structure Styling
Clear default wireframe lines and render the polypeptide backbone as smooth cartoon ribbons:
hide lines
show cartoon
color marine, chain A
Step 3: Isolate and Highlight the Bound Ligand
Identify small-molecule ligands and display their atomic structure as sticks colored by heteroatom type:
select ligand, organic
show sticks, ligand
color yellow, ligand and elem C
color red, ligand and elem O
color blue, ligand and elem N
Step 4: Select Active Site Residues Within 5 Angstroms
Use PyMOL selection algebra to isolate binding pocket amino acids adjacent to the ligand, displaying their sidechains:
select pocket, byres (polymer within 5.0 of ligand)
show sticks, pocket
color gray80, pocket and elem C
Step 5: Configure Viewport Lighting and Background
Set a clean white background for print compatibility, orient the camera view toward the pocket, and enable antialiasing:
bg_color white
zoom pocket, buffer=3.0
set antialias, 2
set cartoon_fancy_helices, 1
Step 6: Ray-Trace and Export High-Resolution Output
Execute the built-in CPU ray tracer to compute specular highlights and contact shadows, then export a 300 DPI raster image:
ray 2400, 2400
png binding_pocket_figure.png, dpi=300
These commands can also be assembled into a reusable .pml script file and run headlessly via pymol -cq script.pml, supporting automated pipelines aligned with FAIR data principles.
Strengths and Limitations
Evaluating PyMOL within structural biology workflows requires weighing its rendering fidelity against data scalability constraints.
Strengths
- Rendering Aesthetics: The integrated ray tracer generates publication-standard figures with precise shadow calculations, ribbon curvature, and depth perception without demanding external 3D software.
- Python Scriptability: Exposure of commands through the Python API allows structural analysts to automate batch alignment, distance measurements, and visualization tasks across hundreds of protein structures.
- Selection Algebra: Powerful selection syntax (such as
byres,within, and boolean operators) enables pinpoint targeting of active sites and chemical moieties. - Plugin Ecosystem: A wide range of community plugins on PyMOLWiki supports electrostatic surface calculations, alignment, and cavity volume measurements.
Limitations
- Large Volumetric Density Maps: While PyMOL displays electron density maps, handling multi-gigabyte cryo-EM reconstructions is slower than in GPU-native visualizers.
- Molecular Dynamics Trajectories: PyMOL is not optimized for rapid playback, continuous alignment, or streaming calculations on massive multi-million atom simulation trajectories.
- Dual-Track Licensing Overhead: Navigating boundaries between open-source builds, educational builds, and paid research subscriptions requires careful administrative tracking.
Alternatives to PyMOL
The table below compares PyMOL with the primary alternative molecular visualization packages used across research laboratories.
| Feature / Dimension | PyMOL | UCSF ChimeraX | VMD (Visual Molecular Dynamics) |
|---|---|---|---|
| Developer Organization | Schrödinger, LLC (original author Warren L. DeLano) | Resource for Biocomputing, Visualization, and Informatics (UCSF) | Theoretical and Computational Biophysics Group (UIUC) |
| Primary Specialty | Crystal structures, protein-ligand interactions, publication figures | Cryo-EM density maps, macromolecular assemblies, AlphaFold models | Molecular dynamics (MD) trajectory analysis, simulation coordinate playback |
| Rendering Architecture | Built-in CPU ray tracer (ray) and OpenGL display |
Modern GPU-accelerated real-time ambient occlusion and shadows | Interactive OpenGL with Tachyon ray-tracing engine |
| Massive Data Handling | Moderate; optimized for individual proteins and complexes | High; handles viral capsids, ribosomes, and large volumetric maps | Exceptional; handles millions of atoms across simulation frames |
| Scripting Languages | PyMOL Command Language (PCL) and Python 3 | Interactive command line and Python 3 (chimerax.core) |
Tcl/Tk and Python |
| Licensing Model | Dual-track: open-source foundation (GitHub / Conda) plus commercial subscriptions | Free for academic, non-commercial, and government research; commercial fee | Free for non-commercial academic research upon registration |
Frequently Asked Questions
What is PyMOL used for?
PyMOL is primarily used to inspect, analyze, and visually communicate 3D macromolecular structures. Structural biologists use it to analyze protein folding patterns, map ligand-binding contacts, visualize enzyme active sites, calculate electrostatic surfaces, and produce high-resolution, ray-traced graphics for academic journal publications, scientific posters, and presentations.
Is PyMOL free software?
PyMOL operates under a dual distribution model. The core source code is free and open-source under a permissive copyright license held by Schrödinger, LLC, and can be compiled or installed freely via package managers like Conda. However, official pre-compiled binaries distributed by Schrödinger require a paid commercial or academic subscription. Schrödinger also provides a free educational build for students and teachers, but this edition is strictly limited to classroom instruction and cannot be used for research publications.
What does PyMOL stand for?
PyMOL stands for Python Molecule. The name highlights the software’s structural architecture, where the core computational geometry and OpenGL display engine written in C/C++ are controlled and extended by an embedded Python programming environment.
How much does PyMOL cost?
The cost of PyMOL depends on the distribution tier and organization type:
- Open-Source Build: Free ($0) via GitHub source code and Conda Forge packages.
- Educational Tier: Free ($0) for students and educators engaged strictly in classroom coursework (research use prohibited).
- Academic Subscription: Discounted annual subscription pricing for non-profit academic institutions and university research labs, covering official installers, updates, and technical support.
- Commercial Subscription: Tiered commercial licenses structured by organization size (single-user tiers for small firms up to enterprise-wide site licenses for large biotechnology and pharmaceutical companies). Exact quotes are administered through Schrödinger’s sales portal.
Sources
- Schrödinger PyMOL Official Portal: Product documentation, licensing tiers, and educational download policies (verified at
https://pymol.org/, November 2026). - Open-Source PyMOL Repository: Source code, custom open-source license text, and build specifications (verified at
https://github.com/schrodinger/pymol-open-source, November 2026). - PyMOL Community Documentation: Command references for PCL syntax, selection operators, ray tracing, and scripting (verified at
https://pymolwiki.org/, November 2026).







