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_array argument 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