simulateTumor {SITH} | R Documentation |
Spatial simulation of tumor growth
Description
Simulate the spatial growth of a tumor with a multi-type branching process on the three-dimensional integer lattice.
Usage
simulateTumor(
max_pop = 250000,
div_rate = 0.25,
death_rate = 0.18,
mut_rate = 0.01,
driver_prob = 0.003,
selective_adv = 1.05,
disease_model = NULL,
verbose = TRUE
)
Arguments
max_pop |
Number of cells in the tumor. |
div_rate |
Cell division rate. |
death_rate |
Cell death rate. |
mut_rate |
Mutation rate. When a cell divides, both daughter cell acquire |
driver_prob |
The probability that a genetic alteration is a driver mutation. |
selective_adv |
The selective advantage conferred to a driver mutation. A cell with k
driver mutations is given birth rate |
disease_model |
Edge list for a directed acyclic graph describing possible transitions between states. See
|
verbose |
Whether or not to print simulation details to the R console. |
Details
The model is based upon Waclaw et. al. (2015), although the simulation algorithm used is different. A growth of a cancerous tumor
is modeled using an exponential birth-death process on the three-dimensional integer lattice. Each cell is given a birth rate
b
and a death rate d
such that the time until cell division or cell death is exponentially distributed with
parameters b
and d
, respectively. A cell can replicate if at least one of the six sites adjacent to it is
unoccupied. Each time cell replication occurs, both daughter cells receive Pois(u)
genetic alterations. Each
alteration is a driver mutation with some probability du
. A cell with k driver mutations is given birth rate
bs^k
. The simulation begins with a single cell at the origin at time t = 0
.
The model is simulated using a Gillespie algorithm. See the package vignette for details on how the algorithm is implemented.
Value
A list with components
-
cell_ids
- A data frame containing the information for the simulated cells. (x,y,z) position, allele ID number (note that 0 is the wild-type allele), number of genetic alterations, and Euclidean distance from origin are included. -
muts
- A data frame consisting of the mutation ID number, the count of the mutation within the population, and the mutation allele frequency (which is the count divided by N). -
phylo_tree
- A data frame giving all of the information necessary to determine the order of mutations. The parent of a mutation is defined to be the most recent mutation that precedes it. Since the ID 0 corresponds to the initial mutation, 0 does not have any parents and is thus the root of the tree. -
genotypes
- A data frame containing the information about the mutations that make up each allele. Thei
-th row of this data frame corresponds to the allele IDi-1
. The positive numbers in each row correspond to the IDs of the mutations present in that allele, while a -1 is simply a placeholder and indicates no mutation. The count column gives the number of cells which have the specific allele. -
color_scheme
- A vector containing an assignment of a color to each allele. -
drivers
- A vector containing the ID numbers for the driver mutations. -
time
- The simulated time (in days). -
params
- The parameters used for the simulation.
Author(s)
Phillip B. Nicol <philnicol740@gmail.com>
References
B. Waclaw, I. Bozic, M. Pittman, R. Hruban, B. Vogelstein and M. Nowak. A spatial model predicts that dispersal and cell turnover limit intratumor heterogeneity. Nature, pages 261-264, 2015.
D. Gillespie. Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry, volume 81, pages 2340-2361, 1970.
Examples
out <- simulateTumor(max_pop = 1000)
#Take a look at mutants in order of decreasing MAF
sig_muts <- out$muts[order(out$muts$MAF, decreasing = TRUE),]
#Specify the disease model
out <- simulateTumor(max_pop = 1000, disease_model = progressionChain(3))