[Bioperl-l] Error while indexing whole genbank

guillermo gcarbajosa at cnio.es
Tue Nov 14 05:39:41 EST 2006


Hello,

I am trying to index the whole of genbank nucleotide (release number  
156, October 15 2006), with the script (which uses Bio::Index::GenBank)  
that is attached at the end of this message the process crashes  with  
this error message:

sdbm store returned -1, errno 9, key "BF460808" at  
/usr/local/lib/perl5/site_perl/5.8.8/Bio/Index/Abstract.pm line 714,  
<GenBank> line 164732819.

why could this be?

Thanks,
Guillermo


#!/usr/local/bin/perl -w

# Perl pragma to restrict unsafe constructs
use strict;

# Issue warnings about suspicious programming.
use warnings;

# Use the code module that contains BioPerl Services.
use Bio::Index::GenBank; # Use to index GenBank file
use Bio::SeqIO;

# be prepare for command-line options/arguments
use Getopt::Std;

sub help {
return<<"END_HELP";
Description: Make index from GenBank database
Usage:

createGenBankIndex.pl -d {index file} -g {GenBank database}
	-d path and file name of index database
	-g GenBank database path
	
END_HELP

}


BEGIN {
	
	# Determines the options with values from program
	use vars qw/$opt_d $opt_g/;
	
	# these are switches taking an argument (a value)
	my $switches = 'dg';
	
	# Get the switches
	getopt($switches);
	
	# If the user does not write nothing, skip to help
	unless (defined($opt_d) || defined($opt_g)){
		print help;
		exit 0;
	}
	
}

######################################################################## 
#######
#
# DESCRIPTION: The next program creates an BioPerl index aside GenBank  
database.
#
# INPUT (BY CONSOLE): 	- (-d) Path where the Uniprot index is going to  
store.
#			- (-g) Path where GenBank database is located
#
# OUTPUT: 		- O => The program has finished sucessfully
#			- 1 => Some of database files has not founded
#			- 2 => There was an error while the process was running
#
# AUTHOR: José Manuel Rodríguez Carrasco -jmrc at cnb.uam.es- (INB-CNB)
######################################################################## 
#######


# Check if the path of GenBank database is able to read
unless (-f $opt_g && -r $opt_g) {

	# The GenBank database has not been found
	print "Error of createGenBankIndex program: The GenBank database has  
not been found\n";
	
	# Return an error
	exit 1;
}


# Store the database paths
my @DBList = ($opt_g);

# Create new instance to index file. It is used the option
my $indexSW = Bio::Index::GenBank->new ('-filename' => $opt_d,
					'-write_flag' => 1);

# Make the index
my $numFiles = $indexSW->make_index(@DBList);

# Check how many databases have been indexed
if ($numFiles == 1) {

	# There has been not exist error.
	print "\nThe creation of GenBank index has been executed  
successfully\n";
	exit 0;
	

} else {

	# There has been exist an process error
	print "\nThere was a problem while the creation of GenBank index was  
running\n";
	exit 2;
}


**NOTA DE CONFIDENCIALIDAD** Este correo electrónico, y en su caso los ficheros adjuntos, pueden contener información protegida para el uso exclusivo de su destinatario. Se prohíbe la distribución, reproducción o cualquier otro tipo de transmisión por parte de otra persona que no sea el destinatario. Si usted recibe por error este correo, se ruega comunicarlo al remitente y borrar el mensaje recibido.
**CONFIDENTIALITY NOTICE** This email communication and any attachments may contain confidential and privileged information for the sole use of the designated recipient named above. Distribution, reproduction or any other use of this transmission by any party other than the intended recipient is prohibited. If you are not the intended recipient please contact the sender and delete all copies.




More information about the Bioperl-l mailing list