Optimized Gillespie algorithm for simulating Stochastic sPAtial models of Cancer Evolution (OG-SPACE)

Related tags

Deep LearningOG-SPACE
Overview

OG-SPACE

Introduction

Optimized Gillespie algorithm for simulating Stochastic sPAtial models of Cancer Evolution (OG-SPACE) is a computational framework to simulate the spatial evolution of cancer cells and the experimental procedure of bulk and Single-cell DNA-seq experiments. OG-SPACE relies on an optimized Gillespie algorithm for a large number of cells able to handle a variety of Birth-Death processes on a lattice and an efficient procedure to reconstruct the phylogenetic tree and the genotype of the sampled cells.

REQUIRED SOFTWARE AND PACKAGE

  • R (tested on version 4.0) https://cran.r-project.org
  • The following R libraries:
    • igraph
    • gtools
    • ggplot2
    • gridExtra
    • reshape2
    • stringi
    • stringr
    • shiny
    • manipulateWidget
    • rgl

RUN OG-SPACE

  • Download the folder OG-SPACE.
  • use the following command "Rscript.exe my_path\Run_OG-SPACE.R". "my_path" is the path to the folder containing the OG-SPACE scripts.
  • When the pop-up window appears, select the file "Run_OG-SPACE.R" in the working folder. Alternatively, you can launch OG-SPACE, with software like RStudio. In this case, simply run the script "Run_OG-SPACE.R" and when the pop-up window appears, select the file "Run_OG-SPACE.R" in the working folder.

PARAMETERS OF OG-SPACE

Most of the parameters of OG-SPACE could be modified by editing with a text editor the file "input/Parameters.txt". Here a brief description of each parameters.

  • simulate_process three values "contact","voter" and "h_voter". This parameter selects which model simulate with OG-SPACE.
  • generate_lattice = if 1 OG-SPACE generate a regular lattice for the dynamics. If 0 OG-SPACE takes an Igraph object named "g.Rdata" in the folder "input".
  • dimension = an integer number, the dimensionality of the generated regular lattice.
  • N_e = an integer number, number of elements of the edge of the generated regular lattice.
  • dist_interaction = an integer number, the distance of interaction between nodes of the lattice.
  • simulate_experiments = if 1 OG-SPACE generates bulk and sc-DNA seq experiments data. If 0, no.
  • do_bulk_exp = if 1 OG-SPACE generates bulk seq experiment data . If 0, no
  • do_sc_exp = if 1 OG-SPACE generates sc-DNA seq experiments data . If 0, no
  • to_do_plots_of_trees = if 1 OG-SPACE generates the plots of the trees . If 0, no.
  • do_pop_dyn_plot = if 1 OG-SPACE generates the plots of the dynamics . If 0, no.
  • do_spatial_dyn_plot = if 1 OG-SPACE generates the plots of the spatial dynamics . If 0, no.
  • do_geneaology_tree = if 1 OG-SPACE generates the plots of the cell genealogy trees . If 0, no.
  • do_phylo_tree = if 1 OG-SPACE generate the plots of the phylogenetic trees . If 0 no.
  • size_of_points_lattice = an integer number, size of the points in the plot of spatial dynamics.
  • size_of_points_trees = an integer number, size of the points in the plot of trees.
  • set_seed = the random seed of the computation.
  • Tmax = maximum time of the computation [arb. units] .
  • alpha = birth rate of the first subpopulation [1/time].
  • beta = death rate of the first subpopulation [1/time].
  • driv_mut = probability of developing a driver mutation (between 0 and 1).
  • driv_average_advantadge = average birth rate advantage per driver [1/time].
  • random_start = if 1 OG-SPACE select randomly the spatial position of the first cell . If 0 it use the variable "node_to_start" .
  • node_to_start = if random_start=0 OG-SPACE, the variable should be setted to the label of the node of starting.
  • N_starting = Number of starting cells. Works only with random_start=1.
  • n_events_saving = integer number, frequency of the number of events when saving the dynamics for the plot.
  • do_random_sampling = if 2 OG-SPACE samples randomly the cells.
  • -n_sample = integer number of the number of sampled cell. Ignored if do_random_sampling = 0
  • dist_sampling = The radius of the spatial sampled region. Ignored if do_random_sampling = 1
  • genomic_seq_length = number of bases of the genome under study.
  • neutral_mut_rate = neutral mutational rate per base [1/time].
  • n_time_sample = integer number, number of the plots of the dynamics.
  • detected_vaf_thr = VAF threshold. If a VAF is lesser than this number is considered not observed.
  • sequencing_depth_bulk = integer number, the sequencing depth of bulk sequencing.
  • prob_reads_bulk = number between 0 and 1, 1- the prob of a false negative in bulk read
  • mean_coverage_cell_sc = integer number, mean number of read per cells
  • fn_rate_sc_exp = number between 0 and 1, 1- the prob of a false negative in sc read
  • fp_rate_sc_exp = number between 0 and 1, 1- the prob of a false positive in sc read
  • minimum_reads_for_cell = integer number, the minimum number of reads per cell in order to call a mutation
  • detection_thr_sc = ratio of successful reads necessary to call a mutation

OUTPUTS OF OG-SPACE

In the folder "output", you will find all the .txt data files of the output. Note that the trees are returned as edge list matrices. The files will contain:

  • The state of the lattice, with the position of each cell.
  • The Ground Truth (GT) genotype of the sampled cells.
  • The GT Variant Allele Frequency (VAF) spectrum of the sampled cells.
  • The GT genealogy tree of the sampled cells.
  • The GT phylogenetic tree of the sampled cells.
  • The mutational tree of the driver mutations appeared during the simulation of the dynamics.
  • The genotype of the sampled cells after simulating a sc-DNA-seq experiment (if required).
  • The VAF spectrum of the sampled cells after simulating a bulk DNA-seq experiment (if required).

