「生命科学×IT」生命科学からITの分野へ移って感じたこと

[近年、農業へのITの活用など、生物とITを融合した様々なビジネスが新たに生まれていて、それら両方の分野について考えられるスキルは以前より重視されていると思います。

私は今年の4月に新卒で入社しましたが、大学では生命科学の基礎研究をしていました。
まだまだITについては分からないことだらけですが、
実際に生命科学からITの分野へ移ってきて、全く異なる分野だと感じることも多い一方で、少し似ている部分もあるなと感じています。

今回は、その「少し似ている部分」、言い換えれば、「共通した構造」について書いてみようと思います。
その「共通した構造」を見る視点は、エンジニアの人が何か生物について知りたいときにも、理解を助けてくれるのではないかなと思います。

前置きが長くなりましたが、
生物とITの共通した構造を見るための2つの視点について書いていきます。
e943b005da5bf8fa44a30e00be0b18a1_s

何らかのインプットに応じてアウトプットする

まずは、生物とITシステムを外側から見たときに似ているという話です。
ITのシステムは外側からざっくりと見たときに、
何らかのインプットを受け取り、
それに応じてアウトプットするという構造になっています。

簡単な例でいえば、
Googleなどの検索エンジンに用語を入力(=インプット)して検索すると、
関連するWebページの一覧が表示(=アウトプット)されます。

実は、生物も同じように周りの環境からの様々な刺激をインプットとして、
それに応じたアウトプットをしています。
例えば、
私の大学時代の研究で言うと、多くの植物は病気に感染したとき(=インプット)、植物がその菌をやっつける物質を出します(=アウトプット)。

余談ですが、
最近では、ヒト細胞のプログラムを書き換えて、109通りの論理演算を行わせることに成功したという研究もあります。
また、センサーの一部に生物由来の物質を用いた「バイオセンサー」という、極めて低濃度のウイルスなどを検出できるセンサーが開発されていたりもします。
このように、なんとなく似ているというだけでなく、実際に役割を一部交換して新たなものを作り出すという試みも行われています。

DNAはソースコードの役割をしている

次は、外側からだけでなく内側を見ても似ているという話です
DNAソースコードも、それぞれ生物とITのシステムにおいて設計図の役割をしています。
(つい最近、日経がGitHubのことを設計図共有サイトと表現して、批判が続出していましたが。。。)
DNAもソースコードもそのもの自体は基本的には書き換わらず、それらの情報をもとにして様々な処理が行われます。
ちなみに生物の場合、
実際に様々な処理を行っているのは、DNAの情報をもとに作られるタンパク質です。

電子機器は情報を0と1というデジタル信号として扱いますが、実は生物も情報をデジタルで扱っています。
DNAは
A(アデニン), T(チミン), G(グアニン), C(シトシン)という4種類の分子が一列に連なってできていて、4進数のような形で情報を保持しています。

例えば、
人間であればそれらが約60億個連なって情報を保持しています。
タンパク質も同じように20種類のアミノ酸の分子が一列に連なってできています。
長さは様々ですが、平均すると300個程度の長さになります。
2e4414edfa8379a4badd9e92aee18db7_s

IT的思考で見るiPS細胞

ここまで、生物とITの「共通した構造」を見るための2つの視点について書きましたが、
やはり、それらの視点で何か具体的に見てみたほうがいいかなと思ったので、
今回はiPS細胞についてIT的な目線で見てみます。

まず、iPS細胞について、念のため軽く説明しておきます。
iPS細胞は、2012年に山中伸弥教授がノーベル賞を受賞した研究内容で、再生医療などへの応用が進められているものです。
通常、皮膚などの細胞は目など他の細胞にはなれませんが、山中教授は皮膚などの細胞から、どんな細胞にもなれる能力を持ったiPS細胞を作製する手法を発見しました。
どんな細胞にもなれる能力というのは受精卵が持つ能力と同じです。

では、「iPS細胞を作る」段階と「iPS細胞から様々な種類の細胞を作る」段階の2つに分けて、それぞれ簡単に見てみます。
body_cell_ips

1.「iPS細胞から様々な種類の細胞を作る」

最終的には様々な臓器を作り出して移植できるようにすることを目的にして、現在世界中の研究者が研究を進めています。
しかし、
どんな細胞にもなれるとはいっても、実際に特定の細胞、さらには臓器へ変えるのは簡単ではなく、その効率の良い条件の検討などが進められています。
ここで重要な考えは、生物はより細かく見れば、細胞ごとにインプットやアウトプットをしていることです。(1つ目の「外側からの視点」)
プログラミングにおいても細かく見れば、関数ごとに引数を受け取り、戻り値を返すのと同じイメージでしょうか。
そして、多くの細胞は四方八方を他の細胞に囲まれているので、周りの細胞のアウトプットがインプットになっています。

上記の考えを頭において見てみると、
iPS細胞から様々な種類の細胞を作る研究でどのようなことが行われているかをイメージしやすいのではないかと思います。

調べてみると、
iPS細胞から様々な種類の細胞を作る方法には色々なものがあるようですが、
私の中では、基本的には「受精卵が分裂して様々な種類の細胞へ変わる際の環境に近づける」という方向で、以下のような取り組みが行われているのだということでまとまりました。
なお、「環境」=「インプットとなりうるもの」です。

・細胞のアウトプットの中から、「受精卵が特定の細胞になる」のに関与する物質(またはそれに似た物質)を探し、iPS細胞にインプットさせてみる。
・上記に加えて、時空間的な変化(つまり、濃度の経時的変化や細胞の3次元的配置)も「受精卵が特定の細胞へ変わる際の環境」へ近づけてみる。
・割と大胆な発想で、ブタなどほかの動物の受精卵が分裂していくところへヒトのiPS細胞を混ぜる。上記二つが環境を「似せる」のに対し、これはすでにある「似た」環境を使うという発想です。
どうでしょうか。どのような研究が行われているかが少しイメージしやすくなったでしょうか。

2.「iPS細胞を作る」

そもそもなぜ皮膚などの細胞は受精卵と違い他の細胞になることができないかというと、
設計図であるDNA自体は同じなのですが、DNAの特定の領域では鍵がかかっているような状態になっていて、DNAの情報が読み取れなくなっているためです。(2つ目の「内側の視点」)
例えば、
一度皮膚の細胞になってしまうと、「目の細胞にのみ必要な情報」が書き込まれたDNAの領域は読み取ることができません。
この鍵は受精卵が分裂する過程でかかっていき、様々な種類の細胞ができていきます。
そして、一度鍵がかかると、基本的には外れません。
しかし、
山中教授はその鍵を強制的に外す「山中因子」と呼ばれるものを発見しました。
山中因子によって鍵を外した細胞がiPS細胞です。
ちなみに、山中因子の実体はタンパク質です。
この、鍵をかけたりするというのは、プログラミングで言うとオブジェクト化をできなくするのに少し似ているかなと思います。

どうでしょうか。やっぱり少し複雑でしょうか…
今回初めてブログを書きましたが、だいぶ盛沢山になってしまいました。
読み返してみると、もっとざっくりとした内容のほうが良かったかなという気もしています…
ただ、できるだけ分かりやすく書こうと努力はしてみたつもりなので、エンジニアの人に生命科学の分野について少しでも伝われば嬉しいです。

ホームページ http://www.ois-yokohama.co.jp

facebook   https://www.facebook.com/orientalinformationservice/