1 Feb 2013 03:49
problem with Bio::*::Fasta id_parser
<koriege <at> googlemail.com>
2013-02-01 02:49:20 GMT
2013-02-01 02:49:20 GMT
Hi,
I tried two methods to create a bioperl FASTA database, but it failes by
extracting the substring out of my headers.
Can someone explain me why I get the standard header or show me a work
around?
thanks in advance.
pyr0
i)
my $objDB = Bio::Index::Fasta->new(-filename => $PATHdbIdx, -write_flag =>
1);
$objDB->id_parser(\&get_id);
$objDB->make_index(glob($objParameter->dbGenome()));
sub get_id {
my $header = shift;
$header =~ /^>.*\bsp\|([A-Z]\d{5}\b)/;
$1;
}
output
Use of uninitialized value $id in concatenation (.) or string at
/usr/share/perl5/Bio/Index/Abstract.pm line 753, <$FASTA> line 1.
Use of uninitialized value $id in exists at
/usr/share/perl5/Bio/Index/Abstract.pm line 754, <$FASTA> line 1.
Use of uninitialized value $id in hash element at
/usr/share/perl5/Bio/Index/Abstract.pm line 757, <$FASTA> line 1.
gi|376282008|ref|NC_016798.1|
ii)
my $PATHdbIdx=catfile($objParameter->DIR,'data','db.idx');
unlink($PATHdbIdx);
my $objDB = Bio::DB::Fasta->new($objParameter->dbGenome(), -makeid =>
\&get_id);
$objDBgenome->set(\$objDB);
output:
Use of uninitialized value $key in pattern match (m//) at
/usr/share/perl5/Bio/DB/Fasta.pm line 1178.
Use of uninitialized value $id in exists at
/usr/share/perl5/Bio/DB/Fasta.pm line 617.
gi|376282008|ref|NC_016798.1|
RSS Feed