Skip to content
All work
  • NTNU
  • TMA4320 Introduction to Scientific Computing
  • Group of 3
  • Grade A

Stochastic Simulation of Interacting Motor Proteins

Inside every cell, tiny proteins carry cargo along fibres, even though each step they take is random. We simulated how this works, checked the simulation against theory, and looked at what happens when the proteins start getting in each other's way.

Team
Group of 3, with Andrine Holen and Emily Ann Mercer. We each worked through every task, compared approaches and results, and then split the final write-up.
Period
Mar 2026
Status
Completed
Grade
A
Tools
Python · NumPy · SciPy · matplotlib

Problem

Each step a motor protein takes is random, yet together they produce directed transport. A standard model: particles that switch between a flat potential and an asymmetric sawtooth potential, a flashing ratchet. In a real cell they also compete for space and block each other.

Technical skills

  • Monte Carlo simulation of random walks
  • Statistical physics: Boltzmann distribution and diffusion
  • Modelling interacting particles with periodic boundary conditions
  • Comparing simulations with analytical results (error functions, numerical integration with SciPy)
  • Parameter sweeps and data visualisation with NumPy and matplotlib
  • Handling numerical overflow in exponentials

Approach

  1. Random walk with physics

    Step probabilities follow the Boltzmann distribution of the potential.

  2. Hard-core interactions

    Particles cannot overlap, so they block each other.

  3. Flashing ratchet

    Switch the potential on and off and measure the net particle current.

  4. Validate against theory

    Compare simulated currents with an analytical formula, and find where it stops being valid.

Results

Particles moving over time
Positions of 20 interacting particles over time, moving in small jumps and sometimes blocked.
Simulation vs theory
Simulated and analytical current against the asymmetry of the potential: the two curves almost overlap.
Left: each line is one particle moving over time; flat parts are where it is blocked by a neighbour. Right: the simulated current (one curve) closely follows the theoretical prediction (the other), which shows that the simulation behaves as it should.[Notebook figure]

The full notebook with all simulations and plots is on GitHub.

See the project on GitHub (opens in new tab)