[ensembl-dev] Ensembl Genomes BLAST: Parsing failed ERROR

Rafael Hernández rafahd87 at gmail.com
Tue Mar 5 17:35:45 GMT 2013


Hi,

If I just enable the BLAST plugins, without any other change, blast crashes
because of the sensitivity option inserted in the command.
 blastall -d Plasmodium_falciparum.ASM276v1.17.dna.toplevel.fa -p blastn
 -S NORMAL -b 250 -e 10

If I edit the eg-plugins/blast/modules/**EnsEMBL/Web/BlastView/**
MetaDataBlast.pm file removing the following lines:

  # set sensitivity parameter for EBI BLAST
  eval{ $factory->option('-S', $sensitivity )};
  if( $@ =~ /MSG:\s(.+)/ ){ warn($@) && return $1 }
  if( $@ ){ warn($@) && return $@ }

Then the generated blast command is:
blastall -d Plasmodium_falciparum.ASM276v1.17.dna.toplevel.fa -p blastn  -b
250 -e 10

And BLAST works, however other trouble appears: the parsing error. Ensembl
shows the Results page with the following message: *System error; please
resubmit job. **If problem persists, file a report using the help link
above *and the error log file contains the error message I attached
previously.

....
------------- EXCEPTION: Bio::Root::Exception ------------- MSG: Parsing
failed -------------------- EXCEPTION -------------------- MSG:
seq_region_name argument is required STACK
Bio::EnsEMBL::DBSQL::SliceAdaptor::fetch_by_region
/usr/local/ensembl_protists/ensembl/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm:201
STACK Bio::Search::HSP::EnsemblHSP::_map
/usr/local/ensembl_protists/eg-plugins/blast/modules/Bio/Search/HSP/EnsemblHSP.pm:435
STACK Bio::Search::Result::EnsemblResult::map_to_genome
/usr/local/ensembl_protists/modules/Bio/Search/Result/EnsemblResult.pm:271
STACK Bio::Tools::Run::Search::parse
/usr/local/ensembl_protists/modules/Bio/Tools/Run/Search.pm:1082
....


Following the error stack, I found that the
eg-plugins/blast/modules/Bio/Search/HSP/EnsemblHSP.pm
calls to a *fetch_by_region *function which expects a param called "
seq_region_name".
The value of this param is read at the start of the _map function in the
following line ($hit_name):

 my ($prefix, $hit_name) = split /\:/, $hit->seq_id, 2;

However this line doesn't work fine and no value are set, so after that the
*fetch_by_region *calling will crash.
This EnsemblHSP.pm file differs in few lines from the
modules/Bio/Search/HSP/EnsemblHSP.pm and one of them is that line:

  my $hit_name = $hit->seq_id;

Using this line instead the other fixes the parsing error.

After that the BLAST finishes without errors but instead of the Results
page, a blank page is showed  (however the URL changes to the BLAST job id
) but no error are thrown. I don't know what else can I try, but I think
that the problem could be in the blast results parsing during the Results
page generation, and in particular in some function rewritten in the
eg-plugins/common that interferes in this process: if I don't use the BLAST
plugin, and repeat the same steps above, I fall in the same problem: the
blank Results page... Any idea?

Thank you

Rafa Hernández de Diego
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20130305/8ff11e3e/attachment.html>


More information about the Dev mailing list