rbbt-sources 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
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)