Method: Bio::Tree#leaves
- Defined in:
- lib/bio/tree.rb
#leaves(node = nil, root = nil) ⇒ Object
If node is nil, returns an array of all leaves (nodes connected with one edge). Otherwise, gets all descendent leaf nodes of the node. If root isn’t specified or root is nil
, @root is used. Returns an array of Node
s. The result is unspecified for cyclic trees.
738 739 740 741 742 743 744 745 746 747 748 749 750 751 |
# File 'lib/bio/tree.rb', line 738 def leaves(node = nil, root = nil) unless node then nodes = [] self.each_node do |x| nodes << x if self.out_degree(x) == 1 end return nodes else root ||= @root self.descendents(node, root).find_all do |x| self.adjacent_nodes(x).size == 1 end end end |