Class: Bio::WS::BAM

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/bio-samtools-server/samtools-server.rb

Instance Method Summary collapse

Constructor Details

#initialize(app = nil, params = {}) ⇒ BAM

Returns a new instance of BAM.



7
8
9
10
11
# File 'lib/bio-samtools-server/samtools-server.rb', line 7

def initialize(app = nil, params = {})
  super(app)
  @bootstrap = params.fetch(:bootstrap, false)
  @bam_files = Hash.new
end

Instance Method Details

#get_bam(bam, reference) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/bio-samtools-server/samtools-server.rb', line 13

def get_bam(bam,reference)
  return @bam_files[bam] if @bam_files[bam] 
  
  bam_path = "#{self.settings.folder.to_s}/#{bam}.bam"
  reference_path =  "#{self.settings.reference.to_s}/#{reference}"
  return nil unless File.file?(bam_path)
  @bam_files[bam] = Bio::DB::Sam.new( 
      :fasta =>  reference_path,
      :bam => bam_path
  )
  
  return @bam_files[bam] 
end