dREG
dREG copied to clipboard
peak calling device initialization issue.
I'm getting "Error in device initialization" error when running peak calling with dREG, but the prediction function runs fines. .
I'm running on a node with:
OS: redhat 7.4 kernel 3.10.0-693 GPU: GTX1080 Cuda: cuda9.0 dreg version: latest version checked out from github rgtsvm version: latest version bedops: 2.4.14
All the data are test data downloaded from ftp server provided, below is the test run output:
Using: R --vanilla --slave --args test/K562_long_plus.bw test/K562_long_minus.bw test/k562/K562.TEST test/asvm.gdm.6.6M.20170828.rdata 4 0 < /home/installs/packs/rgtsvm/dREG/run_dREG.R
WARNING: ignoring environment value of R_HOME
Loading required package: dREG
Loading required package: bigWig
Loading required package: e1071
Loading required package: rphast
Loading required package: snowfall
Loading required package: snow
Loading required package: data.table
Loading required package: rmutil
Attaching package: ‘rmutil’
The following object is masked from ‘package:stats’:
nobs
The following objects are masked from ‘package:base’:
as.data.frame, units
Loading required package: mvtnorm
Loading required package: randomForest
randomForest 4.6-14
Type rfNews() to see new features/changes/bug fixes.
Warning message:
replacing previous import ‘stats::nobs’ by ‘rmutil::nobs’ when loading ‘dREG’
------------ Parameters -------------
Bigwig(plus): test/K562_long_plus.bw
Bigwig(minus): test/K562_long_minus.bw
Output: test/k562/K562.TEST
dREG model: test/asvm.gdm.6.6M.20170828.rdata
CPU cores: 4
GPU ID: 0
Using Rgtsvm: TRUE
-------------------------------------
[ 2019-01-23 11:21:43 ] 1) Checking bigWig files.
[ 2019-01-23 11:21:49 ] 2) Starting peak calling.
Loading required package: Rgtsvm
Attaching package: ‘Rgtsvm’
The following objects are masked from ‘package:e1071’:
svm, tune.control, tune.svm
Error in checkForRemoteErrors(val) :
one node produced an error: Error in device initialization.
Calls: system.time ... clusterApply -> staticClusterApply -> checkForRemoteErrors
Timing stopped at: 117.8 3.9 144.7
Execution halted
What have I tried:
- running with 1 cpu and 1 gpu - same error.
- Tried to run with no gpu by not specifying a number after cpu or using "FALSE", got this error: Error in if (gpu_id > 0) { : missing value where TRUE/FALSE needed Execution halted
Please let me know of any insights to this problem.
Found the problem, I only have 1 gpu on the node, and the gpu_cores is hard coded to 1, but rgtsvm uses this number as gpu id. change this to gpu_cores=gpu_id worked, not sure if it'll work for multi-GPUs.
run.time <- system.time(r <- peak_calling( asvm, gdm, ps_plus_path, ps_minus_path, cpu_cores=cpu_cores, use_rgtsvm=use_rgtsvm, gpu_cores=1));
Thank you for your feedback. I tried to fix this question. Can you try the new codes again?
Or you can use the online gateway to run your data. http://dreg.dnasequence.org
Best, Zhong Wang
I tried to run dReg without GPU option and received an error about rgtsvm library. When I check the code in run_dREG.R
closely, I noticed that there is a parameter initiation error.
use_rgtsvm <- FALSE;
gpu_id <- as.integer(args[6])
if (!is.na(gpu_id)) use_rgtsvm<-TRUE
If I provide 0 for gpu_id
, it is not NA
anymore and use_rgtsvm
is set to TRUE
. Then, this will cause an error in peak_calling
function.
If I don't provide any value for gpu_id
, use_rgtsvm
would be set to FALSE
, but then the next step would return an error:
if(gpu_id>0)
{
library(Rgtsvm);
ret <- selectGPUdevice(gpu_id);
}
I manually edited run_dREG.R
to bypass this error.
Thank you for your feedback. I will change it as you did. But I don't suggest running dREG without GPU. You can use our online computing resource: dREG Gateway ( https://dreg.dnasequence.org/ )