bio-samtools 2.6.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72a3a3a4e3c01d54205edb87755569d0a3299e7b
4
- data.tar.gz: 92ba63563ff1d9f0e3b5009ee6f1eea0ce0b3064
3
+ metadata.gz: 94952e1666a5c9bb480bc7e2d0636e8a7e581927
4
+ data.tar.gz: e6958ffe7198152b72f47bbdda23df054e723150
5
5
  SHA512:
6
- metadata.gz: cbe47a74c33a88e075528be9f295d2e389df16209ca7c5a1ffce47481db4e14dbe799672e7204f578041d35bcb3cacc48b890e86cb506b68b0a2e39d47181c62
7
- data.tar.gz: 355d19cc987094262d5b925c4fce99d3334ca9de58bd6b550a2507a10903e3206f0500417413adbd0377dd69a5696a3fb4c27bb4970d8a3642a2978cab905413
6
+ metadata.gz: 0a3ded21f99ebfb2b1de0ad8d9d819d4c9de0e74719b446fbffdba394100c1970458fc020c564583f0a5eeb60d0b368db75c0b96c1362173121d24819fb7b0d7
7
+ data.tar.gz: 7cf4e0fac18c81ce20a31588f98452a34ed9d25916048c9c1fbe562129ff96c15ab880c9f4e6299f442935db72b716ff7c1fa7e109fe6ccbdc558c11bb71b719
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.6.0
1
+ 2.6.1
@@ -2,12 +2,12 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: bio-samtools 2.6.0 ruby lib
5
+ # stub: bio-samtools 2.6.1 ruby lib
6
6
  # stub: ext/mkrf_conf.rb
7
7
 
8
8
  Gem::Specification.new do |s|
9
9
  s.name = "bio-samtools".freeze
10
- s.version = "2.6.0"
10
+ s.version = "2.6.1"
11
11
 
12
12
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
13
13
  s.require_paths = ["lib".freeze]
@@ -64,6 +64,7 @@ module Bio::DB::Fasta
64
64
  #puts "line pffset: #{line_offset}"
65
65
  #puts self.inspect
66
66
  pointer = offset + (line_length * lines_for_offset) + line_offset - 1
67
+ pointer
67
68
  end
68
69
 
69
70
  def get_full_region
@@ -181,7 +182,7 @@ module Bio::DB::Fasta
181
182
 
182
183
  #Class that holds the fasta file. It is used as a database.
183
184
  class FastaFile
184
- attr_reader :index, :fasta_path
185
+ attr_reader :fasta_path
185
186
 
186
187
  #Initialize the fasta file. If the fai file doesn't exists, it is generated at startup
187
188
  #* fasta path to the fasta file
@@ -190,6 +191,8 @@ module Bio::DB::Fasta
190
191
  #puts "The arguments are: '#{fasta}':'#{samtools}'"
191
192
  @fasta_path = fasta
192
193
  @samtools = samtools
194
+ @index = nil
195
+ @fasta_file = nil
193
196
  @samtools = File.join(File.expand_path(File.dirname(__FILE__)),'sam','external','samtools') if samtools == true
194
197
  raise FastaDBException.new(), "No path for the refernce fasta file. " if @fasta_path.nil?
195
198
  @fai_file = @fasta_path + ".fai"
@@ -249,7 +252,7 @@ module Bio::DB::Fasta
249
252
  query = region.to_s
250
253
  query = region.to_region.to_s if region.respond_to?(:to_region)
251
254
  command = "#{@samtools} faidx #{@fasta_path} '#{query}'"
252
- puts command if $VERBOSE
255
+ puts "Running: #{command}" if $VERBOSE
253
256
  @last_command = command
254
257
  seq = ""
255
258
  yield_from_pipe(command, String, :text ) {|line| seq = seq + line unless line =~ /^>/}
@@ -295,7 +298,7 @@ module Bio::DB::Fasta
295
298
  #is forwarded to the default stdout
296
299
  def yield_from_pipe(command, klass, type=:text, skip_comments=true, comment_char="#", &block)
297
300
  stdin, pipe, stderr, wait_thr = Open3.popen3(command)
298
- pid = wait_thr[:pid] # pid of the started process.
301
+ #pid = wait_thr[:pid] # pid of the started process.
299
302
  if type == :text
300
303
  while (line = pipe.gets)
301
304
  next if skip_comments and line[0] == comment_char
@@ -27,13 +27,19 @@
27
27
  module Bio
28
28
  class DB
29
29
  class Pileup
30
- attr_accessor :ref_name, :pos, :ref_base, :coverage, :read_bases, :read_quals, :consensus, :consensus_quality, :snp_quality, :rms_mapq, :ar1, :ar2, :ar3, :indel_1, :indel_2
30
+ attr_accessor :ref_name, :pos, :ref_base, :coverage, :read_bases, :read_quals, :consensus_quality, :snp_quality, :rms_mapq, :ar1, :ar2, :ar3, :indel_1, :indel_2
31
31
 
32
32
  #creates the Pileup object
33
33
  # pile_up_line = "seq2\t151\tG\tG\t36\t0\t99\t12\t...........A\t:9<;;7=<<<<<"
34
34
  # pile = Bio::DB::Pileup.new(pile_up_line)
35
35
  def initialize(pile_up_line)
36
36
  cols = pile_up_line.split(/\t/)
