https://github.com/cbg-ethz/oncotreevis

An interactive graphical user interface for visualizing mutation tree cohorts.

https://github.com/cbg-ethz/oncotreevis

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
Last synced: 6 months ago · JSON representation

Repository

An interactive graphical user interface for visualizing mutation tree cohorts.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 4
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

bioRxiv License


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

Watch the video

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:
"gene
events": {"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

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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels