4
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

核酸創薬 × Informatics

こちらは創薬(dry) Advent Calender 2019 7日目の記事になります。
mipomersenを例に、核酸創薬において注意を払う必要がある「オフターゲット」について書きます。

核酸創薬におけるオフターゲットとは

核酸分子に由来するオフターゲット効果は、大きく分けて2つあります。

  • 狭義のオフターゲット
    相補的な配列を持つ核酸分子とのHybridization作用

  • 広義のオフターゲット
    上記以外の核酸分子であるがゆえの作用(例:TLRを介した免疫刺激など)

本記事では、広義のオフターゲットについては触れません。未勉強なので!

mipomersenについて

2013年に米国で承認されたGapmer型ASOの核酸医薬品です。

一般名 mipomersen
商品名 Kynamro®
適応症 Homozygous Familial Hypercholesterolemia (ホモ結合型家族性高コレステロール血症)
ターゲット ApoB-100 mRNA
配列 5'-mG-mC*-mC*-mU*-mC*-dA-dG-dT-dC*-dT-dG-dC*-dT-dT-dC*-mG-mC*-mA-mC*-mC*-3'
配列注釈 m = 2'-O-(2-methoxyethyl), d = 2'-deoxynucleoside, * = 5-methyl

オフターゲット候補遺伝子について

mipomersenはApoB-100 mRNAに対して相補的な配列を持ち、Gapmer型ASOの作用機序であるRNase Hの切断機能を介してmRNAを切断します。
しかし、mipomersenが他の遺伝子とも相補的な配列を持っていた場合、RNase Hを介してその遺伝子を切断してしまうかもしれません。

まずはどのような遺伝子に対して相補的な配列を持っているのか、検索してみましょう。

検索方法について

GGGenomeという素晴らしいツールが存在します。
まるでGoogleで検索しているかのようにスムーズに検索できます。
そして意味が分からないくらい爆速です。
今回はこのツールを用いて検索してみます。手順は以下の通りです。

検索条件の設定と実行

  • mipomersen(GCCTCAGTCTGCTTCGCACC、U->Tに統一)の配列を入力配列として使用
  • (今回はとりあえず)検索対象DBとしてHuman pre-spliced RNA, RefSeq curated protein coding on hg38, D3G 19.06 (Jun, 2019)を使用
  • -方向のみ検索(=入力の逆相補鎖を検索)を選択
  • 3塩基までのミスマッチ/ギャップを許容
  • csv形式で出力 & Download

以上の条件をURLにするとこうなります
上記をクリックすると、GGGenomeでの検索が実行され、gggenome_result.csvがダウンロードされます。

出力の編集

gggenome_result.csvには同じGeneSymbolに複数回当たっているものもあります。
まずdistance(= mismatch + deletion + insertion)列を作成し、ソート後、GeneSymbolでユニーク処理をして、どんな遺伝子に当たっているか見てみましょう。

$ head -n 6 gggenome_result.csv

# [ GGGenome | 2019-xx-xx xx:xx:xx ]
# database,"Human pre-spliced RNA, RefSeq curated protein coding on hg38, D3G 19.06 (Jun, 2019)"
# query,GGTGCGAAGCAGACTGAGGC
# count,965
# name,strand,start,end,snippet,snippet_pos,snippet_end,query,sbjct,align,edit,match,mis,del,ins
"NM_000037.3|ANK1|chr8:41653224:41797622:-|prespliced",-,3321,3339,"AAGAGGTGAAGGAAACAGCCAGGCCAAACTCCAGAGGAAACAGCACATGCAAAGGTCCTGAGGCAGGCGTGTGTCATGGGAATAACCGGGAGGCCAGTGTGGTTGAAGCAGAGTGAGGCAGGAGGAGCAGGAGGAGGTGAGGTCAGAGAGATTGGGAAAGGGGCACAGGTGCAGAAGATGCAGGGCTTTGTACATTGATGTGGGGATTTTACTTCTGCC",3221,3439,"GGTGCGAAGCAGACTGAGGC","GGTT-GAAGCAGAGTGAGGC","|||  |||||||| ||||||","===XI========X======",17,2,0,1

5行目からpd.DataFrame形式で読めそうですね。

import pandas as pd

# 5行目以降をdataframeで読む
df = pd.read_csv('gggenome_result.csv', header=4)

# GeneSymbol列とdistance列の作成
df['GeneSymbol'] = [i.split('|')[1] for i in df['# name']]
df['distance'] = df['mis'] + df['del'] + df['ins']

# distance列、GeneSymbol列を昇順でソート
df.sort_values(['distance', 'GeneSymbol'], ascending=[True, True], inplace=True)

# GeneSymbol列でユニーク処理
df.drop_duplicates(subset='GeneSymbol', keep='first', inplace=True)

# 上から10行を出力 
print(df[['distance', 'GeneSymbol']].head(10))

# distance毎の件数を出力
print(df.groupby('distance').size())
     distance GeneSymbol
6           0       APOB
168         2       DDX4
813         2     ERGIC3
203         2      HPSE2
83          2     STK32A
165         2       TLK1
930         3     ABCA12
350         3      ABCB8
290         3      ACSS1
878         3      ACTL8

distance
0      1
2      5
3    261
dtype: int64

検索と集計の結果、オンターゲット(APOB)を除く266の遺伝子に対して一定以上の相補的な配列を持っていることが分かりました。
また、完全に一致しているもの(distance=0)がAPOBだけ、次点がd=2の5つだけ、と優秀な配列に見えます。
上市品ですし「できるところまで避けきった」といったところでしょうか。

ここで注意が必要なのは、この266遺伝子はあくまでもオフターゲット遺伝子の「候補」である、ということです。
これらの遺伝子が実際に狭義のオフターゲット効果を示すかどうかを確認するためには、マイクロアレイやRNAseqなど、Wet面から検証する必要があります。

さらに言えば、上記の検証によるin vitroレベルでの狭義のオフターゲット効果を確認できたとしても、それがin vivoの毒性として見えるかどうか、はまた別の問題になります。

まとめ

近年、様々な分子種を用いた創薬研究が活発に行われていますが、核酸創薬におけるインフォマティクスの取り組み事例として少しでも知っていただければ嬉しいです。

余談

呑気に下書きしていたら、DBCLSから狭義のオフターゲットに関するプレスリリースが出てきました。
非常に参考にさせていただきました。オープンアクセスのようなので気になる方はぜひ。

参考

今回書かなかった広義のオフターゲットや、その他核酸医薬に関して記載あるものについてリンクしておきます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
4
Help us understand the problem. What are the problem?