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

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

Science Score: 26.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
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cbg-ethz
  • License: gpl-3.0
  • Language: R
  • Default Branch: master
  • Size: 145 KB
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 7 years ago · Last pushed almost 7 years ago
Metadata Files
Readme License

README.md

predictabilityofcancer_evolution

Author: Sayed-Rzgar Hosseini (razgar@gmail.com)

The following is a pipeline for estimating the predictability of cancer evolution based either on i) Conjunctive Bayesian Networks (CBNs) or ii) Fitness Landscapes:

i) Based on Conjunctive Bayesian Networks:

Step 0: Downloading the CT-CBN software.

CBN model has been developed by Prof. Niko Beerenwinkel group and the software is free to download via the link below: https://www.bsse.ethz.ch/cbg/software/ct-cbn.html.
Moreover, the R functions in the step 5 require to install the Bioconductor package "OncoSimulR" (see https://bioconductor.org/packages/release/bioc/html/OncoSimulR.html).

Step 1: Preparing the genotype file.

Each line in a genotype file represents a genotype, a binary vector of a given length, each element of which correponds to a given mutation, and is 1 if mutation exists and zero otherwise. The first line of the genotype file is a single number indicating the number of genotypes existing in the genotype file. Furthermore, note that the first column of the genotype file is all one (See an example of a genotype file in DATA/genotype.txt in this repository)

Step 2: Generating an initial DAG of restrictions using CT-CBN.

In this step, starting from an empty poset, using CT-CBN we generate an initial DAG of restrictions (see the ReadMe file of the CT-CBN (https://www.bsse.ethz.ch/cbg/software/ct-cbn.html.) for more details)

Step 3: Generating the final DAG of restrictions and Lambda values using H-CBN.

In this step, starting from the DAG of restrictions generated in step 2, using H-CBN (with 10000 steps of simulated annealing and T=1), we generate the final DAG of restrictions (see the ReadMe file of the CT-CBN (https://www.bsse.ethz.ch/cbg/software/ct-cbn.html.) for more details).

Step 4: Data Preprocessing.

Make sure to remove the first and the last line of the final DAG file (with .poset extension).
Moreover, it is necessary to add a line with two zeros "0 0" to the end of the DAG file.

Step 5: Quantifying the predictability.

Based on the DAG file (with .poset extension) and the LAMBDA file (with .lambda extension), using "CODE/PREDICTABILITY_CBN.R" function, which depends on the "CODE/ALLOWED.R" function, predictability can be computed.

Notes on the PREDICTABILITY_CBN.R function

Inputs

Inputs of the PREDICTABILITY_CBN.R function are as follows:
i) DAG: a matrix representing the DAG of restrictions. (nrow>=1 , ncol=2), the last row is always c(0,0)). See step 4 (data preprocessing)
ii) LAMBDA: matrix of Lambda values produced by the CBN model (nrow=(x+1),ncol=1), the first row always equals 1.
iii) x: number of mutations considered.

Output

The output of the PREDICTABILITY_CBN.R function is simply a number between 0 and 1, which is the estimated predictability.

Example

{r} DAG<-read.table('DATA/EXAMPLE.poset') LAMBDA<-read.table('DATA/EXAMPLE.lambda') x<-4 pred<-PREDICTABILITY_CBN(DAG,LAMBDA,x) #the output equals 0.59.

ii) Based on Fitness landscapes:

Step 1: preparing the fitness alndscape.

A fitness landscape is generated by assigning a fitness value to each genotype in a genotype space comprising 2^x genotypes (x is the number of genes (or mutations)), which can then be used for quantifying the predictability of cancer evolution. In our simulations, we used binary genotypes of length 7, which results in a genotype space comprising 2^7=128 total genotypes (see DATA/genotypes.rds in this repository). We used 100 representable fitness landscape (see DATA/FitnessLandcapeRepresentable.rds in this repository) and 111 non-representable ones (see DATA/FitnessLandcapeNON_Representable.rds in this repository). Each row of the above .rds files corresponds to a given genotype (in the genotypes.rds file) and each column corresponds to a given fitness landscape.

Step 2: Quantifying the predictability.

Based on the fitness landscape file in step 1, we can quantify the predictability of evolution using "CODE/PREDICTABILITY_SSWM.R" in this REPOSITORY.

Notes on the PREDICTABILITY_SSWM.R function

Inputs

Inputs of the PREDICTABILITY_SSWM.R function are as follows:
i) FITNESS: fitness vector of length 2^x, each corresponding to a given genotype in the genotype space.
ii) x: number of mutations considered.

Output

The output of the PREDICTABILITY_SSWM.R function is simply a number between 0 and 1, which is the estimated predictability.

Example

In this example, we calculate the predictability of the 10th representable fitness landcsape.
{r} FITNESS_LandscapeS<-readRDS('DATA/FitnessLandcape_Representable.rds') FITNESS_Landscape<-FITNESS_LandscapeS[,10] x<-7 pred<-PREDICTABILITY_SSWM(FITNESS_Landscape,x)% the output equals 0.61.

Real data:

Two sets of real data were analyzed in this paper, which are available as follows:

/Data/TCGA:

This includes 15 genotype matrices corresponding to 15 cancer types based on TCGA dataset.

/Data/MSK:

This includes 15 genotype matrices corresponding to 15 cancer types based on MSK-IMPACT dataset.

Citation:

Sayed-Rzgar Hosseini, Ramon Diaz-Uriarte, Florian Markowetz, Niko Beerenwinkel, Estimating the predictability of cancer evolution, Bioinformatics, Volume 35, Issue 14, July 2019, Pages i389–i397, https://doi.org/10.1093/bioinformatics/btz332

Owner

  • Name: Computational Biology Group (CBG)
  • Login: cbg-ethz
  • Kind: organization
  • Location: Basel, Switzerland

Beerenwinkel Lab at ETH Zurich

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 36
  • Total Committers: 1
  • Avg Commits per committer: 36.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
RzgarHosseini r****r@g****m 36

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • 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
  • RzgarHosseini (1)
Top Labels
Issue Labels
Pull Request Labels