In the folder "output/plots", you will find all required plots.

Owner
Data and Computational Biology Group UNIMIB (was BI*oinformatics MI*lan B*icocca)
The github organization of the DCB group of the DISCo, Università degli Studi di Milano Bicocca
Data and Computational Biology Group UNIMIB (was BI*oinformatics MI*lan B*icocca)
🛰️ List of earth observation companies and job sites

Earth Observation Companies & Jobs source Portals & Jobs Geospatial Geospatial jobs newsletter: ~biweekly newsletter with geospatial jobs by Ali Ahmad

Dahn 64 Dec 27, 2022
The official code for PRIMER: Pyramid-based Masked Sentence Pre-training for Multi-document Summarization

PRIMER The official code for PRIMER: Pyramid-based Masked Sentence Pre-training for Multi-document Summarization. PRIMER is a pre-trained model for mu

AI2 111 Dec 18, 2022
Semantic Scholar's Author Disambiguation Algorithm & Evaluation Suite

S2AND This repository provides access to the S2AND dataset and S2AND reference model described in the paper S2AND: A Benchmark and Evaluation System f

AI2 54 Nov 28, 2022
This is the code for Compressing BERT: Studying the Effects of Weight Pruning on Transfer Learning

This is the code for Compressing BERT: Studying the Effects of Weight Pruning on Transfer Learning It includes /bert, which is the original BERT repos

Mitchell Gordon 11 Nov 15, 2022
👨‍💻 run nanosaur in simulation with Gazebo/Ingnition

🦕 👨‍💻 nanosaur_gazebo nanosaur The smallest NVIDIA Jetson dinosaur robot, open-source, fully 3D printable, based on ROS2 & Isaac ROS. Designed & ma

nanosaur 9 Jul 19, 2022
Tensorflow implementation of "Learning Deep Features for Discriminative Localization"

Weakly_detector Tensorflow implementation of "Learning Deep Features for Discriminative Localization" B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and

Taeksoo Kim 363 Jun 29, 2022
This is an official source code for implementation on Extensive Deep Temporal Point Process

Extensive Deep Temporal Point Process This is an official source code for implementation on Extensive Deep Temporal Point Process, which is composed o

Haitao Lin 8 Aug 15, 2022
Complex-Valued Neural Networks (CVNN)Complex-Valued Neural Networks (CVNN)

Complex-Valued Neural Networks (CVNN) Done by @NEGU93 - J. Agustin Barrachina Using this library, the only difference with a Tensorflow code is that y

youceF 1 Nov 12, 2021
Neural-net-from-scratch - A simple Neural Network from scratch in Python using the Pymathrix library

A Simple Neural Network from scratch A Simple Neural Network from scratch in Pyt

Youssef Chafiqui 2 Jan 07, 2022
Safe Control for Black-box Dynamical Systems via Neural Barrier Certificates

Safe Control for Black-box Dynamical Systems via Neural Barrier Certificates Installation Clone the repository: git clone https://github.com/Zengyi-Qi

Zengyi Qin 3 Oct 18, 2022
Generating Radiology Reports via Memory-driven Transformer

R2Gen This is the implementation of Generating Radiology Reports via Memory-driven Transformer at EMNLP-2020. Citations If you use or extend our work,

CUHK-SZ NLP Group 101 Dec 13, 2022
Project for music generation system based on object tracking and CGAN

Project for music generation system based on object tracking and CGAN The project was inspired by MIDINet: A Convolutional Generative Adversarial Netw

1 Nov 21, 2021
Fader Networks: Manipulating Images by Sliding Attributes - NIPS 2017

FaderNetworks PyTorch implementation of Fader Networks (NIPS 2017). Fader Networks can generate different realistic versions of images by modifying at

Facebook Research 753 Dec 23, 2022
Code for CVPR2021 paper "Robust Reflection Removal with Reflection-free Flash-only Cues"

Robust Reflection Removal with Reflection-free Flash-only Cues (RFC) Paper | To be released: Project Page | Video | Data Tensorflow implementation for

Chenyang LEI 162 Jan 05, 2023
A flexible framework of neural networks for deep learning

Chainer: A deep learning framework Website | Docs | Install Guide | Tutorials (ja) | Examples (Official, External) | Concepts | ChainerX Forum (en, ja

Chainer 5.8k Jan 06, 2023
Deep metric learning methods implemented in Chainer

Deep Metric Learning Implementation of several methods for deep metric learning in Chainer v4.2.0. Proxy-NCA: No Fuss Distance Metric Learning using P

ronekko 156 Nov 28, 2022
Quantify the difference between two arbitrary curves in space

similaritymeasures Quantify the difference between two arbitrary curves Curves in this case are: discretized by inidviudal data points ordered from a

Charles Jekel 175 Jan 08, 2023
Self Driving RC Car Code

Derp Learning Derp Learning is a Python package that collects data, trains models, and then controls an RC car for track racing. Hardware You will nee

Not Karol 39 Dec 07, 2022
Implementation of Monocular Direct Sparse Localization in a Prior 3D Surfel Map (DSL)

DSL Project page: https://sites.google.com/view/dsl-ram-lab/ Monocular Direct Sparse Localization in a Prior 3D Surfel Map Authors: Haoyang Ye, Huaiya

Haoyang Ye 93 Nov 30, 2022
Facial Expression Detection In The Realtime

The human's facial expressions is very important to detect thier emotions and sentiment. It can be very efficient to use to make our computers make interviews. Furthermore, we have robots now can det

Adel El-Nabarawy 4 Mar 01, 2022