DaliangNing / iCAMP1

Infer Community Assembly Mechanisms by Phylogenetic bin-based null model analysis (Version 1)
GNU General Public License v2.0
68 stars 25 forks source link

Error in CreateFileBackedBigMatrix(as.character(backingfile), as.character(backingpath), : Problem creating filebacked matrix. #14

Closed YuxuanZhu1991 closed 3 years ago

YuxuanZhu1991 commented 3 years ago

Dear Ning, I get this error while I try to ran the example code.

the error:

Error in CreateFileBackedBigMatrix(as.character(backingfile), as.character(backingpath), : Problem creating filebacked matrix.

the example code:

data("example.data") comm=example.data$comm tree=example.data$tree

save.wd=tempdir() pd.wd=paste0(save.wd,"/pdbig") nworker=4 rand.time=20

bin.size.limit=5

setwd(save.wd) icamp.out=icamp.big(comm=comm,tree=tree,pd.wd=pd.wd, rand=rand.time, nworker=nworker, bin.size.limit=bin.size.limit)

DaliangNing commented 3 years ago

In the line of 'save.wd=tempdir()', you may try to change 'tempdir()' to a folder path on your computer.

YuxuanZhu1991 commented 3 years ago

Thanks for your help, the problem has been solved, the error was due to the presence of Chinese characters in the path.

DrZhangjilin commented 3 months ago

Dear Ning, I recently encountered the same problem. I am sure that my save path does not contain Chinese characters and exists on my computer hard drive (which is normal when running the case data you provided). But using my own ASV data is not feasible. My data contains 80 samples and 165,025 ASV. By the way I am running this process on a private computer with a maximum thread of 20, not sure if this will have any impact. Here's my code:

save.wd="E:/bac_icamp/first0803"
if(!dir.exists(save.wd)){dir.create(save.wd)}
prefix="bac"
nworker=18
memory.G=85
setwd(save.wd)
if(!file.exists("pd.desc")) {
  pd.big=iCAMP::pdist.big(tree = tree, wd=save.wd, nworker = nworker, memory.G = memory.G)
}else{
  pd.big=list()
  pd.big$tip.label=read.csv(paste0(save.wd,"/pd.taxon.name.csv"),row.names = 1,stringsAsFactors = FALSE)[,1]
  pd.big$pd.wd=save.wd
  pd.big$pd.file="pd.desc"
  pd.big$pd.name.file="pd.taxon.name.csv"
}

The error after running is as follows:

Setting parallel cluster for path computing cost 3.038717 secs.  Sat Aug  3 19:06:52 2024
Parallel for 90 tips cost 18.25165 secs. Sat Aug  3 19:07:10 2024
Path computing by parallel may take 9.29300153337585 hours. Sat Aug  3 19:07:10 2024
Now computing path for the rest 164935 tips. begin at Sat Aug  3 19:07:13 2024. Please wait...
Computing path for the rest 164935 tips actually took 3.183824 hours. Sat Aug  3 22:18:12 2024
Now setting big matrix file on the disk. Sat Aug  3 22:18:13 2024
Error in CreateFileBackedBigMatrix(as.character(backingfile), as.character(backingpath),  : 
  Problem creating filebacked matrix.
In addition: Warning message:
'memory.limit()' is no longer supported 

Look forward to your help. Thanks!