Clone Competition Simulation

Python3 simulations of clone competition during ongoing mutagenesis.

This documentation contains a series of guides demonstrating how to run the simulations in this repository and view the results.

Guides

These are roughly in order of simple to complicated, and useful to less useful.

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
  • Printing simulation progress

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

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

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