見出し画像

アプリ開発だけじゃない。Rubyの意外過ぎる使い方

みなさんこんばんは!バグプログラミングです!前回の投稿で、「Rubyのこんな使い方あったの!?」というテーマに乗っ取り、遺伝子操作ついてお話ししましたが、今日はその後編です。今回は少し難しい話になりますが、Rubyの魅力を違う形で伝えられたらなと思います。

今回お話しするのは、「Rubyを用いたDNA情報の解読」です!いきなり難しく感じるかもしれませんが、ざっくり言えば、
「Rubyというプログラミング言語で、全ての生き物の説明書を読んでいこう!」こんなニュアンスで大丈夫です笑

本題に入る前に、まずは「DNAとは何?」から説明する必要があります。DNAとは、「デオキシリボ核酸」の略称のことで、これが先ほどから説明している「全ての生き物の説明書」になります。大きさは 5 〜 10 µm(0.000005 ~ 0.00001m)。全部繋げると1.8 m程度の長さになるそうです。皆さんは大体こんな形で教科書で学んだのではないのでしょうか?

画像1

この中に、自分たちの「情報」が書いてあります。では具体的に何が書いてあるのか? それは「タンパク質の作り方」が書いてあります。

タンパク質と聞くと、皆さん筋肉のイメージが強いと思います。もちろん筋肉だけではなく、目、鼻、毛、皮膚、爪、心臓、肺、胃、血、血管までぜ〜んぶタンパク質でできています。さらには免疫、酵素、男性・女性ホルモン、これも全部タンパク質です!つまり、人間が生きていく全てにタンパク質が関わっているのです。

・・話を戻しますが、先ほどお話したDNAにこのタンパク質の情報が書かれており、すごく細かく分類されています。つまり、

「鼻で鼻水を作るタンパク質専用の遺伝子」

「皮膚の層のタンパク質専用の遺伝子」

「食事の白飯だけを消化する酵素専用の遺伝子」

と一つ一つ丁寧に分類されています。ちなみに、人間一人あたりのDNAのデータ量ですが、単純計算で約750メガバイトに相当するとのこと・・。

 ここで一つ問題があります。それはDNAの解読がとても難しく時間がかかることです。 2003年4月14日には人のDNAを構成する全ての塩基配列を日米欧などのチームが解読しましたが、スタートしたのは1990年。つまり13年かかってようやく人間一人の解読が終わりました・・。なぜこんなにかかってしまったのか?それは専用の「DNA語」があるからです。一般的には「塩基配列」とも呼ばれます。基本単語は"A","T","G","C"の4種類のみです。

画像2

イメージとしては、猿同士の「"ウキッ, ウキッ"」の会話を全部人間の言葉に置き換えるくらい難しいことです。

画像3

つまり、先程の例を例えると・・

「"ATTTCGGC"    →   鼻水を作るタンパク質」

「"CCCGAAAT"     →   皮膚の層のタンパク質」

「"ATTTGGA"     →   白飯だけを消化する酵素」

この組み合わせパターン、変換、できたタンパク質の正体や機能に関するデータ全部を管理するのは無理があるというもの。

こうしたデータの扱いを全部"Ruby"に任せて解読させよう!と考え、実施に研究の分野に利用できるソフトウェア開発が盛んに行われています。

 元々Rubyはデータ保存や配列の管理・取得を得意としています。一昔前はtwitterのチャット内容、個人情報などの保存や取得に利用されていたこともあり、DNAの塩基配列からタンパク質の情報に変換することはまさに得意分野です。さらにRubyだけでなく、"python"や"R"、"Java"などと組み合わせるともっとスムーズに、もっと詳細まで解読することができます!ちなみに、こうしたバイオの研究に特化した専用のプログラミング言語も存在しており、Rubyでは"bioruby"と呼ばれています。他にも"biopythin", "bioJava"などもあります。

画像4

いかがでしたか?このように使い方や視点を変えるだけで全く異なる分野でも大いに活躍することができます!

 ちなみに私も興味本位で着手してみたのですが、正直勉強3ヶ月では全く理解できませんでした笑笑
1年後にはこの分野に利用できるまでに成長しようと思います!

ちなみにyoutube shortにもまとめてみました。1分なため大幅にカットされてますが、動画がいいかたはこちらからもどうぞ。

↓↓↓↓↓↓↓

https://youtu.be/gc26pdIHU1s

この記事が気に入ったらサポートをしてみませんか?