エラー発生
先日、今まで通りQiime2を使ってシーケンス後のデータを解析しようとしたところ、qiime dada2 denoise-paired
関連コマンドを入力後以下のエラーが出てきました。
Plugin error from dada2:
An error was encountered while running DADA2 in R (return code 1), please >inspect stdout and stderr to learn more.
See above for debug info.
この解決方法を探ろうとネットで検索しても明確な答えがなかったため、困っている人の参考になればと思い解決できた方法をまとめることにしました。
そもそもなぜこのようなエラーが出るようになったのかについては定かではありませんが、おそらくRまたはRStudioを更新したことが関係しているかもしれません。
解決方法
上記の赤字で出るエラーメッセージはほぼ参考にならず、なぜエラーになるのかについては上部に以下のように日本語で記載されていました。
R version 4.2.1 (2022-06-23)
要求されたパッケージ Rcpp をロード中です
エラー: package or namespace load failed for ‘dada2’ in library.dynam(lib, package, package.lib):
共有オブジェクト ‘reshape2.so’ を見付けることができません
実行が停止されました
1.ターミナル上のRのアップデート
上記は最初のエラーメッセージでないため、Rのversionが違いますが、初めはR version 3.6.1(2019-)でした。Rに問題があると思い、ターミナル上のRのupdateをしました。
ターミナルで以下のコマンドを入力
R
install.packages('devtools') #すでにあれば不要
library(devtools)
install_github('andreacirilloac/updateR')
library(updateR)
updateR() #パスワードを要求される
2.パッケージのインストール
上記の日本語のエラーメッセージのようにdada2を起動しようとしたけど共有オブジェクトが見つからないため先に進めないようです。
上記のエラーメッセージでは'reshape2.so'
と記載されています。
これはターミナル上のRにreshape2
というパッケージがインストールされていないため起こるエラーのようです。そのため、ターミナル上でRを起動したまま、パッケージをインストールしていきます。
install.packages("reshape2")
これで解決と思いきや次はまた別のパッケージが見つからないというエラーメッセージが出ます。dada2起動に必要な複数のパッケージがインストールされていないため、ターミナルを2ウィンドウ開いて、RとQiime2で同時進行させた方が早く済みます。毎回Rの起動とCRANサーバーの指定、シャットダウンをやらなくて済むからです。
パッケージの中にはinstall.packages(" ")
でインストールできないものもあります。
その場合はパッケージ名で検索してそのサイトからインストールしてください。
上記の方法で先に進むことができました。