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
and a death rate
such that the time until cell division or cell death is exponentially distributed with
parameters
and
, 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
genetic alterations. Each
alteration is a driver mutation with some probability
. A cell with k driver mutations is given birth rate
. The simulation begins with a single cell at the origin at time
.
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. The-th row of this data frame corresponds to the allele ID
. 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))