cBioPortal / GSoC

Documentation repository of Google Summer of Code (GSoC) project ideas for cBioPortal and related projects
106 stars 41 forks source link

Clonal Evolution #66

Closed fongcj closed 4 years ago

fongcj commented 5 years ago

Background: Genetic sequencing has confirmed that many cancers are evolutionarily heterogeneous. As a tumor grows, new mutations accumulate in individual cells, and as these cells replicate, the mutations are passed on to their offspring, which comprise only a portion of the tumor when it is sampled. As a result, A key challenge in cancer genomics is the genomic heterogeneity seen within tumors. For example, two biopsies from different sites of the same tumor may have very different mutations. Likewise, a tumor biopsy taken after treatment may show the emergence of new resistance mutations that were not detected in the original sample. Reconstruction of clonal evolution provides insight into tumor heterogeneity, evolution, and treatment response, all of which may have clinical implications.

For general background, see:

What is Tumor Heterogeneity?, Memorial Sloan-Kettering Cancer Center. July 2, 2014. A Deeper Look at Tumor Heterogeneity, Cancer Discovery 2012.

Goal: This project aims to implement a feature visualizing clonal ordering and evolution in cBioPortal. There are two visualizations that can represent this Bell plots (Fishplot) to present clonal dynamics over time Phylogenetic Tree, or branch based tree to present clonal subpopulations of a sample

Example (via https://github.com/hdng/clonevol):

Fish plot

screen shot 2019-02-27 at 5 26 00 pm

Node or branch based phylogenetic tree

screen shot 2019-02-27 at 5 36 53 pm

Simplified bell plot, representing the same data as the fish plot

screen shot 2019-02-27 at 5 42 33 pm

Approach: Part 1. Provided a MAF file containing mutation calls, perform data manipulations specific to one (or more) of the clonal evolution algorithms.

Potential implementations: ClonEvol (https://github.com/hdng/clonevol) - R (Most mature software package) clonal_evolution_summary (https://github.com/fongcj/clonal_evolution_summary) - Python (Basic Visualizations) PyClone (https://github.com/aroth85/pyclone) - Python (No visualizations provided)

Output of these algorithms should be a table containing information to produce the fish, bell, and/or phylo-tree. As part of the proposal, the inputs and outputs of the algorithm implementation should be addressed.

For example, from the clonal_evolution_summary code, prototype now, there would be 3 inputs: mutation maf and CNA calls, and a dictionary of the patient's sample IDs and relative time points (0,1,2.. etc. or dates) The script will output the follow table:

screen shot 2019-02-27 at 6 26 17 pm

Part 2. Implement the visualization components of fish, bell and phylo-tree in Javascript/REACT.

Again, using the clonal_evolution_summary code as an example, the output table provides information to produce a simple tree using Pythons networkx library. Using a separate function, a visualization of a phylo-tree can be produced: evolution__232

Need skills: R and/or Python (Pandas), Javascript

Possible mentors: Chris F.

lokeshrana9999 commented 5 years ago

Hey @jjgao , I am student of Biotech(IIT Guwahati). I have been working with reactjs for the last year or so. I would like the opportunity to work on this issue. Thank You

pcalderong commented 5 years ago

Hello @jjgao, I'm currently studying BioInformatics, and I found this project really interesting to gain some experience in the field and support such a helpful platform. I just have one question, Where can I find the steps to submit a proposal to work on this project? Thanks.

jjgao commented 5 years ago

@pcalderong thanks for your interest. The deadline to apply to this project as a GSoC student has passed: https://developers.google.com/open-source/gsoc/timeline. If you are interested in contribute to cBioPortal open source project, our source code is here: https://github.com/cBioPortal/. Please let us know and we will get your started.

inodb commented 4 years ago

A very good prototype was developed in GSoC2019 for 2020 we should prolly finish bringing this to production ourselves