terminate called after throwing an instance of 'std::bad_alloc?
0
1
Entering edit mode
5.7 years ago
star ▴ 350

I have two files (A ~ 17 MB and B~ 8GB) that I like to intersect them using Bedtools but I faced with error, I want to know is there any solution for it? Also, I guess I have enough memory space.

intersectBed -a A.bed -b B.bed -wa -wb > out.bed

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)

bedtools linux data • 34k views
ADD COMMENT
1
Entering edit mode

Also, I guess I have enough memory space.

well I guess you don't. Try -sorted and find out

ADD REPLY
0
Entering edit mode

I did it and get terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc this time

ADD REPLY
2
Entering edit mode

I agree with Carambakaracho that the error is likely due to the fact that the process is filling up your RAM. Try and give a look at what happens with the RAM while you are executing the task. Another good try would be to repeat the task with a substantially reduced set of data (e.g. the first 2000 lines of B file) and see what happens. If it's just a RAM issue I think you might subset the second file in two/four chunks and do the work separately and then merge the files: I don't see downside in doing this.

ADD REPLY
0
Entering edit mode

Thanks for your reply, It is working when I am getting a subset of B file. So I will split that file to 2-3 files then run command.

ADD REPLY
1
Entering edit mode

std::bad_alloc is the C++ error code for when a new operator tries to allocate something, but fails. As C++ cannot dynamically allocate memory, the lack of memory is the most common cause.

As of now, you didn't disclose anything on the machine you're working on, so I guess the most common cause, too. If your working on a HPC and allocated 1TB RAM, something else went wrong. For a start, Fabio Marroni gave good troubleshooting advice.

ADD REPLY
0
Entering edit mode

In my case, I was doing something different but got the same error (std::bad_alloc), and the memory was the problem - thanks!

ADD REPLY

Login before adding your answer.

Traffic: 1901 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6