From PyMOLWiki
Revision as of 14:21, 15 November 2017 by Jaredsampson (talk | contribs) (→‎Download the script and run locally: Add a "run from Github" example.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Type Python Script
Author(s) Jared Sampson
License MIT
This code has been put under version control in the project Pymol-script-repo


Certain colors are indistinguishable to people with the various forms of color blindness, and therefore are better not used in figures intended for public viewing.

This script generates a palette of named colors for PyMOL that are unambiguous both to colorblind and non-colorblind individuals.

The colors listed here are defined according to recommendations found at J*FLY. This website is a good reference to consult when making all kinds of figures, not just those made using PyMOL.


These are the 0-255 RGB values from the J*FLY page that are used in the script, with the defined color names and alternate names.

  name R G B alternate names
  cb_black 0 0 0
  cb_orange 230 159 0
  cb_sky_blue 86 180 233 cb_skyblue, cb_light_blue, cb_lightblue
  cb_bluish_green 0 158 115 cb_bluishgreen, cb_green
  cb_yellow 240 228 66
  cb_blue 0 114 178
  cb_vermillion 213 94 0 cb_red, cb_red_orange, cb_redorange
  cb_reddish_purple 204 121 167 cb_rose, cb_violet, cb_magenta


Import as a module

Screenshot of the cb_colors color menu in the OpenGL GUI in PyMOL 2.0.

After importing the module, call the set_colors() function to add the colors to PyMOL's color palette. Then, use these color names just like any other named color, using the color command.

import colorblindfriendly as cbf

# Add the new colors
color cb_red, myObject

The colors can also be made to replace the built-in colors (i.e. they are created both with and without the "cb_" prefix.). Do this by passing the replace keyword argument.

# Replace built-in colors with cbf ones
color yellow, myOtherObject   # actually cb_yellow

One can also add an entry to the color menu in the right-side OpenGL GUI. So clicking on [C], there will now be a cb_colors menu item, which expands to give all the color blind-friendly colors, except black, which is available in the grays menu.

# Add a `cb_colors` menu to the OpenGL GUI (see screenshot)
# This will also add the colors if `set_colors()` hasn't yet been run.

Run the latest version of the script from Github

In a PyMOL session, run at the command line:


This will add all the colors as well as the OpenGL menu.

Download the script and run locally

Save the script from the link in the box at the top right to your computer.

In a PyMOL session, run at the command line:

run /path/to/

This will add all the colors as well as the OpenGL menu.


The cb_colors GUI menu (generated by the add_menu() function) requires PyMOL 1.6.0 and later.