https://github.com/cbg-ethz/oncotreevis
An interactive graphical user interface for visualizing mutation tree cohorts.
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: biorxiv.org -
○Academic email domains
-
✓Institutional organization owner
Organization cbg-ethz has institutional domain (www.bsse.ethz.ch) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.2%) to scientific vocabulary
Repository
An interactive graphical user interface for visualizing mutation tree cohorts.
Basic Info
- Host: GitHub
- Owner: cbg-ethz
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://cbg-ethz.github.io/oncotreeVIS
- Size: 20.8 MB
Statistics
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
oncotreeVIS – An interactive graphical user interface for visualising mutation tree cohorts
Web app: https://cbg-ethz.github.io/oncotreeVIS
Abstract
In recent years, developments in next-generation sequencing technology and computational methodology have made it possible to reconstruct, with increasing precision, the evolutionary history of tumors and their cell phylogenies, represented as mutation trees. Many mutation tree inference tools exist, yet they only provide visualizations of individual output trees, with limited amount of details, which makes it difficult to inspect the mutation trees at the cohort level and understand their differences and commonalities, an important task in computational oncology highly relevant for tumor board clinical decisions.
We introduce oncotreeVIS, an interactive graphical user interface for visualizing mutation tree cohorts and tree posterior distributions obtained from mutation tree inference tools. OncotreeVIS can display mutation trees that encode single or joint genetic events, such as point mutations and copy number changes, and highlight subclones with matching mutation events, conserved trajectories, drug-gene interactions, and k-nearest neighbor trees. OncotreeVIS facilitates the visual inspection of mutation tree clusters and pairwise tree distances, if provided by the user. It is available both as a JavaScript library that can be used locally or as a web application that can be accessed online to visualize seven default datasets of public mutation tree cohorts, or new user data provided in a predefined JSON format.
Video Tutorial
Usage
OncotreeVIS can be used as follows:
- locally by including the javascript library and calling the oncotreeVIS function with two arguments: the input in JSON object format (see required keys below) and the id of an empty div container;
- using our web app to visualize predefined datasets or your own in the required format (see below);
- the color codes for the clusters and tree nodes are hardcoded at oncotreevis.js#L826. The colors used in the metadata legend are generated dynamically using our ColorGenerator implemented at oncotreevis.js#L1936;
- we use a frozen version of the DGIdb stored in JSON format. In order to update it, use the following script:
$ python scripts/DGIdb/dgidb_query.py
The expected input is a JSON file with the following key values:
| Key | Data structure |
| ----------- | ----------- |
| trees | Dictionary where the key is the sample id and the value is another dictionary containing the tree structure (required) and the sample metadata (optional).
The tree structure is an hierarchical data structure in JSON format, as used in D3.js and anytree (python) libraries. Each node has one or more child nodes (node.children), except for the leaves. In addition, each node has the following attributes: nodeid (string/int, required), matchinglabel (required), sizepercent (float, optional), metadata (dictionary, optional), geneevents (dictionary, optional), isneutral (boolean, optional). The geneevents attribute has two predefined keys ("mutation" and "CNA"), but any other key names can be used. The values for the "CNA" event key are specifically interpreted as amplification or deletion amounts w.r.t. the neutral states. The first three letters of the event key are used in the visualization for displaying a summary for the gene events.
Example of JSON tree:
"AML-03-001": {"tree": {"nodeid": 0, "matchinglabel": 0, "children": [{"nodeid": 407, "matchinglabel": 14, "sizepercent": 0.228, "geneevents": {"FLT3-ITD": {"mutation": ""}}, "children": [{"nodeid": 408, "matchinglabel": 5, "sizepercent": 0.772, "geneevents": {"NPM1": {"mutation": "p.L287fs"}}}]}]}, "metadata": {"Chemo": "No", "Gender": "Female", "VitalStatus": "Dead NOS", "age": 59, "Diagnosis": "AML", "Response": "CR"}}
Examples for geneevents dictionary:
"geneevents": {"NPM1": {"mutation": "p.L287fs"}, "AKT3": {"CNA": 2}, "JAK2": {"CNA": -1}, "TP53": {"CNA”: "-", "expression": "0.34"}}|
| clusters|List of lists of tree ids (strings).
Example:
[['AML-55-001', 'AML-33-001', 'AML-57-001', 'AML-11-001'], ['AML-77-001'], ['AML-50-001', 'AML-102-001'], … ]
Such a clustering can be obtainen e.g., with oncotree2vec.|
| pairwisetreedistances | List of dictionaries where the keys are the tree ids of the pair of trees (strings) and the values are the distance scores (float).
Example:
[{'sample1': 'AML-73-001', 'sample2': 'AML-22-001', 'distance': 0.6072}, … ] A tree distance metric can be obtained e.g., with oncotree2vec.|
| highlighted_genes | Styles used: color code or keywords "bold", "italic", "underline".
Example:
{"JAK2": "bold", "PTEN": "italic", "TP53": "#b4a7d6", "FLT3-ITD": "lightsteelblue"} |
The JSON files used for the predefined datasets are available on github in the data folder.
Usage example
``` <!DOCTYPE html>
<!-- Load CSS files --> <!-- Load javascript libraries -->```
Owner
- Name: Computational Biology Group (CBG)
- Login: cbg-ethz
- Kind: organization
- Location: Basel, Switzerland
- Website: https://www.bsse.ethz.ch/cbg
- Twitter: cbg_ethz
- Repositories: 91
- Profile: https://github.com/cbg-ethz
Beerenwinkel Lab at ETH Zurich
GitHub Events
Total
- Push event: 77
- Create event: 2
Last Year
- Push event: 77
- Create event: 2
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0