what's the problem?

copy from the logfile:
mothur > cluster(column=file.trim.unique.good.pick.filter.dist,name=file.trim.good.pick.names,method=furthest,cutoff=0.10)
Reading matrix: |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[ERROR]: std::bad_alloc has occurred in the SparseDistanceMatrix class function addCell. Please contact Pat Schloss at mothur.bugs@gmail.com, and be sure to include the mothur.logFile with your inquiry.

‘std::bad_alloc has occurred in the SparseDistanceMatrix class function addCell’ means what? How should I correct for this?


The cluster command loadsyour distance matrix into RAM, and your distance file is most likely too large to fit in RAM. There are two options to help with this. The first is to use a cutoff, which you are doing. By using a cutoff mothur will only load distances that are below the cutoff. If that is still not enough, there is a command called cluster.split, http://www.mothur.org/wiki/cluster.split which divides the distance matrix, and clusters the smaller pieces separately. You may also be able to reduce the size of the original distance matrix by using the commands outline in the Schloss SOP, http://www.mothur.org/wiki/Schloss_SOP.