You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(silo): read in phylogenetic tree files and create tree structure (#806)
* feat(silo): parse auspice.json
* feat(lapis): add newick parser and tests
* feat(silo): add tests for edge cases and error handling
* feat(silo): switch to using pointers
* feat(silo): try to create TreeNodeId type
* feat(silo): add to e2e tests
* feat(silo): add link between metadata field and tree in initializer
* feat(silo): refactor reading from file code
* feat(silo): add docs and improve variable names
* feat(silo): update names
* feat(silo): add newick file to e2e tests
* feat(silo): move phylo_tree class to common
* feat(silo): add better error type
* feat(silo): improve function structure
By default SILO does not support phylogeny-based queries. In order to enable these queries a file containing the phylogeny of all (or a subset) of sequences as leaf nodes needs to be imported during pre-processing. The tree file can be specified with the `lineageDefinitionsFilename` field of the preprocessing config. Additionally, to enable querying users must specify which metadata column corresponds to the nodes in the tree file. This should be done by adding the `phyloTreeNodeIdentifier` to the respective metadata field in the database config.
4
+
5
+
> **Warning**
6
+
>
7
+
> Like the `generateLineageIndex` option the `phyloTreeNodeIdentifier` option can only be applied to metadata fields that are strings. However, unlike the `generateLineageIndex` option the `generateIndex` should NOT be set. (Internally lineage indexes are queried using a bitmap structure, however for phylogenetic queries we use the tree structure directly).
8
+
9
+
## Tree File Format
10
+
11
+
We allow users to specify a tree phylogeny using two standard formats: [newick](https://en.wikipedia.org/wiki/Newick_format) and [auspice.json (v2)](https://docs.nextstrain.org/projects/auspice/en/stable/releases/v2.html#new-dataset-json-format). We do not currently support ancestral reassortment graphs. Unlike the standard format we additionally require that **all nodes (internal and leaves) of the tree should be uniquely labelled**.
12
+
13
+
// TODO: Add details of the phylogenetic queries that SILO now supports
0 commit comments