bio-ucsc-api 0.5.1 → 0.5.2

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.
@@ -1,4 +1,5 @@
1
1
  #Change Log
2
+ * **BUG-FIX** (v 0.5.2): Fix a Bio::Ucsc::File::Twobit#subseq error when a query region is all included by a masked (Ns) region
2
3
  * **UPDATE** (v.0.5.1): Mouse mm10 database is supported.
3
4
  * **BUG-FIX** (v.0.5.0): Connecting multiple databeses simultaneously now works well.
4
5
  * **NEW** (v0.5.0): Support automatic definitions of table association using the "all.joiner" schema file.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # bio-ucsc-api version 0.5.1
1
+ # bio-ucsc-api version 0.5.2
2
2
 
3
3
  **The Ruby UCSC API**: accessing the UCSC Genome Database using Ruby.
4
4
 
@@ -124,9 +124,8 @@ Sometimes, queries using raw SQLs provide elegant solutions.
124
124
  For gene prediction (genePred) tables, such as RefSeq, EndGene, and WgEncodeGencodeBasicV12, Ruby UCSC API automatically implements `#exon`, `#introns`, `#cdss` (or an alias `#cdses`) methods. Exons, introns, and CDSes are accessible as Array objects of `Bio::GenomicInterval`.
125
125
 
126
126
  ```ruby
127
- Bio::Ucsc::Hg19.connec
128
- i = Bio::GenomicInterval.parse("chr1:1,000,000-1,100,000")
129
- r = Bio::Ucsc::Hg19::RefGene.find_by_interval(i)
127
+ Bio::Ucsc::Hg19.connect
128
+ r = Bio::Ucsc::Hg19::RefGene.with_interval("chr1:1,000,000-1,100,000").first
130
129
  puts "gene strand = #{r.strand}"
131
130
  r.exons.each{|x|puts "[#{x.chr_start}, #{x.chr_end}]"}
132
131
  r.cdss.each{|x|puts "[#{x.chr_start}, #{x.chr_end}]"}
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.5.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bio-ucsc-api"
8
- s.version = "0.5.1"
8
+ s.version = "0.5.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Hiroyuki Mishima", "Jan Aerts"]
12
- s.date = "2012-09-27"
12
+ s.date = "2012-12-20"
13
13
  s.description = "Ruby UCSC API: accessing the UCSC Genome Database using Ruby"
14
14
  s.email = "missy@be.to"
15
15
  s.extra_rdoc_files = [
@@ -17,7 +17,7 @@ require "#{base}/gi.rb"
17
17
 
18
18
  module Bio
19
19
  module Ucsc
20
- VERSION = "0.5.1"
20
+ VERSION = "0.5.2"
21
21
  base = "#{::File.dirname(__FILE__)}/bio-ucsc"
22
22
 
23
23
  # mammmals #####################################
@@ -112,18 +112,22 @@ module Bio
112
112
  end
113
113
 
114
114
  def find_by_interval(interval)
115
+ # does not support an interval involving multiple N-blocks
116
+
115
117
  interval = Bio::Ucsc::Gi.wrap(interval)
116
118
  seq = self.find_by_interval_raw(interval)
117
119
  @records[interval.chrom].n_block_intervals.map do |nb|
118
120
  if interval.overlapped?(nb)
119
121
  case interval.compare(nb)
120
- when :equal,:contained_by
122
+ when :equal,:contains
121
123
  seq = 'N' * interval.overlap(nb)
122
- when :contains
123
- left_len = nb.chr_start - interval.chr_start + 1
124
- right_len = interval.chr_end - nb.chr_end + 1
125
- seq[0, left_len] = 'N' * left_len
126
- seq[-right_len, right_len] = 'N' * right_len
124
+ when :contained_by
125
+ left_len = nb.chr_start - interval.chr_start + 1
126
+ right_len = interval.chr_end - nb.chr_end + 1
127
+ seq =
128
+ seq[0 .. left_len] +
129
+ 'N' * (seq.length - left_len - right_len) +
130
+ seq[-right_len .. -1]
127
131
  when :left_overlapped
128
132
  left_len = nb.chr_end - interval.chr_start + 1
129
133
  seq[0, left_len] = 'N' * left_len
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-ucsc-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-09-27 00:00:00.000000000 Z
13
+ date: 2012-12-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
17
- requirement: &158480880 !ruby/object:Gem::Requirement
17
+ requirement: &254854620 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.0.7
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *158480880
25
+ version_requirements: *254854620
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &158480020 !ruby/object:Gem::Requirement
28
+ requirement: &254853820 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.0.7
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *158480020
36
+ version_requirements: *254853820
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: mysql
39
- requirement: &158479400 !ruby/object:Gem::Requirement
39
+ requirement: &254853120 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 2.8.1
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *158479400
47
+ version_requirements: *254853120
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: bio-genomic-interval
50
- requirement: &158478820 !ruby/object:Gem::Requirement
50
+ requirement: &254868560 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.1.2
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *158478820
58
+ version_requirements: *254868560
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: safe_attributes
61
- requirement: &158494120 !ruby/object:Gem::Requirement
61
+ requirement: &254867560 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 1.0.8
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *158494120
69
+ version_requirements: *254867560
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rake
72
- requirement: &158493200 !ruby/object:Gem::Requirement
72
+ requirement: &254866900 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.9.2.2
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *158493200
80
+ version_requirements: *254866900
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
- requirement: &158492580 !ruby/object:Gem::Requirement
83
+ requirement: &254866200 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 2.9.0
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *158492580
91
+ version_requirements: *254866200
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: bundler
94
- requirement: &158491920 !ruby/object:Gem::Requirement
94
+ requirement: &254865620 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 1.1.0
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *158491920
102
+ version_requirements: *254865620
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: jeweler
105
- requirement: &158491160 !ruby/object:Gem::Requirement
105
+ requirement: &254864760 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 1.8.3
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *158491160
113
+ version_requirements: *254864760
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: bio
116
- requirement: &158490320 !ruby/object:Gem::Requirement
116
+ requirement: &254864120 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 1.4.1
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *158490320
124
+ version_requirements: *254864120
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rdoc
127
- requirement: &158488760 !ruby/object:Gem::Requirement
127
+ requirement: &254863240 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,7 +132,7 @@ dependencies:
132
132
  version: 3.9.1
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *158488760
135
+ version_requirements: *254863240
136
136
  description: ! 'Ruby UCSC API: accessing the UCSC Genome Database using Ruby'
137
137
  email: missy@be.to
138
138
  executables: []
@@ -575,7 +575,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
575
575
  version: '0'
576
576
  segments:
577
577
  - 0
578
- hash: 4141800298986362982
578
+ hash: 3725389478649005497
579
579
  required_rubygems_version: !ruby/object:Gem::Requirement
580
580
  none: false
581
581
  requirements: