This method returns information about tumour tissue cells
Value
A dataframe reporting "cell_id
", "mutant
", "epistate
",
"position_x
", and "position_y
" for each cells satisfying the provided
filters and laying in the input frame.
Details
It collects some data about the cells in the tissue
without altering the tissue itself. The pairs of optional parameters
lower_corner
and upper_corner
define a frame of the tissue in
which the data are sampled. The optional parameters mutant_filter
and epigenetic_filter
filter the collected cell data according to
the cell mutant and epigenetic state.
Examples
# set the seed of the random number generator
set.seed(0)
# create a simulation
sim <- SpatialSimulation()
sim$add_mutant(name = "A",
epigenetic_rates = c("+-" = 0.01, "-+" = 0.01),
growth_rates = c("+" = 0.2, "-" = 0.08),
death_rates = c("+" = 0.1, "-" = 0.01))
sim$add_mutant(name = "B",
epigenetic_rates = c("+-" = 0.02, "-+" = 0.01),
growth_rates = c("+" = 0.3, "-" = 0.1),
death_rates = c("+" = 0.1, "-" = 0.01))
sim$schedule_mutation(src = "A", dst = "B", time = 50)
sim$place_cell("A+", 500, 500)
sim$run_up_to_time(30)
#>
[████████████████████████████████████████] 100% [00m:00s] Saving snapshot
# collect all the cells in the tissue
sim$get_cells()
#> cell_id mutant epistate position_x position_y
#> 1 44 A - 499 502
#> 2 19 A - 500 500
#> 3 43 A - 500 501
#> 4 27 A - 500 503
#> 5 48 A + 501 498
#> 6 39 A + 501 499
#> 7 35 A - 501 501
#> 8 33 A - 501 502
#> 9 42 A - 501 503
#> 10 47 A + 502 498
#> 11 30 A - 502 499
#> 12 36 A - 502 500
#> 13 37 A - 502 502
#> 14 41 A - 502 503
#> 15 29 A - 503 499
#> 16 45 A - 503 502
#> 17 38 A - 503 503
#> 18 46 A - 504 502
# get the cells in the frame [495,505]x[490,500]
sim$get_cells(lower_corner=c(495,490), upper_corner=c(505,500))
#> cell_id mutant epistate position_x position_y
#> 1 19 A - 500 500
#> 2 48 A + 501 498
#> 3 39 A + 501 499
#> 4 47 A + 502 498
#> 5 30 A - 502 499
#> 6 36 A - 502 500
#> 7 29 A - 503 499
# cells can be filtered by mutant name...
sim$get_cells(mutant_filter=c("A"),epigenetic_filter=c("+","-"))
#> cell_id mutant epistate position_x position_y
#> 1 44 A - 499 502
#> 2 19 A - 500 500
#> 3 43 A - 500 501
#> 4 27 A - 500 503
#> 5 48 A + 501 498
#> 6 39 A + 501 499
#> 7 35 A - 501 501
#> 8 33 A - 501 502
#> 9 42 A - 501 503
#> 10 47 A + 502 498
#> 11 30 A - 502 499
#> 12 36 A - 502 500
#> 13 37 A - 502 502
#> 14 41 A - 502 503
#> 15 29 A - 503 499
#> 16 45 A - 503 502
#> 17 38 A - 503 503
#> 18 46 A - 504 502
# ...or by epigenetic state
sim$get_cells(mutant_filter=c("A","B"),epigenetic_filter=c("-"))
#> cell_id mutant epistate position_x position_y
#> 1 44 A - 499 502
#> 2 19 A - 500 500
#> 3 43 A - 500 501
#> 4 27 A - 500 503
#> 5 35 A - 501 501
#> 6 33 A - 501 502
#> 7 42 A - 501 503
#> 8 30 A - 502 499
#> 9 36 A - 502 500
#> 10 37 A - 502 502
#> 11 41 A - 502 503
#> 12 29 A - 503 499
#> 13 45 A - 503 502
#> 14 38 A - 503 503
#> 15 46 A - 504 502
# cells can be filtered by frame, mutant, and epigenetic states
sim$get_cells(lower_corner=c(495,495), upper_corner=c(505,505),
mutant_filter=c("A"),epigenetic_filter=c("+","-"))
#> cell_id mutant epistate position_x position_y
#> 1 44 A - 499 502
#> 2 19 A - 500 500
#> 3 43 A - 500 501
#> 4 27 A - 500 503
#> 5 48 A + 501 498
#> 6 39 A + 501 499
#> 7 35 A - 501 501
#> 8 33 A - 501 502
#> 9 42 A - 501 503
#> 10 47 A + 502 498
#> 11 30 A - 502 499
#> 12 36 A - 502 500
#> 13 37 A - 502 502
#> 14 41 A - 502 503
#> 15 29 A - 503 499
#> 16 45 A - 503 502
#> 17 38 A - 503 503
#> 18 46 A - 504 502