Lesson 1 of 20
A gene is a switch — how one cell becomes a handful of numbers
State vectors and 2ⁿ
To put a cell into a computer you first have to decide what to throw away. Protein shape, concentration, location inside the cell, time delays — all of it matters, and if you keep all of it you can compute nothing at all.
Boolean networks are bold about this. One gene becomes one switch.
| A real cell | The model |
|---|---|
| Expression from 0 to tens of thousands of copies | 0 or 1 |
| Continuous time | t = 0, 1, 2, … — a ticking clock |
| Fluctuates stochastically | Moves strictly by the rules |
It looks far too crude, and yet this model is surprisingly good at predicting which state a cell settles into. What decides a cell's fate is very often whether a gene is on or off rather than the exact size of its expression.
bn is the toolbox you will use all the way through this course. It is already inside your browser.
Python
Runs in your browser
The counting order is just binary counting — 0000, 0001, 0010, …
Python
Runs in your browser
🎮 Switch bench
Press the switches yourself. Turn up the gene count as well, and watch how fast the number of states grows.
🤔 Check yourself
How big is the state space of a Boolean network with 6 genes?
Answer Each gene is either 0 or 1, so 2×2×2×2×2×2 = 2⁶ = 64. Not 6²=36 and not 6!=720 — each gene takes its two values independently.
🤔 Check yourself
What does it mean that a Boolean model sees expression as only 0 or 1?
Answer It is a decision the model makes about how to look, not a claim about the cell. In exchange for throwing that away you gain the ability to compute every state exhaustively.
🤔 Check yourself
In this course, what does 'the state of the cell' refer to?
Answer One state vector is one cell. You will be rolling that single row forward for the next twenty lessons.