環境 DNA メタバーコーディングでは自分たちが興味ある特定の分類群に属する生物の DNA をまとめて増幅するための 「ユニバーサルプライマー」 が使用されます。調査・研究の目的に合ったユニバーサルプライマーを選ぶことは環境 DNA メタバーコーディングにおいて最も重要なステップの一つです。
この 「適したユニバーサルプライマーを選ぶ」 という作業、簡単なようでその難易度は研究目的や解析対象の分類群によりかなりばらつきがあります。今回はユニバーサルプライマーに関連して、以下の項目の記事を書いてみようと思います。
1. ユニバーサルプライマーを選ぶ際に考慮する条件
2. 環境 DNA メタバーコーディングで使用されるユニバーサルプライマー ・ 生物分類群 ・ シーケンサー
3. 自分の研究対象の分類群/種はユニバーサルプライマーで増えるのか ?
ユニバーサルプライマーを選ぶ際に考慮する条件
ユニバーサルプライマーの選択の際に考慮すべき条件は概ね以下のとおりです。
- 生物分類群 : 自分たちが興味ある分類群の DNA を増幅できること。これは必須の条件です。また、自分たちが興味ない分類群の DNA を増幅しないこと/増幅しすぎないこと、も重要です。
- (種) 同定の解像度 : 解読された DNA 配列を用いて 「どの程度の階層 (種・属・科など) まで生物の分類群を同定できるか」 も重要な指標です。
- 増幅産物の長さ : 環境 DNA メタバーコーディングでは高スループットなシーケンサーを用いて配列解読を行いますが、シーケンサー毎に解読可能な配列長が異なります。したがって、どのシーケンサーで配列を解読予定か、予め考慮しなければなりません。
ユニバーサルプライマーの開発論文では、コンピュータ上での計算や実際にサンプルを用いた実験により、上記に関する様々な指標の評価が行われています。なお、本記事ではユニバーサルプライマーの開発方法そのものについては解説しません。
環境 DNA メタバーコーディングで使用されるユニバーサルプライマー ・ 生物分類群 ・ シーケンサー
環境 DNA メタバーコーディングで使用可能なユニバーサルプライマー・対応する生物分類群とシーケンサーをいくつか列挙します。当然 (?) 列挙しきることは不可能なので下の方で参考文献・ウェブサイトも紹介します (それでも足りないですが)。
生物分類群とユニバーサルプライマー
- 原核生物全般
- Caporaso et al. (2011)
- 515F: GTGCCAGCMGCCGCGGTAA
- 806R: GGACTACNVGGGTWTCTAAT
- Parado et al. (2016)
- 515F-Y: GTGYCAGCMGCCGCGGTAA
- 926R: CCGYCAATTYMTTTRAGTTT
- Caporaso et al. (2011)
- 真核生物全般
- Stoeck et al. (2010)
- 1391F: GTACACACCGCCCGTC
- EukBr: TGATCCTTCTGCAGGTTCACCTAC
- Stoeck et al. (2010)
- 真菌全般
- Toju et al. (2012)
- ITS1_F_KYO1: CTHGGTCATTTAGAGGAASTAA
- ITS2_KYO2: TTYRCTRCGTTCTTCATC
- Toju et al. (2012)
- 動物全般
- Leray et al. (2013), Folmer et al. (1994)
- mlCOIintF: GGWACWGGWTGAACWGTWTAYCCYCC
- HCO2198: TAAACTTCAGGGTGACCAAAAAATCA
- Leray et al. (2013), Folmer et al. (1994)
- 魚類
- Miya et al. (2015)
- MiFish-U-F: GTCGGTAAAACTCGTGCCAGC
- MiFish-U-R: CATAGTGGGGTATCTAATCCCAGTTTG
- Miya et al. (2015)
その他、哺乳類 (Ushio et al. 2017)、両生類 (Sakata et al. 2021)、水生昆虫 (Leese et al. 2020)、エビ・カニ類 (Komai et al. 2019) などについてのユニバーサルプライマーも報告されています。真核生物の 18S rRNA 遺伝子領域については PR2 Primer Database で多くの情報が手に入ります。また、Environmental DNA: For Biodiversity Research and Monitoring の巻末にあるユニバーサルプライマーリストも非常に便利です。Earch Microbiome Project のウェブサイト や 東北大の田邉さんのウェブサイト にも記載があります。
対応するシーケンサー
よく使われるプライマーとシーケンサーの組み合わせは以下のとおりです。一般的に解析する DNA が短い方がシーケンサーの選択肢が多く、シーケンス試薬も安い傾向があります。一方で、短い DNA は解析する領域が同じ場合は、種同定の分解能 (科まで同定可能か、種まで同定可能か、など) は低い傾向にあります。
-
150 bp x 2 Paired End (iSeq 100, MiSeq, HiSeq, NovaSeq など)
- MiFish-U-F/R
- 1391F - EukBr
-
250 bp x 2 Paired End (MiSeq, NovaSeq など)
- mlCOIintF - HCO2198
- 515F - 806R
- 515F-Y - 926R
-
300 bp x 2 Paired End (MiSeq のみ)
- ITS1_F_KYO1 - ITS2_KYO2
また、一般的な組み合わせは以上のとおりですが、515F - 806R や ITS1_F_KYO1 - ITS2_KYO2 を iSeq 100 のシングルエンドで 300 bp 程度連続で読んだりすることもできます。このあたりは、使える予算・かけられる時間・求める種同定の分解能などを考慮して決めることになります。
また、近年は Oxford Nanopore MinION などロングリードシーケンサーの登場により環境 DNA でもより長い領域を解析するような研究も報告されつつあります。
ユニバーサルプライマーで自分の興味ある種の DNA は増えるのか?
さて、調査対象の生物分類群全般を増幅してくれるユニバーサルプライマーは非常に頼もしいですが、当然ながら対象分類群に含まれる生物種の DNA を 100% 増幅してくれるわけではありません。例えば、魚類全般を対象とした MiFish-U-F/R を用いても DNA が増えない or 増えにくい魚種が存在します。 例えば ヤツメウナギの DNA は増えないそうですし、エイ・サメの仲間の DNA も増えにくいようです (なので MiFish-E-F/R がデザインされている; Miya et al. 2015)。
このような状況下で、例えば次のような疑問がよく生まれます:
“昆虫を mlCOIintF - HCO2198 のプライマーを用いて環境サンプル中の DNA を網羅的に解析予定だが、このプライマーは自分が特に興味あるハチの仲間の DNA も (もし含まれていたら) 増幅してくれるのだろうか?”
最近、特にこういった質問をよくされます。そこで、いくつか典型的なやり方をまとめてみました。 (調べましたが、以下の 3 つ以外の方法はよく分かりませんでした。もし他にいい方法があったら教えて下さい)
1. テキストファイルで検索 (眺める)
最もシンプルなのはこの方法です。興味ある生物の DNA 配列 (FASTA ファイル) がすでにある場合は、そのファイルをテキストエディタで開き、プライマーの配列を検索する、ということが可能です。
例えば、以下のようにクサフグのミトコンドリア DNA の配列が手元にあるとします。
このテキストファイルに MiFish-U-F の配列 (GTCGGTAAAACTCGTGCCAGC) で検索をかけます。
MiFish-U-F の配列が 1 箇所だけにヒットしました。どうやら一致する領域があるようです。さらに、図は出していませんが、MiFish-U-R の配列の逆相補配列 (“CAAACTGGGATTAGATACCCCACTATG”) に一致する場所も見つかります。したがって、クサフグの DNA は MiFish-U-F/R のプライマーセットで増幅できそう、ということになります。
似たようなことは FASTA ファイルの表示に特化した他のソフトウェアでも可能でしょう。
この方法は、特別な技術やソフトウェアが不要で直感的にわかりやすいのでお手軽かもしれません。ただし、配列が手元にないと調べられませんし、調べたい配列数やプライマー数が増えると大変です。また、上記 515F-Y - 926R などに見られるような縮重塩基を含むようなプライマーと一致する領域を検索で探すのも大変です。さらに、プライマー - 鋳型 DNA のミスマッチを許容しつつ探す、ということはできません。
2. NCBI + seqkit amplicon
2 番目はもう少し網羅的な方法で、少し配列解析っぽくなります。
配列データをダウンロード
まず、NCBI (https://www.ncbi.nlm.nih.gov/nuccore) などの公共のデータベースで興味ある種や分類群の DNA 配列を検索します。「1」 と同じく Takifugu niphobles (もしくは Takifugu alboplumbeus?) を検索します。ミトコンドリア DNA の配列が欲しいので、「Takifugu niphobles AND mitochondrion」 で検索してみます。
3 件ヒットしました。これらの配列をダウンロードしたい場合は、チェックボックスにチェックを入れます。
その後、ページの上の方にある 「Send to」 のボタンをクリックして、「Complete Record」 → 「File」 → 「FASTA」 → 「Create File」 を選択すると FASTA ファイルとして DNA 配列がダウンロードできます。
seqkit を使ってプライマーと一致する領域を抽出
さて、ダウンロードした配列ファイルは seqkit というツールで調べます。
配列ファイルを操作する様々な機能を備えており、かつ軽くて高速、使い勝手もいいです。非常におすすめのツールです。インストール方法はこちら。
macOS の場合は上記のウェブサイトで seqkit_darwin_amd64.tar.gz を選択してダウンロードします。その後、ターミナルで以下をタイプします。
tar -zxvf seqkit_darwin_amd64.tar.gz
sudo cp seqkit /usr/local/bin/
seqkit version
とタイプしてバージョンが表示されればインストールされています。
Windows の場合は上記のウェブサイトで seqkit_windows_amd64.exe.tar.gz を選択します。その後、コマンドプロンプトで以下をタイプします。
tar -zxvf seqkit_windows_amd64.exe.tar.gz
seqkit.exe
をC:\WINDOWS\system32
にコピー。seqkit version
とタイプしてバージョンが表示されればインストールされています。
インストールができたら、NCBI からダウンロードした配列 (sequence.fasta
というファイル) があるフォルダに移動して、ターミナルかコマンドプロンプトで以下をタイプして、seqkit amplicon
の機能を使用します。
seqkit amplicon -F GTCGGTAAAACTCGTGCCAGC -R CATAGTGGGGTATCTAATCCCAGTTTG -w 0 -m 0 sequence.fasta
-F
にフォーワードプライマー配列、-R
にリバースプライマー配列を指定します (ここでは MiFish-U-F/R)。-w 0
は出力する DNA 配列の改行なしのオプション、-m 0
はミスマッチ数 0 の仮定のもとでの抽出を行うオプションです。
すると次のように画面上にプライマーと一致する領域およびその間の領域、つまりは PCR で増幅されうる領域が切り出されます。
もしくは、下記のように入力することで出力結果をファイルに保存できます。
seqkit amplicon -F GTCGGTAAAACTCGTGCCAGC -R CATAGTGGGGTATCTAATCCCAGTTTG -w 0 -m 0 sequence.fasta > amplified.fasta
この方法を使えば手持ちの配列がなくても、興味ある生物の DNA が特定のユニバーサルプライマーで増えそうかどうかを調べることができます。また、seqkit amplicon
の -m
オプションを指定すればミスマッチの数を指定して調べることもできます。さらに、プライマー配列に縮重塩基が含まれていても大丈夫です。
3. カスタムスクリプトを作る
多少のコーディング作業がありますが、「2」 のやり方でほぼ完璧なように思えます。しかし、いくつもの生物分類群やプライマーを調べる必要がある場合は、上記の検索作業を何度も繰り返すことになります。検索して、ファイルをダウンロードして、ターミナルを開いて seqkit amplicon
を実行、を繰り返すのはなかなか面倒なものです。
基本的には 「配列のダウンロード」 と 「seqkit amplicon
」 が使えれば全て解決するはずなので、全ての作業を R で記述し、一つの関数にすることにしました。少し探したのですが、幸い rentrez という良さそうなパッケージがあったのでそれを利用することにしました。
R から配列のダウンロード
まず、検索ワードを指定して配列の ID などを収集します。
# rentrez のインストールと読み込み
devtools::install_github("ropensci/rentrez")
library("rentrez"); packageVersion("rentrez") # v1.2.3
# 検索ワードを指定 (Trachurus かつ mitochondrion かつ 配列長 1000~20000)
SEARCH_QUERY <- "Trachurus AND mitochondrion AND 1000:20000[SLEN]"
# 検索
rentrez_search <- entrez_search(db = "nucleotide", term = SEARCH_QUERY)
配列をダウンロードして、一度書き出して保存します。
# 配列をダウンロード
entrez_fasta <- entrez_fetch(db = "nucleotide", id = rentrez_search$ids, rettype="fasta", parsed = FALSE)
# FASTA ファイルとして書き出し
write.table(entrez_fasta, file = "entrez_fasta.fa", quote = FALSE, col.names = FALSE, row.names = FALSE)
R の system
関数を使って seqkit amplicon
を R から実行して、プライマー (ここでは MiFish-U-F/R) と一致する領域を持つ配列を抽出します。
system("seqkit amplicon -F GTCGGTAAAACTCGTGCCAGC -R CATAGTGGGGTATCTAATCCCAGTTTG -w 0 -m 1 entrez_fasta.fa > amplified.fa")
これで amplified.fa
という FASTA ファイルに MiFish-U-F/R で増幅されうる領域が書き出されます。以上の操作を関数としてまとめれば、検索ワードを変更するだけでどんどん 「自分の研究対象種/分類群はユニバーサルプライマーで増えるのか ?」 を調べることができます。
おまけ!
実は seqkit amplicon
は 「縮重塩基を含むプライマー + -m
オプションを使ったミスマッチ数の同時指定」 ができません (これ、昔はまって seqkit の開発者に質問したことがあります; 正確に言うと seqkit
内で解決できる問題ですが、手作業でやると少々ややこしいです)。-F
もしくは -R
に縮重塩基を含むプライマーを指定すると -m
オプションは無視されます。
そのへんの問題を自作の関数で解決しつつ、上記のカスタムスクリプトを関数としてまとめてみました。ついでに以前から興味があった R package の作成に挑戦するのにいい機会 (?) ということで、単純な関数ではありますがパッケージ化を試みました。成果物が以下です。
もし 「自分の研究対象種/分類群はユニバーサルプライマーで増えるのか ?」 を調べる必要があったら使ってあげてください。
rDoAMP (DOes my primer set AMPlify my targets?)
https://github.com/ong8181/rDoAMP
詳しくは Github のページを読んでもらうといいのですが、devtools::install_github("ong8181/rDoAMP")
でインストール可能です。seqkit
が正しくインストールされていれば macOS と Windows で動作します。Linux でも動くはずですが未確認です。
縮重塩基を含むプライマーの問題は expand_degenerate_primer()
という関数を用意して、あり得るプライマーの組み合わせを tsv ファイルとして書き出し、それを用いることで解決しています。例えば以下のようなコマンドを使っています。-p プライマーリスト
のオプションと -m
のオプションは同時使用可能です。
seqkit amplicon -p primer_list.tsv -m 3 download.fa | seqkit rmdup -w 0
また、entrez_search
はヒットした ID を上から順番に取ってくるので、似通った配列の ID が連続して取得されることが多いです。そこで、デフォルトでは予めダウンロード予定の配列数の 10 倍の ID を取得しておいて、その中からランダムにダウンロードする配列を選ぶ、という風にしています。こうすることで取得する配列の多様性が挙がります。
(いろいろ小細工しましたが、ほぼほぼ seqkit amplicon
です。seqkit
すごいです)
R package の作成は以下のウェブサイトを参考にさせていただきました (どうもありがとうございます)。楽しかったです (もっと勉強します)。
- https://cpp-laboratory.hatenablog.com/entry/2020/12/12/044328
- https://bookdown.org/yutannihilation/practical-r-package-development-ja/r.html
- https://stats.biopapyrus.jp/r/devel/packging.html
- https://heavywatal.github.io/rstats/devtools.html
参考文献・情報
- Caporaso et al. (2011) Global patterns of 16S rRNA diversity at a depth of millions of sequences per sample. PNAS https://doi.org/10.1073/pnas.1000080107
- Folmer et al. (1994) DNA primers for amplification of mitochondrial cytochrome c oxidase subunit I from diverse metazoan invertebrates. Molecular Marine Biology and Biotechnology https://pubmed.ncbi.nlm.nih.gov/7881515/
- Komai et al. (2019) Improved freshwater macroinvertebrate detection from environmental DNA through minimized nontarget amplification. Metabarcoding & Metagenomics https://doi.org/10.3897/mbmg.3.33835
- Leese et al. (2020) Improved freshwater macroinvertebrate detection from environmental DNA through minimized nontarget amplification. Environmental DNA https://doi.org/10.1002/edn3.177
- Leray et al. (2013) A new versatile primer set targeting a short fragment of the mitochondrial COI region for metabarcoding metazoan diversity: application for characterizing coral reef fish gut contents. Frontiers in Zoology https://doi.org/10.1186/1742-9994-10-34
- Miya et al. (2015) MiFish, a set of universal PCR primers for metabarcoding environmental DNA from fishes: detection of more than 230 subtropical marine species. Royal Society Open Science https://doi.org/10.1098/rsos.150088
- Parado et al. (2016) Every base matters: assessing small subunit rRNA primers for marine microbiomes with mock communities, time series and global field samples. Environmental Microbiology http://doi.org/10.1111/1462-2920.13023
- Sakata et al. (2021) Development and evaluation of PCR primers for environmental DNA (eDNA) metabarcoding of Amphibia. bioRxiv https://doi.org/10.1101/2021.10.29.466374
- Stoeck et al. (2010) Multiple marker parallel tag environmental DNA sequencing reveals a highly complex eukaryotic community in marine anoxic water. Molecular Ecology http://doi.org/10.1111/j.1365-294X.2009.04480.x
- Toju et al. (2012) High-Coverage ITS Primers for the DNA-Based Identification of Ascomycetes and Basidiomycetes in Environmental Samples. PLoS ONE https://doi.org/10.1371/journal.pone.0040863
- Ushio et al. (2017) Environmental DNA enables detection of terrestrial mammals from forest pond water. Molecular Ecology Resources https://dx.doi.org/10.1111/1755-0998.12690
- Environmental DNA: For Biodiversity Research and Monitoring
- Earch Microbiome Project
- PR2 Primer Database
- rentrez
- seqkit
- 東北大の田邉さんのウェブサイト
Written with StackEdit.
はじめまして。いつも大変参考になる記事ありがとうございます。
返信削除rDoAMPを使っているのですが、配列名に空白が入っている場合、うまく動かないように思います。
具体的には、属名が同じ配列を複数入れて実行した場合、それらのうち複数種が増幅可能な場合でも、それらのうち1つしかampliconとして出力されません。
例 : 配列名
「Dendrogaster asterinae」
「Dendrogaster tobasuii」
もしお時間があるようなら修正してもらえるとありがたいです。
コメントありがとうございます。ちょっと検討したいのですが、もし可能であれば配列ファイルや、解析コードなど(Rパッケージバージョンであれば)を ong8181 あっと gmail.com まで送っていただけないでしょうか?
削除(こちら、いつも見ていないのでお返事遅れてすいません)
このコメントは投稿者によって削除されました。
返信削除