color accessibility から色覚について考えた

今、構造生物学分野の論文を書いている。PyMOL のデフォルトでは、1つ目の蛋白質分子の cartoon 表示が緑色になる。側鎖やリガンドを stick で表示すると、炭素が緑で酸素が赤、窒素が青というおなじみの配色になる。こうして作った図を共著者に見せたら、赤と緑を同じ図に併用するのは色覚アクセシビリティ上望ましくないから配色を再検討されたしというアドバイスをもらった。Web 上にある、いろいろなタイプの color blindness での見え方をシミュレートするサイト (Etre - Get Results. などがある) で検討してみたところ、PyMOL の配色の場合は明度の差もあるため、全く区別できないということはなさそうだった。それでも、もっと見やすい配色を探して変更した。分子モデルの彩色の accessibility については、最近 ccp4bb でも話題になっていた([ccp4bb] atomic coloring for the color blind 参照)。

これに関連してふと思ったのは、色覚についてである。三種類の錐体細胞がいるから光は三原色の加法混合で表されるのだといった言説を聞くが、どういうことか。

物理量としては、いろいろな波長の光の混合である。人間の可視波長がだいたい380-780nmくらいの範囲だとして、各波長ごとに強度が測定できる。これがスペクトルである。スペクトルは実数の一部を変域(波長)として、正の値(強度)を取る関数である。一方、目には三種類の錐体細胞しかいない。各錐体細胞 r, g, b は、応答のスペクトル依存性が異なる。例えば赤錐体細胞の応答 R は、全波長にわたって、その波長成分の強度と応答特性の積を積分したものになるから、

 R = \int_{\lambda_{min}}^{\lambda_{max}} r(\lambda) I(\lambda) d\lambda

という感じだろう。青錐体や緑錐体も同じだ。スペクトルを無限次元のベクトルだと考えると、錐体の応答特性は基底であって、そこへの射影を考えていることになる。

このことからも分かるように、連続関数をたった3つの成分で表現しようとしているのだから、「次元が足りない」。したがって、全く異なるスペクトルを持つ光なのに、錐体細胞の応答としては全く同じであり、人間には区別がつかないという自体もありうるはずだ。これを逆手に取って、各錐体をほぼ選択的に刺激できるようなスペクトルを持つ光があれば、その3つだけで人間の色空間を完全に再現できることになる。それが、いわゆる光の三原色なのだろう。

興味深い話題がある。オプシンがX染色体に載っているせいで、XX女性の場合、2つのアリルが異なるオプシンをコードしていれば、X染色体不活性化(lyonization) により網膜上には4種類の錐体細胞が存在できることになる。そうすると、4原色型視覚(tetrachromacy)が実現することになる。実際、そのようなケースの報告があるようだ。Tetrachromacy - Wikipedia に詳しい。

1/28 追記: シャコは12種類もの光受容体を用いているが、それは波長分解能を上げるためではなく、情報処理を高速にするためだという。Science (2014) の "Extraordinary Color Vision" および "A Different Form of Color Vision in Mantis Shrimp" を参照されたし。
それから、青空文庫で読める石原忍「色盲検査表の話」も面白い。