Memory error running command Corr.axes

Hi all!

I am encountering a problem running a command in Mothur. I have Mothur v.1.25.0 installed trying to run this command:

mothur > corr.axes(,, method=spearman, numaxes=3)

You did not provide a label, I will use the first label in your inputfile.
salloc: Your job 235371 uses too much memory, cancelling it. It uses 51770392576 bytes, but max is 4294967296.

I tried to run the same command on a 128GB node on a computer cluster, where the command was killed after running a few minutes, and also on my own computer, where the same thing happened (but with a terminal crash -> it uses up ~60GB of memory before it crashed). Any ides what I might be doing wrong? Or is it something to do with Mothur?


Can you post the first few lines of your metadata file?

Sure, here’s part of the data from the metadata-file:

individual age
OUid_3629_pr51_t57_BT Adult
OUid_3631_pr52_t58_BT Juvenile
OUid_3633_pr48_t52_BT Adult
OUid_4630_pr41_t45_SBA Unknown

Edit. In the metadata-file there’s two tabs between the two columns.

Could you send your axes and metadata file to

No problems, did so just now.

Mothur is expecting the second column to be a number, not a word. Something like:

individual age
OUid_3629_pr51_t57_BT 35
OUid_3631_pr52_t58_BT 15
OUid_3633_pr48_t52_BT 32
OUid_4630_pr41_t45_SBA 0
OUid_4632_pr40_t44_SK 10
OUid_4633_pr39_t43_SK 33

Aha, OK. Thanks for your help. Much appreciated.

A followup question on this. The Metadata files I have are basically the same as the design files. From the pco-analysis I want to test what effect there age has on the data. But since I do not have any actual numbers for the different individuals (only if they are infants, juvenile, etc.), I was wondering if there is any way to transform this kind of data (words) into numbers that would work and make sense with the corr.axes command?

Many thanks in advance.

Just to bump this thread, I have the same question. I have some non-numeric metadata I’d like to test use to test for OTUs that correlate with particular treatments. Is it alright to use numbers to represent the treatments, or does mothur interpret the value of the numbers in the second column of the metadata file?


I would also like to bump this thread, with the same question as dwaite - I have a variety of metadata associated with my samples, only one of which is numeric (age). I was hoping to use corr.axes with a metadata file. Is age, or a similar variable, the only sort of metadata that this will work with?


I guess it’s not clear what you all are looking for here that isn’t provided by other commands. Typical correlation metrics compare two sets of ordinal numbers - not categories. If you want to see whether an OTU is different between different categories, why not use something like a t-test, metastats, machine learning, etc? If you want to see whether communities are different between different categories why not use something like amova, homova, anosim, etc?

If you can point us to some references we’d be happy to consider incorporating it.