Meaning of "Cannot allocate [number] character vector" in Mafft
1
0
Entering edit mode
8.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 • 2.2k views
ADD COMMENT
2
Entering edit mode
8.0 years ago
Medhat 9.8k

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 COMMENT

Login before adding your answer.

Traffic: 1813 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6