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.
- checksums.yaml +4 -4
- data/lib/rbbt/sources/organism.rb +40 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0ddae660ee5188e8e9ed08bc38a85a01a3fcbf0
|
4
|
+
data.tar.gz: 42e2f12d00c5147ac2eec9cb087f6094342189c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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-
|
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.
|
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)
|