Sha256: 8ed048ef0e92e8075fc470c7d80c43546525d4ba57c623c4f83d56c91caaf8c4
Contents?: true
Size: 1.31 KB
Versions: 3
Compression:
Stored size: 1.31 KB
Contents
require 'rbbt-util' require 'rbbt/sources/biomart' require 'rbbt/sources/entrez' def tsv_file(url, native, extra, options = {}) options = Misc.add_defaults options, :persistence => false, :keep_empty => true case when Array === native options = Misc.add_defaults options, :native => native.last key_field = native.first when (String === native or Integer === native) options = Misc.add_defaults options, :native => native key_field = nil else key_field = nil end case when (Array === extra and Array === extra.first) options = Misc.add_defaults options, :extra => extra.collect{|e| e.last} fields = extra.collect{|e| e.first} when (Array === extra and not Array === extra.first) options = Misc.add_defaults options, :extra => extra fields = (1..extra.length).to_a.collect{|i| "Field#{i}"} else fields = nil end tsv = TSV.new(Open.open(url), options) tsv.key_field ||= key_field tsv.fields ||= fields tsv end def merge_entrez(data, taxs, native, fix = nil, select = nil) entrez = Entrez.entrez2native(taxs, :fix => fix, :select => select) entrez.fields = [native] entrez data.smart_merge entrez, native end def merge_biomart(lexicon, db, native, other, match = nil) match ||= native.first lexicon.smart_merge BioMart.tsv(db, native, other), match end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbbt-sources-0.2.2 | share/install/lib/helpers.rb |
rbbt-sources-0.2.1 | share/install/lib/helpers.rb |
rbbt-sources-0.2.0 | share/install/lib/helpers.rb |