rbbt-sources 3.0.1 → 3.0.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbbt/sources/organism.rb +40 -0
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b76cc735fd8fd3ff8f93d84517a8c628fc6c8ac
4
- data.tar.gz: 1abc7bb9a8414311f014eed4f1eacfabacf5559f
3
+ metadata.gz: d0ddae660ee5188e8e9ed08bc38a85a01a3fcbf0
4
+ data.tar.gz: 42e2f12d00c5147ac2eec9cb087f6094342189c3
5
5
  SHA512:
6
- metadata.gz: d511a3b4aa38e9b090e57fdbc10888c41a0b98c727993e099ed0bab590fb3375735e57d3ba2744ac32cb186b741236478922b7fa7eb4506122ff70ef106ced62
7
- data.tar.gz: f5e962266840d656270a1efe5be92edc6cd56a856cef88909d55f523e258e598c285f85574ed652128111459d4a36d13c3345b4aec3c51eafdef0877164d8a9a
6
+ metadata.gz: 43b3c30586f24975d6295500dbc447b7c8acdb5aa04361c64bbc6eba6628739810f45dd1360c80b78ab6c479751f7eb182a891e57173661080d2b6aea0034f9c
7
+ data.tar.gz: 3ee58c4b060418bee1b859bd1387ef97217b14b5d2ef26b0594d3813dee14c64ee983349beb2602b3c293223a242a0da25f45cd90fdf56268ee87df35a426083
@@ -163,4 +163,44 @@ module Organism
163
163
 
164
164
  raise "No organism identified for taxid #{taxid}. Supported organism are: #{all_organisms * ", "}"
165
165
  end
166
+
167
+ def self.gene_list_bases(genes, organism = nil)
168
+ if genes.respond_to? :orgnanism
169
+ organism = genes.organism if organism.nil?
170
+ genes = genes.clean_annotations
171
+ end
172
+
173
+ organism ||= "Hsa"
174
+
175
+ @@gene_start_end ||= {}
176
+ gene_start_end = @@gene_start_end[organism] ||= Organism.gene_positions(organism).tsv(:persist => true, :key_field => "Ensembl Gene ID", :fields => ["Gene Start", "Gene End"], :type => :list, :cast => :to_i, :unmamed => true)
177
+
178
+ ranges = genes.collect{|gene| start, eend = gene_start_end[gene]; (start..eend) }
179
+ Misc.total_length(ranges)
180
+ end
181
+
182
+ def self.gene_list_exon_bases(genes, organism = nil)
183
+ if genes.respond_to? :orgnanism
184
+ organism = genes.organism if organism.nil?
185
+ genes = genes.clean_annotations
186
+ end
187
+
188
+ organism ||= "Hsa"
189
+
190
+ @@gene_exons_tsv ||= {}
191
+ gene_exons = @@gene_exons_tsv[organism] ||= Organism.exons(organism).tsv(:persist => true, :key_field => "Ensembl Gene ID", :fields => ["Ensembl Exon ID"], :type => :flat, :merge => true, :unnamed => true)
192
+
193
+ @@exon_range_tsv ||= {}
194
+ exon_ranges = @@exon_range_tsv[organism] ||= Organism.exons(organism).tsv(:persist => true, :fields => ["Exon Chr Start", "Exon Chr End"], :type => :list, :cast => :to_i, :unnamed => true)
195
+
196
+ exons = gene_exons.values_at(*genes).compact.flatten.uniq
197
+
198
+ exon_ranges = exons.collect{|exon|
199
+ Log.low "Exon #{ exon } does not have range" and next if not exon_ranges.include? exon
200
+ pos = exon_ranges[exon]
201
+ (pos.first..pos.last)
202
+ }.compact
203
+
204
+ Misc.total_length(exon_ranges)
205
+ end
166
206
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-sources
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-19 00:00:00.000000000 Z
11
+ date: 2014-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbbt-util
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  version: '0'
171
171
  requirements: []
172
172
  rubyforge_project:
173
- rubygems_version: 2.2.1
173
+ rubygems_version: 2.2.2
174
174
  signing_key:
175
175
  specification_version: 4
176
176
  summary: Data sources for the Ruby Bioinformatics Toolkit (rbbt)