⇒おすすめプログラミング教室はココ!

DNA用の「プログラミング言語」とは?開発したMITってすごい大学だよね。

先日、アメリカ合衆国のマサチューセッツ工科大学(MIT)などからなる研究チームが、バクテリアのDNAに作用して特定の機能を付与する”プログラミング言語”を開発したというニュースがありました。

今回はこの論文を紹介しつつ、この論文の主題であるDNA用の「プログラミング言語」とはなにか?についてご紹介いたします。

米マサチューセッツ工科大学(MIT)などからなる研究チームが、バクテリアのDNAに作用して特定の機能を付与する”プログラミング言語”を開発しました。

この言語はテキストで記述でき、DNAが反応するシーケンスに”コンパイル”して細胞内へ流し込むことで、その細胞内に意図した機能を実現する回路が生成されます。

この十数年のあいだに DNA の解析は進み、細胞のリプログラミングやメモリー、センサーといった機能の追加が可能となってきました。ただ、実際に望むような機能を得るまでには多くのトライアンドエラーを要し、DNA のどの部分がどのような機能を司るかといった深い知見が必要とされます。

そこで研究チームは、どの部分がどう作用するかを知らなくても意図した機能を生み出せるよう、DNA の反応に合わせて論理的に組み立てられるプログラミング言語を開発しました。

⇒引用した記事はこちら

ママ

ちょっと難しいけど興味深い内容だよ。
MITってどんな大学?「Scratch」を開発したマサチューセッツ工科大学について。

DNAとは?

まず最初にDNAとはなにかについて説明します。

DNAとは、正確にはデオキシリボ核酸の略称です。DNAは、生物の体の細胞、器官、臓器を作る遺伝情報を搭載する物質で「体の設計図」とも呼ばれています。

遺伝子という言葉を聞いたことがあるかと思いますが、遺伝子はDNAの中に存在し、DNAの情報に基づいて子孫に外的特徴や病気のなりやすさなどが受け継がれます。

そもそもプログラミングとは?

小学生の習い事

次に、そもそもプログラミングとは何かについて考えてみます。

「プログラミングを実行する」というのは、プログラミング言語を用いてコードを実行したとき(何かを入力したとき)に、コードに対応したアウトプット(何らかの反応)が得られるという風に捉えることができます。

このニュースでMITのグループが開発した”プログラミング言語”は、このような原理をDNAに対して適応しています。

つまり、コードを実行したときにDNAに対して何らかの反応を生じさせることができる、というのが基本的な考え方です。

▼MITが開発した子ども向けプログラミング言語「Scratch」を教材に使っているプログラミング教室。▼
ヒューマンアカデミーこどもプログラミング教室のテキスト 体験レポ!こどもプログラミング教室にいった感想。小学生ママの口コミ

DNA用のプログラミングとは?

stem教育

このMITの研究チームでは大腸菌バクテリアのDNAをプログラミングによって改変させることを目的としています。

実は、これまでのDNAに何らかの機能を追加する方法というのは、DNA自体の深い知識や、DNAのどこを改変すればうまく機能を追加できるか、さらに実際に実験するための高度な実験スキルが必要となるという問題点がありました。

当然、普通の人にはこれらの知識やスキルはありませんので、普通の人がDNAを改変させることは非常に困難なわけです。

この研究チームが作成した”プログラミング言語”システムでは、実際にVerilogという言語を利用してコードを作成します。

このコード内で、ターゲットとなる大腸菌バクテリアのDNAに対して加えたい性能を記載します。

例えば、化合物や光に反応するセンター機能を付与したり、ブドウ糖や酸素の濃度に反応して何らかの反応を返すなど、約60種類もの機能が用意されています。

これらの機能の中からDNAに加えたい機能をプログラミング言語を利用してコード内で指定します。

すると、これらの性能に基づいたDNAを改変するシーケンス(塩基配列)を分析し、自動で配列を作成することできます。

これを細胞内へ流し込んでやることで、DNAに対しての深い知識を持たなくてもDNAを改変させるためのシーケンスを作成することができます。

DNA用プログラミング言語のメリット

この論文のように自動で配列を作成することには次のようなメリットがあります。

1)DNA自体に対しての深い知識がない人でも必要な機能に応じた塩基配列を作成することができる。

この論文では高校生程度でも扱えるようになっている、とのことです。

2)加えたい機能の設計から実際に作成するまでの時間が大幅に早くなる。

これまでの方法ではDNAに加えたい機能を探るために事前に解析をする必要があり、数年程の時間がかかっていました。

今回開発した方法では加えたい機能をコード内で指定するだけで済むため、あっという間にDNAシーケンスを作成することができるようです。

3)今回開発した方法では大腸菌バクテリアに特化したプログラミング言語となっていますが、今後の研究次第では他のバクテリアにも適用できるようプログラミング言語を改良していくことができます。

もちろん他のバクテリアに拡張する際にはそれ相応の時間がかかってしまいますが、一度拡張できてしまえば大腸菌バクテリアのときに利用していたシステムをそのまま利用することができるというメリットがあります。

まとめ

ここからは私個人の意見になります。

この研究ではDNA用の”プログラミング言語”を開発することができ、それによりDNAに対して深い知識が無い人でもバクテリアに対してさまざまな機能を追加できるような仕組みが整いました。

実はこれと同じようなことは他の世界でもよく起こっています。

例えば、今流行りのAI(いわゆる機械学習)の世界でも、Googleが機械学習に特化した汎用性のあるライブラリであるTensorflowを公開したことで、機械学習が爆発的に普及した、という歴史があります。

この例と同じように今回の”プログラミング言語”を公開することで、生物に対するDNAの操作が爆発的に普及するきっかけとなるかもしれません。

もちろんDNAの操作には細心の注意と倫理観が必要ですが、今回の試みは実験を簡単にし、科学の発展に寄与する大変重要な出来事だと思います。

ママ

小学生のユウちゃんが大人になるころには医療IT分野が熱いかもしれませんね。

▼サイバーエージェント運営・本格的プログラミングスクール「テックキッズスクール」小2~▼
techkidsschool、テックキッズスクール テックキッズスクール Tech Kids Schoolを体験した感想。渋谷校と大阪校の口コミ評判