Colorblindfriendly

From PyMOLWiki
Revision as of 15:08, 26 October 2017 by Jaredsampson (talk | contribs) (→‎Usage: Add instructions for running as dowloaded script.)
Jump to navigation Jump to search
Type Python Script
Download colorblindfriendly.py
Author(s) Jared Sampson
License MIT
This code has been put under version control in the project Pymol-script-repo


Introduction

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.


Colors

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

Usage

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
cbf.set_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
cbf.set_colors(replace=True)
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.
cbf.add_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/colorblindfriendly.py

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

Requirements

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