
生体細胞のプログラミング言語をつくるオープンソースプロジェクト
http://wired.jp/2013/04/25/bio-fab-open-source-language/
人間の生体細胞をプログラムする言語。
一般的に、人間の体でも特に遺伝子DNAの仕組みはあたかもプログラムにたとえられるので、きいて「なるほどね」と思うニュースだ。
細胞の内部のタンパク質におけるアミノ酸の配列は非常に精緻に形成されているもので、これが少し並びを変えることによって人体には大きな影響が出るといわれている。
この部分が遺伝病のひとつの原因ともいわれ、親から子へ伝えられる細胞の内部の情報は顔や性格などの特徴とともに病気の原因をも引き渡すことになる。
逆に細胞のレベルで遺伝への対処ができる可能性を研究者は探っているわけで、将来的には生物が本来持つ遺伝という仕組みのあり方を大きく変える重要な研究になると思う。
人間の体内の細胞を形成する情報をプログラミングに例えれば、相当に複雑かつ巨大なプログラムになるはずだ。
人間一人に60兆個あるといわれる細胞は体のどこにあるものも同じもののはずだが、たとえば手の細胞は手として、足の細胞は足としての構成をちゃ んと意識できる。
細胞を体の別の場所に移植した場合もその場所に適した分裂を可能にするわけで、この特性を進化させたのがiPS細胞なわけだが、これを人工的なプログラミングの世界で実現するのはなかなか難しいように思う。
いわば究極のモジュール化であり、配置された場所に応じたインターフェースをモジュール側で自生し外部からの情報を元に学習・判断し分裂を開始することになる。
この場合、バグのある細胞は言うことを聞かない”がん細胞”となるから要注意だ。
高級言語にはガベージ・コレクションといって参照されなくなったデータを自動的にリソース解放する機能がある。
これがあるとないとではプログラムでのデータの後始末に対するケアの違い以上に大きな違いが生まれるわけだが、細胞の世界でもこれが必要だ。
一定期間・一定回数の分裂を経た細胞は自然に死を迎えるアポトーシスというメカニズムがある。
一定の決められたしきい値を越えたオブジェクトならぬ細胞はガベージコレクターによってアポトーシスのフェーズに入るようシグナルを受ける。
しかし、考えてみれば60兆もあり絶えず新旧入れ替わっている細胞たちの生滅を管理するのはパフォーマンスでみたときにこれがたやすいことではないことがわかる。
人体ではすんなりとできることもプログラミングの世界で実装しようとすると困難な例のひとつではないだろうか。
もっとも気になるのは、生物の進化の最大のキーともいえる突然変異だ。
人体はあるとき遺伝子の情報を微妙に書き間違えることがある。
また、外部のウィルスなどの細胞が体内に入り込んだりすることによって細胞内部が変質することもある。
そのことにより元来その種が持ち得なかった能力を獲得するわけで、それによって古代のカンブリアの海からいつしか陸に上がってこのように二本の足で歩く生き物になったわけだが、その主原因は数多の突然変異の積み重ねであるといっていい。
新しい性質の獲得といえばプラス面に捉えられがちだが、これは実際には成功した例しか生存できないからそうなるだけで、失敗するケースの方が圧倒的に多いのではないかと思う。
ほぼ大半が環境に適合できずに死ぬ。つまり、プログラムとしてはバグといっていい。
しかもこのバグは予測不可能な結果を招くもので、常に決まった処理なら決まった結果を得られるコンピュータの世界ではプログラムで表現すると非常に”らしからぬ”状況になることが予想される。
ある割合で間違いを起こすのは難しくないかもしれないが、生物の進化にはある一定の方向性がある。
昆虫が毒のある別の昆虫の姿を真似てその姿をそっくりにしてしまうとか、クジラなどもと陸生だった哺乳類が海に入って海の生活に適した体になるなど、この変化は無造作ではない。
変化には生物の意志があり、その筋書きに沿っているのだ。
この変化の方向性に対して多くの割合の間違いをしながら淘汰を繰り返し、希少な割合で最終的な目的の進化が達成できることが重要なのだ。
この揺らぎ具合がなかなかに難しいはずだ。
そう考えるとこれは真にプログラミング言語の世界に収まるものではないのかもしれない。
ともかくどこまでやるのか、興味は尽きない。