I’m running mothur 1.39.5 on a Linux Mint workstation. Every time I try to run sub.sample, mothur throws an error and boots me back to the command prompt. Here is the text from the command and what the machine tells me:
mothur > sub.sample(shared=Coral_Microbiome.processed.shared)
Sampling 1132 from each group.
*** Error in `mothur’: free(): invalid next size (normal): 0x0000000002060d90 ***
Any idea what’s going on? For the record, I tried setting the subsample size to lower and higher values, and get the same error.
After messing around with this problem some more, I’ve discovered that it has something to do with file size. Using filter.shared to remove increasing numbers of rare OTUs, I find that if the file size gets small enough I am able to run sub.sample. I was able to sub.sample a file that was 233K in size (with 3061 OTUs) but mothur aborted when I ran a version of the same .shared file that was 288K and had 3825 OTUs. This is nowhere near enough data to overload my memory (64GB RAM). I’m at a loss!
I can confirm this behaviour. Could this be another consequence of inflated OTU numbers? However I imagine that subsampling should be able to handle a file that small?
Edit: Would it then make sense to perform remove.rare after clustering the OTUs?
Thanks for reporting this bug. The error is unrelated to your dataset. In version 1.39, we compiled using c++11 features. The change effected how some systems handle mothur’s threading functions causing unexpected behavior. The 1.40.0 release has been delayed so we can correct this issue.
Hello - I’ve encountered this error too, using v 1.39.5. Has anyone found a work around until v 1.40 is released? Is it a problem on all versions of 1.39.5?