Meaning of "Cannot allocate [number] character vector" in Mafft
Entering edit mode
6.0 years ago
rc16955 ▴ 90

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.7k views
Entering edit mode
6.0 years ago
Medhat 9.4k

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


Login before adding your answer.

Traffic: 1080 users visited in the last hour
Help About
Access RSS

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

Powered by the version 2.3.6