【生物物理屋による論文紹介】EVO - 分子からゲノムまで、マルチスケールで扱うLLM

## はじめに
この記事は「[ただただアウトプットを癖付けるための Advent Calendar 2024](https://qiita.com/advent-calendar/2024/newbie2024)」に投稿した記事です。

[最初の記事](https://qiita.com/yotabouya/items/e63c53c5e18b3cf6a454#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB)にも書いた通り、私は生物物理の実験を専門にしている研究者です。
最近はデータ解析のため機械学習のコード開発も行っており、幸いにもその成果が[NeurIPSに採択されました](https://neurips.cc/virtual/2024/poster/93465)。

本記事では、そのうちやってみようと思っていた論文紹介を行います。
題材にするのは、今月のScienceで表紙を飾ったEVOの論文です。
私自身の専門はオミクスではなく細胞スケールの現象ですが、曲がりなりにも生物と物理、そして機械学習をかじった研究者として、この論文がどのような意味を持つのかをまとめてみたいと思います。

## 関連記事

#### 前の記事「[NeurIPS著者がGithub Pagesでウェブページを整備してみた話](https://qiita.com/yotabouya/private/d0df5ee5c08e86e35839)」

#### 次の記事「[Streamlitの学習をかねて、自分の研究を可視化してみた話](https://qiita.com/yotabouya/private/a31e318d2d48434fcce8)」

# TL;DR

EVOは、DNA配列の生成を行うAIで、ゲノム配列の生成に成功している。
特にStripedHyena機構による長い配列への最適化によって、Casやトランスポゾン、遺伝子変異の致命性、ゲノムの生成といった様々なタスクにおいて高い精度を示している。

## 論文

[Sequence modeling and design from molecular to genome scale with Evo](https://www.science.org/doi/10.1126/science.ado9336)

## Scienceエディターによる解説

[Meet Evo, the DNA-trained AI that creates genomes from scratch](https://www.science.org/content/article/meet-evo-dna-trained-ai-creates-genomes-scratch)

## 誰が書いたのか

Equal contribution の著者6名の所属は
- Stanford University ([Department of Bioengineering](Stanford University (Department of Bioengineering), [Department of Computer Science](https://www.cs.stanford.edu/))
- [Arc Institute](https://arcinstitute.org/)
- [Together AI](https://www.together.ai/)
となっています。


## EVOとは

EVOは、[Long-range Language Model (LLM)](https://en.wikipedia.org/wiki/Long-range_language_modeling)を用いて、DNA配列の生成を行うAIです。
ゲノム配列のデータセットにおいて、次の塩基を予測するというタスクにより学習されています。
これは、文章生成のLLMと同様のアプローチですが、DNA配列の特性を考慮して設計されています。

## 基本的な用語について

### 塩基配列
生物の遺伝情報がDNAに記録されているというのは、ご存知の通りです。
DNAは、アデニン（A）、シトシン（C）、グアニン（G）、チミン（T）の4種類の塩基で構成されています。
塩基配列というのは、この4種類の塩基がどのように並んでいるかを示すもので、これが遺伝情報の基本単位です。

### セントラルドグマ
生物学の基本原理の一つで、DNAからRNAを転写し、RNAからタンパク質を翻訳するという過程を指します。
DNAの塩基配列がRNAの塩基配列に変換され、RNAの塩基配列がタンパク質のアミノ酸配列に変換されるという流れが、生物学の中で最も基本的な情報伝達の仕組みです。

### コドン
DNAには、タンパク質を構成するアミノ酸をコードするためのコドンが記録されている部分があります。
コドンは、3つの塩基配列で構成されており、1つのコドンが1つのアミノ酸をコードします。
このように、DNA上の塩基配列がタンパク質のアミノ酸配列に変換される仕組みを[遺伝暗号](https://ja.wikipedia.org/wiki/%E9%81%BA%E4%BC%9D%E6%9A%97%E5%8F%B7)と呼びます。

### ノンコーディング領域
DNAには、タンパク質をコードするコドン以外にも、タンパク質の機能に関わる部分があります。
これらの部分は、ノンコーディング領域と呼ばれ、遺伝子の発現調節などに重要な役割を果たしています。

### ゲノム
ゲノムというのは、ある生物の遺伝情報の全体を指します。
上記の遺伝暗号によるタンパク質情報の記述と、ノンコーディング領域による機能情報の記述が、ゲノム上の塩基配列には含まれています。
各生物にはタンパク質の種類や機能が異なるため、ゲノムの塩基配列も生物種によって異なります。
このようなゲノムの特徴を学習することで、EVOは新たなゲノムの生成を行うことができます。

## EVOの性質

EVOの事前学習に用いられたデータセットは、OpenGenomeというゲノム配列データベースから収集されたものです。
この中には、バクテリアや古細菌、ウイルスなどのゲノム配列に加えて、実験などにも用いられるプラスミドなどの配列も含まれています。
これらを用いて行われた事前学習に加えて、様々なタスクのためのファインチューニングが行われています。
特筆すべきは、これのファインチューニングの結果として、EVOは実際の生物系において機能するタンパク質をコードする塩基配列を生成することができるようになったことです。
特にCasやトランスポゾンなど、遺伝子操作において重要な配列の生成に成功しており、これによってEVOは、合成生物学などの分野においても活用される可能性があります。

このような生成を可能にしたのは、アテンション機構に代わるStripedHyena機構を導入したことです。
これは、アテンション機構のように１対１の関係を持つ塩基間の依存関係を考慮するのではなく、塩基配列にたいして畳み込みを行うことで、より長い距離の依存関係を考慮することができるようになりました。

## Casの生成

Casの生成タスクのためのファインチューニングにおいては、Cas9やCas12などのCasタンパク質をコードする塩基配列を生成することが試みられました。
特にCas9,Cas12,Cas13を表すトークン（文字）をプロンプトとなる塩基配列の頭に付加しています。
これにより、生成タスクにおいてもこれらのトークンの示すタンパク質を生成することが可能になっています（生成された配列がCasであるかどうかは、そこにCRISPR配列と呼ばれる特有の配列群が含まれるかどうかで判定されました）。
すなわち、種によって微妙に異なるCasタンパク質の配列に対して、その特徴を学習したということです。
さらに、この生成されたCasタンパク質を大腸菌を用いて発現させ、実際に機能することを確認しています。
Casは一般に、sgRNAと呼ばれるガイドRNAとの相互作用によって特定のDNA配列を切断する酵素として知られていますが、このようなタンパク質とRNAとの相互作用についても予測することができたということです。

## トランスポゾンの生成

トランスポゾンは、ゲノム中で移動するDNA配列のことを指します。
これは、ゲノムの進化や遺伝子の多様性に重要な役割を果たしています。
このトランスポゾンであるIS200/IS605ファミリーの配列を生成するタスクにおいても、EVOは高い精度で生成することができました。
この場合でも、Casと同様に、IS200/IS605ファミリーを表すトークンをプロンプトに加えています。
トランスポゾンにおいてはDNA同士の相互作用が重要であり、EVOはこれを考慮した生成を行うことができたということです。

## 遺伝子変異の致命性の予測

EVOは遺伝子変異の致命性を予測するタスクにおいても高い精度を示しました。
これは、ファージなどの遺伝子の変異に対して致命性を測ったデータセットに対する予測をおこなったものです。
変異を入れた遺伝子の配列に加え加えて、隣接する塩基配列の情報も入れると、致命性の予測がより正確になることがわかりました。
さらには、変異を入れた遺伝子の配列のみからも、既存モデルを超える精度で致命性を予測することができたということです。

## ゲノムの生成

最後に、EVOによるゲノム生成も試みられています。
ここでは、生物種を表すトークンをプロンプトに加えて、その生物種に特有のゲノム配列を生成することが試みられました。
生成されたゲノムには、タンパク質をコードする部位が多数含まれていました。
タンパク質をコードするためには、タンパク質の始まりと終わりを意味するコドンが含まれる必要がありますが、EVOはこれを安定的に生成することができたということです。
また、タンパク質はその配列と機能とがある程度関係づけられており、配列を見ることで機能をある程度分類することができます（このようなことをオントロジーと呼びます）。
生成されたゲノムに含まれるタンパク質は、必須とされるような機能を持つと思われるものが多数含まれていたということです。
また、遺伝子の類似性から見て取れる種間の進化的な関係も、生成されたゲノム同士の関係として読み取ることができたということです。

## まとめ

EVOは、長い距離の依存関係を考慮したLLMを用いて、DNAの塩基配列の生成を行うAIです。
その性質を活かして、Casやトランスポゾン、遺伝子変異の致命性、ゲノムの生成といった様々なタスクにおいて高い精度を示しました。
これらは主に、生成したい配列の特徴を示すトークンをプロンプトに加えることで実現されています。
論文の範囲内では、Cas、トランスポゾン、生物種と、それぞれ１つの階層の特徴を捉えるファインチューニングにとどまっていますが、これをさらに多階層に拡張することで、より複雑な生物現象の生成が可能になるかもしれません。
例えば、マウスのCasの生成、なんていうことができてくると、合成生物学の分野においても大きな進展が期待されるでしょう。