Rってエラー文わかりにくいよね
Rって何が不満なのかわかりにくいエラー文出すよね
大事なことなので二回言いました。
(個人の感想です)
最近私はあるRパッケージChIPseekerをサーバに入れようとして、うまく入らずしばらく格闘することになりました。
サーバに気合が足りない。
とかなんとか思いながら調べてみると、実際に足りなかったのはlibxml2-develというLinuxのライブラリでした。
このことを忘れないように、格闘記録を残しておきます。同じエラーに引っかかってる人に届け。
環境はCentOS 7.5、R 3.6です。
>BiocManager::install("ChIPseeker")
(略)
ERROR: dependencies ‘XML’, ‘httr’, ‘BiocFileCache’ are not available for package ‘biomaRt’
* removing ‘/home/amelieff/R/x86_64-redhat-linux-gnu-library/3.6/biomaRt’
ERROR: dependency ‘europepmc’ is not available for package ‘enrichplot’
* removing ‘/home/amelieff/R/x86_64-redhat-linux-gnu-library/3.6/enrichplot’
ERROR: dependencies ‘rtracklayer’, ‘biomaRt’ are not available for package ‘GenomicFeatures’
* removing ‘/home/amelieff/R/x86_64-redhat-linux-gnu-library/3.6/GenomicFeatures’
ERROR: dependency ‘GenomicFeatures’ is not available for package ‘TxDb.Hsapiens.UCSC.hg19.knownGene’
* removing ‘/home/amelieff/R/x86_64-redhat-linux-gnu-library/3.6/TxDb.Hsapiens.UCSC.hg19.knownGene’
ERROR: dependencies ‘enrichplot’, ‘GenomicFeatures’, ‘rtracklayer’, ‘TxDb.Hsapiens.UCSC.hg19.knownGene’ are not available for package ‘ChIPseeker’
* removing ‘/home/amelieff/R/x86_64-redhat-linux-gnu-library/3.6/ChIPseeker’
The downloaded source packages are in
‘/tmp/RtmpnZZ7N2/downloaded_packages’
Installation path not writeable, unable to update packages: boot, cluster,
foreign, KernSmooth, mgcv, nlme, survival
There were 12 warnings (use warnings() to see them)
出ている ERROR たちを見ると、どうも一行目のXML, httr, BiocFileCacheあたりが not available なせいでドミノ倒し式に not available が乱立している気がします。
というわけでhttr, BiocFileCacheを入れ、最後にXMLを入れたかったのですが。
> BiocManager::install("XML")
(略)
checking for xml2-config... no
Cannot find xml2-config
ERROR: configuration failed for package ‘XML’
* removing ‘/home/amelieff/R/x86_64-redhat-linux-gnu-library/3.6/XML’
The downloaded source packages are in
‘/tmp/Rtmp9T3xeX/downloaded_packages’
Warning:
In install.packages("XML") :
installation of package ‘XML’ had non-zero exit status
えぇー。XMLが入らなかったことだけじゃなくて、何が不満なのかも ERROR 以降にわかりやすく書いてほしいなー。
でもよくよく上の方までエラー文を見ると、xml2-config関連で何か問題がある様子です。
その視点から調べてみると、どうもLinuxのライブラリが必要らしい。
$ sudo yum install libxml2-devel
> BiocManager::install("XML")
(略)
** building package indices
** testing if installed package can be loaded
* DONE (XML)
>BiocManager::install("ChIPseeker")
(略)
* DONE (ChIPseeker)
やっっったぁぁぁ入った
Rの問題がRだけでは解決しない、思わぬ落とし穴でした。
ちなみにlibxml2-develはUbuntuではlibxml2-devとライブラリ名が違ったりします。私が調べて見つけた記事の前提(Ubuntu)と私のサーバ(CentOS)の違いも、エラー解決へのハードルになりました。
何はともあれ、XMLもChIPseekerも入ったので終わりよければ全て良し!
さて、ATAC-seqのピークにアノテーションしよっと