biostat0903 / DBSLMM

Deterministic Bayesian Sparse Linear Mixed Model
https://biostat0903.github.io/DBSLMM/
4 stars 3 forks source link

An error about arma::memory::acquire(): out of memory #18

Closed kkonoo closed 2 years ago

kkonoo commented 3 years ago

Hi, there! I was trying to use DBSLMM for calculating genome-wide PRS. But I have got an error message about a memory issue. image

I have 22 summary files split by chromosome (chr1~chr22). Other files in any chromosome but chr5 was successfully working. (Actually, I have summary files of two types of disease (Ax, Dp), but both of chr5 files failed to run..) It is strange for me to get such a memory issue because files in chr1 or 2 were much larger than one in chr5. Considering two of chr5 files didn't work, I think this is a kind of bug or something.

I am not good with C++ so I have no idea about this problem. How can I solve this problem? Could you give me a hand, please?

biostat0903 commented 3 years ago

Hi, Thanks for your consideration of DBSLMM. I think you can revise the --thread 5 to --thread 1. This might make dbslmm to one thread. Best, Sheng

kkonoo commented 3 years ago

Hi, Thank you for your fast reply. Unfortunately, revising threads didn't work and I've got the same error. Plus, I was trying to do the same job with a subset of chr5 file (containing only 10,000 SNPs) and this time, it works. However, it's strange because chr1 file contains >600K SNPs and worked very well with the same code.

biostat0903 commented 3 years ago

Hi, Thanks for revising he code. I think you can split the long chromosome into some small splice following the block file. Because DBSLMM estimates the effect size by each block. I hope the suggestion can help you. Thanks for your consideration again! Best, Sheng

kkonoo commented 3 years ago

Hi, As your solution, I split my file into many subsets by the corresponding blocks and successfully ran it. Thank you for this great program! Best, E.H.