Specification: Phylogenetic Trees (OSCAR v1.6-v1.8)
Profiles: OSCAR v1.6, OSCAR v1.7, OSCAR v1.8
Other versions: Phylogenetic Trees (OSCAR v1.0-v1.5)
From OSCAR v1.6 onward, PhylogeneticTree uses a parametric root type and a
structured payload that separates the polymake tree from additional OSCAR-level
data such as vertex permutations.
Encoding Notes
- Use a typed
_typeobject whosenameis"PhylogeneticTree". - Record the coefficient field in
_type.params. - Store the tree data under
data, with at leastpm_treeand any additional OSCAR-specific fields required by the profile.
Canonical Example Payload
The following payload is taken directly from the current rosetta-stone corpus.
{
"_ns": {"Oscar": ["https://github.com/oscar-system/Oscar.jl", "1.7.0"]},
"_type": {"name": "PhylogeneticTree", "params": {"_type": "Floats"}},
"data": {
"pm_tree": {
"LEAVES": {"B": 5, "C": 4, "G": 6, "H": 2},
"_type": "graph::PhylogeneticTree<Float>",
"_ns": {"polymake": ["https://polymake.org", "4.15"]},
"NEWICK": "((H:3,(C:1,B:1):2):1,G:4);",
"N_NODES": 7,
"LABELS": ["", "", "H", "", "C", "B", "G"],
"ADJACENCY": [[1, 6], [0, 2, 3], [1], [1, 4, 5], [3], [3], [0]],
"EDGE_LENGTHS": [1, 3, 2, 1, 1, 4]
},
"vertex_perm": ["1", "2", "3", "4", "5", "6", "7"]
}
}
Documented Profiles in This Corpus
This table records the profile/version pairs currently represented by the rosetta-stone examples for this data type. Add new rows as new systems or encoding revisions are documented.
| Profile | Version | Example | Root type |
|---|---|---|---|
| Oscar | 1.6.0 |
Phylogenetic tree (Float64) | PhylogeneticTree |
| Oscar | 1.6.0 |
Phylogenetic tree (QQ) | PhylogeneticTree |
| Oscar | 1.7.0 |
Phylogenetic tree (Float64) | PhylogeneticTree |
| Oscar | 1.7.0 |
Phylogenetic tree (QQ) | PhylogeneticTree |