So far, this PR only a script scripts/parsimony.py providing functions and a cli for calculating parsimony scores of trees, given a newick(s) and fasta. Also has an option to combine trees into a history DAG.
More features to come, including refactoring disambiguation code to make computing parsimony score more efficient (only one pass is needed to do so, but disambiguation requires two traversals and many more steps), and to allow disambiguations to yield minimally ambiguous characters at internal nodes.
So far, this PR only a script
scripts/parsimony.py
providing functions and a cli for calculating parsimony scores of trees, given a newick(s) and fasta. Also has an option to combine trees into a history DAG.More features to come, including refactoring disambiguation code to make computing parsimony score more efficient (only one pass is needed to do so, but disambiguation requires two traversals and many more steps), and to allow disambiguations to yield minimally ambiguous characters at internal nodes.
Also, everything else mentioned in issue https://github.com/matsengrp/historydag/issues/17