Clone Competition Simulation
Python3 simulations of clone competition during ongoing mutagenesis.
This documentation contains a series of guides demonstrating how to run the simulations with various options and view the results.
Guides
Installation
- Requirements and installation
Introduction
- A guide to the basics of running a simulation and viewing the results
Algorithms
- A brief description of the various algorithms that can be run
Simulation Length
- Altering division rate, simulation length and sampling times
Defining Initial Clone Sizes
- A guide to the various methods of defining the initial clones in a simulation
Defining Initial Clone Fitness
- A very brief guide to the
initial_fitness_arrayargument of the Parameters class
Lineage Tracing Simulations
- How to set up simulations of lineage tracing experiments
- How to introduce inheritable labels into simulations
Mutations
- How to run simulations with randomly occurring mutations
- The basics of defining "genes" and the fitness effects of mutations
- dN/dS ratios
Mutations2
- How to extract mutant clone sizes from simulations
- Muller plots
- Incomplete moment plots
Mutations3
- More complex methods to define clone fitness
- How the fitness effects of multiple mutations are combined
- Multiple genes and epistatic effects
- Diminishing returns
Custom Rules
- How to insert custom rules for cell competition into the simulation algorithms
Simulating Biopsies
- Counting clone sizes in biopsies taken from 2D simulations
- Simulating sequencing with a lower limit of detection and fixed or random read depth
- Merging mutations found in multiple biopsies
- dN/dS calculation on the "sequencing" results
Animation
- Creating videos of the simulations
- Colouring using the fitness of cells instead of the clone
Plot and Animation Colours
- How to define colours for the Muller plots and animations
- Setting colours based on clone properties, such as fitness, genes mutated and labels
- Changing colour schemes
Early Stopping Conditions
- Ending a simulation once a certain condition has been reached instead of running until the max_time
- A few examples showing how to define the end conditions
Differentiated Cells
- Simulating differentiated cells for the Branching, Moran and Moran2D algorithms
- These have no effect on the actions of proliferating cells and have no physical position in the Moran2D
- How to get proliferative cell only and total basal clone sizes
Treatments
- Simulating changes to the competitive environment, e.g. the application of drugs
- How to apply treatments affecting initial clones (e.g. for lineage tracing) or for acquired mutations.
Storing And Loading Simulations
- How to save and load simulation objects using pickle
Config Files
- Using a yml file to define simulation parameters