Class: WingenderTFClass::ProteinFamilyRecognizers::ByUniprotID

Inherits:
Object
  • Object
show all
Defined in:
lib/WingenderTFClass/motif_family_recognizer.rb

Instance Method Summary collapse

Constructor Details

#initialize(motif_family_recognizer_by_uniprot_ac, uniprot_acs_by_id) ⇒ ByUniprotID

Returns a new instance of ByUniprotID.



69
70
71
72
# File 'lib/WingenderTFClass/motif_family_recognizer.rb', line 69

def initialize(motif_family_recognizer_by_uniprot_ac, uniprot_acs_by_id)
  @motif_family_recognizer_by_uniprot_ac = motif_family_recognizer_by_uniprot_ac
  @uniprot_acs_by_id = uniprot_acs_by_id
end

Instance Method Details

#subfamilies_by_multiple_uniprot_ids(uniprot_ids) ⇒ Object



81
82
83
84
85
# File 'lib/WingenderTFClass/motif_family_recognizer.rb', line 81

def subfamilies_by_multiple_uniprot_ids(uniprot_ids)
  uniprot_ids.flat_map{|uniprot_id|
    subfamilies_by_uniprot_id(uniprot_id)
  }.uniq
end

#subfamilies_by_uniprot_id(uniprot_id) ⇒ Object

In most cases Uniprot refers the only leaf, but in some cases it refers several leafs in different subtrees. So we return an array of subfamilies



76
77
78
79
# File 'lib/WingenderTFClass/motif_family_recognizer.rb', line 76

def subfamilies_by_uniprot_id(uniprot_id)
  uniprot_acs = @uniprot_acs_by_id[uniprot_id]
  @motif_family_recognizer_by_uniprot_ac.subfamilies_by_multiple_uniprot_acs( uniprot_acs )
end