I am trying to write a script to find the lowest common ancestor for a list of ids
I have a file with the parent of each id, and have parsed this into a Hash containing the parent of every id %HoPar. This code not shown, but working properly
Then I am making an array of ancestors for each id. Then in a final step I am comparing all of these ancestor arrays to find the intersection. This is where I am having problems, I'm not sure of the syntax to create the List::Compare object. Any help appreciated
my %HoAncestors; foreach my $qu (keys %HoTxHits) { # go through each taxid, get ancestors, then find the intersec +tion foreach my $taxid (@{$HoTxHits{$qu}}){ my $queryTaxid=$taxid; while ((exists $HoPar{$queryTaxid}) && ($HoPar{$queryT +axid} != 1)) { my $parent=$HoPar{$queryTaxid}; push (@{$HoAncestors{$taxid}},$parent); $queryTaxid=$parent; } } $lcm=List::Compare=>new(\ @intersection=$lcm->get_intersection; } }
In reply to Passing List::Compare a list of arrays by AWallBuilder
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |