Class: Bio::Blat

Inherits:
Object
  • Object
show all
Defined in:
lib/bio/BIOExtensions.rb

Class Method Summary collapse

Class Method Details

.align(database, query, output) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/bio/BIOExtensions.rb', line 4

def self.align(database , query , output)
  cmdline = "blat #{database} #{query}  #{output}"
  puts $stderr.puts cmdline
  status, stdout, stderr = systemu cmdline
  if status.exitstatus == 0
    alns = Array.new unless block_given?
    blat_aln = Bio::Blat::Report.new(Bio::FlatFile.open(output).to_io)
    #p blat_aln
    blat_aln.each_hit() do |hit|
      if block_given?
        yield hit
      else
        alns << hit
      end
    end
    return alns unless block_given?
  else
    raise Exception.new(), "Error running exonerate. Command line was '#{cmdline}'\nBlat STDERR was:\n#{stderr}"
  end
end