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)
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
|