精密医療電脳書

分子標的薬 コンパニオン診断 コンパクトパネル 人工知能

DeepMind AlphaGenome解説:配列入力方式・対応アッセイ・問題点

AlphaGenomeはゲノム配列の機能を予測するGoogle Deep Mindの新しい予測モデルである。タンパク質コード領域については、2023年9月に遺伝子変異の有害性を予測するモデルAlphaMissenseを発表しているが、AlphaGenomeはタンパク質の設計図としては機能していない「非コード領域」が主な分析対象だ。ちょっと触ってみたところ、主要なアッセイは大体カバーされているが、ヒトゲノムのSNV(sigle nucleotide variant)+small indelに焦点を絞った設計になっている。現在のバージョンは 0.2.0。

 

簡単に説明すると、

・学習データは、ENCODE、FANTOM5、GTEx、4D Nucleome、Clinvar、gnomADなど。ヒトのバリアント情報も含まれているが、医学ではなく生物学志向のAI。

・ヒトゲノム配列、測定技術、組織あるいは細胞を指定して予測を行う。指定した測定技術のデータの予測値が出力される。

となる。それぞれの項目の概要を述べる。なお、一応マウスゲノムも使える。

 

 

ヒトゲノム配列

 

3種類の塩基配列入力方式が用意されている。

 

領域:dna_model.predict_interval

 

ヒトゲノム配列(reference sequence)の領域を指定する。バージョンは hg38 (GRCh38.p13.genome.fa) 。例えば19番染色体の塩基位置40991281から41018398であれば、下記で取得できる。

interval = genome.Interval(chromosome='chr19', start=40991281, end=41018398)

入力塩基数は2のべき乗に限られている。サポートされている入力塩基数は~2KB(正確には2^11=2,048), ~16KB(2^14=16,384), ~100KB(2^17=131,072), ~500KB(2^19=524,288), 1MB(2^20=1,048,576)の5つ。鎖長が条件を満たしていない場合、genome.Interval.resizeを使ってサポートされている塩基数に調整することができる。この場合中心点から左右対称に拡大あるいは縮小される。例えば、

interval = interval.resize(dna_client.SEQUENCE_LENGTH_1MB)

で予測対象領域が1MBになる。

 

塩基置換(あるいは挿入欠失):dna_model.predict_variant

 

reference sequenceの特定の塩基位置について、塩基置換を指定する。例えば、

variant = genome.Variant(
    chromosome='chr22',
    position=36201698,
    reference_bases='A',  # もとの塩基と違っていてもよい:スコア算出用機能
    alternate_bases='C',
)

挿入欠失の場合は、複数塩基を指定すればよい。

# Insertion variant.
variant = genome.Variant(
    chromosome='chr3',
    position=10_000,
    reference_bases='T',
    alternate_bases='CGTCAAT',
)

# Deletion variant.
variant = genome.Variant(
    chromosome='chr3',
    position=10_000,
    reference_bases='AGGGATC',
    alternate_bases='C',
)

次に予測対象領域を指定する。.resizeで塩基置換周辺のヒトゲノム領域を指定できる。例えば、

interval = variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB)

で周辺1MBが予測対象領域になる。

 

直接入力:dna_model.predict_sequence

 

任意の塩基配列を直接AlphaGenomeに入力する。現在のAlphaGenomeの大きな問題点は染色体転座などの大規模な構造変化がサポートされていないことだ。自分で転座周辺の配列を作成して入力する必要がある。

dna_modelではヒトゲノム領域を指定する必要がある。直接入力の場合は、自分で代替品を用意する:次の要領で合成インターバルをつくる。

synthetic_interval = genome.Interval(chromosome="chrSynthetic",start=0,end=len(input_sequence),)

 

測定技術

 

サポートされている測定技術は以下の通り。予測値の詳細については原著論文を参照のこと。

 

測定技術 説明
RNA_SEQ RNA-seq: PolyA+ RNA/total RNA
CAGE Cap Analysis Gene Expression (CAGE) assay
PROCAP Precision Run-On sequencing and capping (PROCAP) assay
DNASE DNase I hypersensitive sites sequencing (DNase-seq) assay
ATAC Assay for Transposase-Accessible Chromatin with high-throughput sequencing (ATAC-Seq)
CHIP_HISTONE ChIP-seqで測定したH3k27acなど24種類のマーカーによるヒストン修飾の相対量
CHIP_TF 43種類のタンパク質をターゲットにしたChIP-seqによるDNA結合転写因子の相対量
SPLICE_SITES ゲノム配列から予測、予測確率として表示
SPLICE_JUNCTIONS RNA-Seqによって同定されたsplice junction
SPLICE_SITE_USAGE splice siteを利用する転写物の比率
COMTACT_MAPS 染色体部位間の物理的接触の相対頻度を示したもので、クロマチン接触マップ(Micro-CおよびHi-Cアッセイ)から導出

 

組織・細胞

 

ヒト組織あるいは細胞の指定にはCURIE(Compact Uniform Resource Identifiers)を用いる。CURIEは、特定のオントロジーの用語を一意に識別する標準化されたコード(例えば、肝臓は「UBERON:0001114」)で、AlphaGenomeのトレーニングデータのIDを使うことができる。またENCODE projectの慣例に従い、オントロジータイプをUBERON、CL、CLO、EFOに限定している。EBIのOntology Lookup Service で検索可能。

 

補足

 

In silico mutagenesis

 

指定した塩基配列のすべての塩基のバリアントについて予測を行う機能がある。AlphaGenomeでは、ISMはin silico mutagenesisの略である。

 

コメント

 

現在はv 0.2.0なので、使い勝手は悪くマニュアルもわかりにくい。今のところ人気はない:論文のアクセスは少なく、コミュニティサイトも閑古鳥だ。pythonの文法を知らないまま使うのは面倒だった、というのが実感。致命的な問題点は次の2つ。

・染色体転座など大規模な構造変化がサポートされていない。

・マニュアルに予測値の単位の説明がない(論文の片隅に記載されているが)。

機能ゲノム研究の専門家は別にして、現在のUIでは対コスト効果は低い。原著論文を読むのは面倒なので、chatPDFで必要事項を検索するのがよい。AlphaGenomeの使用に際しては、ローカルにインストールされるAlphaGenomeフォルダ内のパイソンスクリプトをGPT-5に読ませて命令文を書かせるのがいいだろう。

私はこの方法で命令文を書いてはいないが、行き詰まったときに一発で問題解決できた。

AlphaGenomeの学習データにはがんゲノムプロジェクトのデータは入っていない。そのためがん組織については、AlphaGenomeの予測能を(比較的)正確に評価できる。これはメリット?