Question: Meaning of "Cannot allocate [number] character vector" in Mafft
gravatar for rc16955
4.2 years ago by
rc1695570 wrote:

Quick and simple question; I am trying to align 11 very long sequences in Mafft 7.304 for Windows and always get the above error. I have tried to search to find out what it means and what I can do about it but so far haven't had much luck. Would anyone be able to tell me? I'd also appreciate a link to any online page detailing each of Mafft's errors, as I haven't been able to find such a thing myself.

Thanks and best wishes.

mafft • 1.2k views
ADD COMMENTlink modified 7 months ago by Biostar ♦♦ 20 • written 4.2 years ago by rc1695570
gravatar for Medhat
4.2 years ago by
Medhat8.8k wrote:

Looks like memory issue can you give more details about OS and memory?

Knowing that

on a 32-bit build there may well be enough free memory available, but not a large enough contiguous block of address space into which to map it

from mafft code I can see

char *AllocateCharVec( int l1 )
      char *cvec;

      cvec = (char *)calloc( l1, sizeof( char ) );
      if( cvec == NULL )
            fprintf( stderr, "Cannot allocate %d character vector.\n", l1 );
            exit( 1 );
      return( cvec );

calloc actually

Allocate and zero-initialize array Allocates a block of memory for an array of num elements, each of them size bytes long, and initializes all its bits to zero.

The effective result is the allocation of a zero-initialized memory block of (num*size) bytes.

If size is zero, the return value depends on the particular library implementation (it may or may not be a null pointer), but the returned pointer shall not be dereferenced.

and in your case it returns null

ADD COMMENTlink modified 4.2 years ago • written 4.2 years ago by Medhat8.8k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1859 users visited in the last hour