HPCクラスタで対話モードでジョブを実行すると、そのパッケージを読み込むことができます。読み込みに失敗した場合は、 library (failed package)
を複数回実行するとロードできますが、qsub my_rscript_job.pbs
を実行するとパッケージが読み込まれません。クラスタ内でジョブを実行中に強制ロードRパッケージ
私my_rscript_job.pbsスクリプトは次のとおりです。
#!/bin/bash
#PBS -l walltime=100:00:00
#PBS -l ncpus=1,mem=100g
source ~/.bashrc
Rscript /dmf/mypath/map.r -t 100
私はmap.rスクリプトにロードするために必要なパッケージは、私は対話モードでジョブを送信した場合、私はロードすることができます
library(biomaRt)
library(dplyr)
library(stringi)
library(GenomicFeatures)
library(Rsamtools)
library(foreach)
library(doMC)
library(doMC)
ですrscriptをターミナルに直接提出してください。しかし、qsubを実行すると、次のエラーが表示されます。
Loading required package: methods
Warning messages:
1: package ‘biomaRt’ was built under R version 3.2.2
2: In eval(quote({ : bytecode version mismatch; using eval
3: In .recacheSubclasses([email protected], def, doSubclasses, env) :
undefined subclass "externalRefMethod" of class "expressionORfunction"; definition not updated
4: In .recacheSubclasses([email protected], def, doSubclasses, env) :
undefined subclass "externalRefMethod" of class "functionORNULL"; definition not updated
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/dmf/bin/R/x86_64-redhat-linux-gnu-library/3.2/dplyr/libs/dplyr.so':
/dmf/bin/R/x86_64-redhat-linux-gnu-library/3.2/dplyr/libs/dplyr.so: undefined symbol: Rf_installChar
In addition: Warning message:
package ‘dplyr’ was built under R version 3.2.2
Error: package or namespace load failed for ‘dplyr’
Execution halted
rをqsubとして実行している間にパッケージを強制的にロードする方法はありますか?
私は(すべてのパッケージが正常にロードされるまで)各パッケージを再ロードするために5秒タイマーを設定することで、この問題を回避することができたとして、以下に私の答えを参照してください。 – MAPK
助けてくれてありがとう:) –