Colorblindfriendly: Difference between revisions
Jaredsampson (talk | contribs) (→Requirements: update to reflect support for older PyMOLs) |
Jaredsampson (talk | contribs) (→Download the script and run locally: Add a "run from Github" example.) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 41: | Line 41: | ||
== Usage == | == Usage == | ||
=== Import as a module === | |||
After importing the module, | [[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, 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 | ||
# Add the new colors | # Add the new colors | ||
cbf.set_colors() | cbf.set_colors() | ||
color myObject | color cb_red, myObject | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The colors can also be made to replace the built-in colors (i.e. they are created both with and without the "< | 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"> | ||
# Replace built-in colors with cbf ones | # Replace built-in colors with cbf ones | ||
cbf.set_colors(replace=True) | cbf.set_colors(replace=True) | ||
color myOtherObject | color yellow, myOtherObject # actually cb_yellow | ||
</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 < | 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 | # 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() | cbf.add_menu() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Run the latest version of the script from Github === | |||
In a PyMOL session, run at the command line: | |||
run https://github.com/Pymol-Scripts/Pymol-script-repo/raw/master/colorblindfriendly.py | |||
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/colorblindfriendly.py | |||
This will add all the colors as well as the OpenGL menu. | |||
== Requirements == | == Requirements == |
Latest revision as of 14:21, 15 November 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
Import as a module
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()
Run the latest version of the script from Github
In a PyMOL session, run at the command line:
run https://github.com/Pymol-Scripts/Pymol-script-repo/raw/master/colorblindfriendly.py
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/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.