[BioRuby] Error running standalone blast

Kevin English kenglish at gmail.com
Mon Mar 23 08:23:56 UTC 2009


I edited line 76 in /usr/lib/ruby/1.8/rexml/entity.rb
and changed:

   document.record_entity_expansion

to

  document.record_entity_expansion  unless document.nil?

Seems to work now. Thanks for the quick response.

Kevin


                        document.record_entity_expansion  unless
document.nil?


On Sun, Mar 22, 2009 at 8:46 PM, Naohisa GOTO
<ngoto at gen-info.osaka-u.ac.jp>wrote:

> Hi,
>
> This is not a BioRuby's problem, but REXML DoS vulnerability
> fix patch's bug.
>
> See below for the deital of the REXML DoS fix's bug.
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502535
>
> The issue have already been reported in KNOWN_ISSUES.rdoc
> bundled within BioRuby 1.3.0. See the section
> "Problem with REXML DoS vulnerability patch before 09-Nov-2008"
>
>
> http://github.com/bioruby/bioruby/blob/51c3223e033b2992a7bd95da282f88164406ff92/KNOWN_ISSUES.rdoc
>
> (quoted from KNOWN_ISSUES.rdoc)
> > If you have applied a patch taken from
> > www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/
> > before 09 Nov 2008 12:40 +0900, because of the bug in the patch,
> > parsing of Blast XML results with REXML parser may fail. The bug
> > is already fixed and new patch is available on the above URL.
> > Note that some Linux distributions would have incorporated the
> > patch in their manners, and may have the same problem.
>
> To solve the problem, install the new patch, or upgrade
> to the newest Ruby 1.8.7.
>
> Naohisa Goto
> ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org
>
>
> On Sun, 22 Mar 2009 19:55:26 -1000
> Kevin English <kenglish at gmail.com> wrote:
>
> > Hello all,
> >   New to bioRuby.
> > Following the example I found here:
> >
> http://biorelated.wordpress.com/2007/10/03/standalone-blast-with-ruby-part-1
> ,
> > I wrote the following program to run a standalone blast. I am getting an
> > exception related to rexml... Does anyone know if there is a fix for
> this?
> >
> >
> > #!/usr/bin/ruby
> >
> > require 'rubygems'
> > require 'bio'
> >
> > factory = Bio::Blast.local('blastn', '/home/kenglish/Data/EST_B')
> > ff = Bio::FlatFile.open(Bio::FastaFormat,
> '/home/kenglish/Data/EST_A.fasta')
> >
> > ff.each do |entry|
> >    puts "Searching..." + entry.definition
> >    report = factory.query(entry)
> >    report.each do |hit|
> >      hit.each do |hsp|
> >        puts hsp.query_from
> >      end
> >    end
> > end
> >
> >
> > /usr/lib/ruby/1.8/rexml/entity.rb:76:in `unnormalized': undefined method
> > `record_entity_expansion' for nil:NilClass (NoMethodError)
> >     from /usr/lib/ruby/1.8/rexml/doctype.rb:135:in `entity'
> >     from /usr/lib/ruby/1.8/rexml/text.rb:325:in `unnormalize'
> >     from /usr/lib/ruby/1.8/rexml/text.rb:323:in `each'
> >     from /usr/lib/ruby/1.8/rexml/text.rb:323:in `unnormalize'
> >     from /usr/lib/ruby/1.8/rexml/text.rb:174:in `value'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:452:in `text'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:433:in `has_text?'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:384:in
> `each_element_with_text'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:710:in `call'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:710:in `each_with_something'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:892:in `each'
> >     from /usr/lib/ruby/1.8/rexml/xpath.rb:53:in `each'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:892:in `each'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:709:in `each_with_something'
> >     from /usr/lib/ruby/1.8/rexml/element.rb:388:in
> `each_element_with_text'
> >     from
> > /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast/rexml.rb:35:in
> > `rexml_parse_program'
> >     from
> > /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast/rexml.rb:27:in
> > `rexml_parse'
> >     from
> > /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast/report.rb:70:in
> > `auto_parse'
> >     from
> > /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast/report.rb:96:in
> > `initialize'
> >     from
> /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast.rb:452:in
> > `new'
> >     from
> /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast.rb:452:in
> > `parse_result'
> >     from
> /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/appl/blast.rb:370:in
> > `query'
> >     from blast1.rb:11
> >     from
> /usr/lib/ruby/gems/1.8/gems/bio-1.3.0/lib/bio/io/flatfile.rb:336:in
> > `each'
> >     from blast1.rb:9
> >
> > Thanks in advance for any help...
> >
> > Kevin English
> > _______________________________________________
> > BioRuby mailing list
> > BioRuby at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioruby
>
>
> _______________________________________________
> BioRuby mailing list
> BioRuby at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioruby
>



More information about the BioRuby mailing list