Method: NewickTree#compare
- Defined in:
- lib/Newick.rb
#compare(tree) ⇒ Object
returns lists of clades different between two trees
502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 |
# File 'lib/Newick.rb', line 502 def compare(tree) tree1 = self.dup.unroot tree2 = tree.dup.unroot diff1 = [] diff2 = [] if (tree1.taxa == tree2.taxa) clades1 = tree1.clades clades2 = tree2.clades clades1.each do |clade| if (!clades2.include?(clade)) diff1.push(clade) end end clades2.each do |clade| if (!clades1.include?(clade)) diff2.push(clade) end end else raise NewickParseError, "The trees have different taxa!" end return diff1, diff2 end |