Sha256: 04320dc0fe59626ac2f444b2b27ede3aeab02d6002c4d86eaf9223f9538455f5
Contents?: true
Size: 1.41 KB
Versions: 1
Compression:
Stored size: 1.41 KB
Contents
require 'rbbt-util' require 'rbbt/util/data_module' module Organism class OrganismNotProcessedError < StandardError; end def self.datadir(org) File.join(Rbbt.datadir, 'organisms', org) end def self.normalize(org, list, field = nil, others = nil, options = {}) return [] if list.nil? or list.empty? options = Misc.add_defaults options, :persistence => true, :case_insensitive => true, :double => false double = Misc.process_options options, :double if Array === list if double index.values_at *list else index.values_at(*list).collect{|e| Misc.first e} end else if double index[list] else index[list].first end end end def self.guess_id(org, values) identifiers = TSV.new(Organism.identifiers(org), :persistence => true) field_matches = identifiers.field_matches(values) field_matches.sort_by{|field, matches| matches.uniq.length}.last end def self.organisms Dir.glob(File.join(PKGData.sharedir_for_file(__FILE__), 'install/Organism/*/Rakefile')).collect{|f| File.basename(File.dirname(f))} end def self.name(organism) Open.read(Organism.scientific_name(organism)).strip end def self.organism(name) organisms.select{|organism| organism == name or Organism.name(organism) =~ /#{ name }/i }.first end extend DataModule Hsa = with_key('Hsa') Sce = with_key('Sce') end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rbbt-sources-0.2.2 | lib/rbbt/sources/organism.rb |