37
+ @consensus = nil
38
+ @consensus_quality = nil
39
+ @read_quals = nil
40
+ @bases = nil
41
+ @allele_frequency = nil
42
+ @consensus_iuap = nil
37
43
  if cols.length == 6 ##should only be able to get 6 lines from mpileup
38
44
  @ref_name, @pos, @ref_base, @coverage, @read_bases, @read_quals = cols
39
45
  elsif (10..13).include?(cols.length) ##incase anyone tries to use deprecated pileup with -c flag we get upto 13 cols...
@@ -20,10 +20,16 @@ module Bio
20
20
  def initialize(args)
21
21
  @fasta = args[:fasta]
22
22
  @bam = args[:bam]
23
+ @bams = nil
24
+ @sam = nil
25
+ @files = nil
26
+ @cached_regions = nil
27
+ @stats = nil
23
28
  @samtools = args[:samtools] || File.join(File.expand_path(File.dirname(__FILE__)),'sam','external','samtools')
24
29
  @bcftools = args[:bcftools] || File.join(File.expand_path(File.dirname(__FILE__)),'sam','external','bcftools')
25
30
 
26
31
  @files = [@files] if @files.instance_of?(String)
32
+
27
33
 
28
34
  @last_command = nil
29
35
  raise ArgumentError, "Need Fasta and at least one BAM or SAM" if not @fasta or not @bam
@@ -67,7 +73,7 @@ module Bio
67
73
  region = String.new
68
74
  if opts[:chr] and opts[:start] and opts[:stop]
69
75
  has_e = self.has_entry? opts[:chr]
70
- raise SamException.new(), "[view] The sequence #{opts[:chr]} is not in the bam file" unless self.has_entry? opts[:chr]
76
+ raise SamException.new(), "[view] The sequence #{opts[:chr]} is not in the bam file" unless has_e
71
77
  region = "#{opts[:chr]}:#{opts[:start]}-#{opts[:stop]}"
72
78
  [:chr, :start, :stop].each {|o| opts.delete(o)}
73
79
  end
@@ -712,13 +718,13 @@ module Bio
712
718
 
713
719
  # checks existence of files in instance
714
720
  def files_ok?
715
- [@fasta, @sam, @bam].flatten.compact.each {|f| return false unless File.exists? f }
721
+ [@fasta, @sam, @bam].flatten.compact.each {|f| return false unless File.exist? f }
716
722
  true
717
723
  end
718
724
 
719
725
  #Returns true if the .bai exists. It doesn't validate if it is valid.
720
726
  def indexed?
721
- File.exists? @bam and File.exists? "#{@bam}.bai"
727
+ File.exists? @bam and File.exist? "#{@bam}.bai"
722
728
  end
723
729
 
724
730
  private
@@ -727,7 +733,7 @@ module Bio
727
733
  def yield_from_pipe(command, klass, type=:text, skip_comments=true, comment_char="#", &block)
728
734
  puts "[yield_from_pipe] #{command}" if $VERBOSE
729
735
  stdin, pipe, stderr, wait_thr = Open3.popen3(command)
730
- pid = wait_thr[:pid] # pid of the started process.
736
+ #pid = wait_thr[:pid] # pid of the started process.
731
737
  if type == :text
732
738
  while (line = pipe.gets)
733
739
  next if skip_comments and line[0] == comment_char
@@ -24,7 +24,7 @@ class TestBioDbfastaDB < Test::Unit::TestCase
24
24
  samtools: true
25
25
  )
26
26
  end
27
- class << self
27
+ class << self
28
28
  def shutdown
29
29
  File.delete("test/samples/small/test_fastadb.fasta.fai")
30
30
  end
@@ -43,7 +43,7 @@ class TestBioDbfastaDB < Test::Unit::TestCase
43
43
 
44
44
 
45
45
 
46
- def test_fetch_reference
46
+ def test_fetch_reference
47
47
  #this is the first 70 nucleotides of the test seqeunce
48
48
  @fasta_samtools.faidx()
49
49
 
@@ -73,15 +73,17 @@ GGAAACCCGAGGAATCAGAGAGGAGTGTTGACAGTGTAGCACGGGATG",
73
73
  "chr_2:765-770" => Bio::DB::Fasta::FastaDBException,
74
74
 
75
75
  }
76
+
76
77
  test_regions.each_pair do |region, expected_eception|
77
78
  assert_raise expected_eception do
78
- seq_fetched = @fasta_samtools.fetch_sequence(region)
79
+ #seq_fetched =
80
+ @fasta_samtools.fetch_sequence(region)
79
81
  end
80
82
 
81
83
  assert_raise expected_eception do
82
- seq_fetched_local = @fasta_local.fetch_sequence(region)
84
+ #seq_fetched_local =
85
+ @fasta_local.fetch_sequence(region)
83
86
  end
84
87
  end
85
88
  end
86
-
87
89
  end
@@ -178,7 +178,7 @@ class TestBioDbSam < Test::Unit::TestCase
178
178
  end
179
179
 
180
180
  def test_index_stats
181
- puts "Stats: #{@sam.index_stats.inspect}"
181
+ #puts "Stats: #{@sam.index_stats.inspect}"
182
182
  @sam.index_stats.each_pair do |seq, stat|
183
183
  assert_send([['chr_1' , '*'], :member?, seq])
184
184
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-samtools
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Ramirez-Gonzalez