1

Ruby 1.9.3 および BioRuby 1.4.3_0001 を搭載した Windows XP マシンで BioRuby を使用して BLAST 検索を実行しようとしています。cairo などの必要な依存関係をインストールしましたが、出力は次のようになります。

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:45:in `r
equire': cannot load such file -- cairo.so (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:45:in `require'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/cairo-1.12.6-x86-mingw32/lib/ca
iro.rb:46:in `rescue in <top (required)>'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/cairo-1.12.6-x86-mingw32/lib/ca
iro.rb:42:in `<top (required)>'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:110:in `require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:110:in `rescue in require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:35:in `require'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bio-graphics-1.4/lib/bio-graphi
cs.rb:11:in `<top (required)>'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:110:in `require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:110:in `rescue in require'
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:35:in `require'
        from bio283.rb:2:in `<main>'

私が使用しているサンプルコードは次のとおりです。

require 'bio'
require 'bio-graphics'

remote_blast_factory = Bio::Blast.remote('blastp', 'swissprot',
                                         '-e 0.0001', 'genomenet')

seq = Bio::Sequence::AA.new('MFRTKRSALVRRLWRSRAPGGEDEEEGAGGGGGGGELRGE')

# run the actual BLAST by querying the factory
report = remote_blast_factory.query(seq)

# Then, to parse the report, see Bio::Blast::Report
report.each do |hit|
    puts hit.evalue           # E-value
    puts hit.sw               # Smith-Waterman score (*)
    puts hit.identity         # % identity
    puts hit.overlap          # length of overlapping region
    puts hit.query_id         # identifier of query sequence
    puts hit.query_def        # definition(comment line) of query sequence
    puts hit.query_len        # length of query sequence
    puts hit.query_seq        # sequence of homologous region
    puts hit.target_id        # identifier of hit sequence
    puts hit.target_def       # definition(comment line) of hit sequence
    puts hit.target_len       # length of hit sequence
    puts hit.target_seq       # hit of homologous region of hit sequence
    puts hit.query_start      # start position of homologous
                              # region in query sequence
    puts hit.query_end        # end position of homologous region
                              # in query sequence
    puts hit.target_start     # start position of homologous region
                              # in hit(target) sequence
    puts hit.target_end       # end position of homologous region
                              # in hit(target) sequence
    puts hit.lap_at           # array of above four numbers
end

誰かが問題が発生している理由を説明できますか? 出力に「cairo.so」というファイル名があることに気付きました。それはlinux/unixの操作に関連している可能性があります。システム?

ありがとう、

ケイトリン

4

1 に答える 1

2

インストールしたライブラリの 1 つが cairo に依存しています。インストールする必要があります。.so 拡張子は C で書かれた Ruby ライブラリであり、Unix で使用されます。Windows では、対応する .dll ファイルをインストールする必要があります。

于 2013-07-11T00:02:33.887 に答える