Difference between revisions of "Colorblindfriendly"

From PyMOLWiki
Jump to: navigation, search
m (color command argument order)
(Usage: update code samples and use <code> instead of <tt> tags.)
Line 41: Line 41:
 
== Usage ==
 
== Usage ==
  
[[File:colorblindfriendly_menu.png|thumb|Screenshot of the <tt>cb_colors</tt> color menu in the OpenGL GUI in PyMOL 2.0.]]
+
[[File:colorblindfriendly_menu.png|thumb|Screenshot of the <code>cb_colors</code> color menu in the OpenGL GUI in PyMOL 2.0.]]
  
After importing the module,
+
After importing the module, call the <code>set_colors()</code> function to add the colors to PyMOL's color palette.  Then, use these color names just like any other named color, using the <code>[[color]]</code> command.
  
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
 
import colorblindfriendly as cbf
 
import colorblindfriendly as cbf
</syntaxhighlight>
 
  
call the <tt>set_colors()</tt> function to add the colors to PyMOL's color palette.  Then, use these color names just like any other named color, using the <code>[[color]]</code> command.
 
 
<syntaxhighlight lang="python">
 
 
# Add the new colors
 
# Add the new colors
 
cbf.set_colors()
 
cbf.set_colors()
Line 57: Line 53:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
The colors can also be made to replace the built-in colors (i.e. they are created both with and without the "<tt>cb_</tt>" prefix.). Do this by passing the <tt>replace</tt> keyword argument.
+
The colors can also be made to replace the built-in colors (i.e. they are created both with and without the "<code>cb_</code>" prefix.). Do this by passing the <code>replace</code> keyword argument.
  
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
Line 65: Line 61:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
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 <tt>cb_colors</tt> menu item, which expands to give all the color blind-friendly colors, except black, which is available in the <tt>grays</tt> menu.
+
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 <code>cb_colors</code> menu item, which expands to give all the color blind-friendly colors, except black, which is available in the <code>grays</code> menu.
  
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
# Add a cb_colors menu item to the OpenGL GUI ([C] menu in the right panel)
+
# Add a `cb_colors` menu to the OpenGL GUI (see screenshot)
# this also adds the colors
+
# This will also add the colors if `set_colors()` hasn't yet been run.
 
cbf.add_menu()
 
cbf.add_menu()
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 15:50, 26 October 2017

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

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()

Requirements

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