Ising ring - RuleBase

Ising ring

Author: Vincent Danos
tags: none

Below is a model of a ring of 34 protomers, P, with two conformations - depending on the binding of CheY to P, the probabilities of P being in one or the other of these two states will vary; another feature of the model is that Ps tend to align to their neighbours.

Agent signatures:

%agent:CheY(s~u~p)
%agent:P(f~0~1,s,x,y)

Initial ring (uses a script for generating the ring/could also build it) and number of CheYs:

%init: 1 (P(f~0,s,x!0,y!1), P(f~0,s,x!1,y!2), P(f~0,s,x!2,y!3), P(f~0,s,x!3,y!4), P(f~0,s,x!4,y!5), P(f~0,s,x!5,y!6), P(f~0,s,x!6,y!7), P(f~0,s,x!7,y!8), P(f~0,s,x!8,y!9), P(f~0,s,x!9,y!10), P(f~0,s,x!10,y!11), P(f~0,s,x!11,y!12), P(f~0,s,x!12,y!13), P(f~0,s,x!13,y!14), P(f~0,s,x!14,y!15), P(f~0,s,x!15,y!16), P(f~0,s,x!16,y!17), P(f~0,s,x!17,y!18), P(f~0,s,x!18,y!19), P(f~0,s,x!19,y!20), P(f~0,s,x!20,y!21), P(f~0,s,x!21,y!22), P(f~0,s,x!22,y!23), P(f~0,s,x!23,y!24), P(f~0,s,x!24,y!25), P(f~0,s,x!25,y!26), P(f~0,s,x!26,y!27), P(f~0,s,x!27,y!28), P(f~0,s,x!28,y!29), P(f~0,s,x!29,y!30), P(f~0,s,x!30,y!31), P(f~0,s,x!31,y!32), P(f~0,s,x!32,y!33), P(f~0,s,x!33,y!0))

%init: 30 (CheY(s~u))

Observations:

%obs: 'black' P(f~0)
%obs: 'Yps' CheY(s~p?)
%var: '01' P(f~0,y!1),P(x!1,f~1)
%var: '10' P(f~1,y!1),P(x!1,f~0)
%obs: 'mismatch' '01' + '10'

Result of simulation with introduction of CheYp at t=100 et subtraction at t=200:

Download View code
# 10 reversible rules 
## 2 binds 
### P-CheY binding: CheY needs to be pho'ed & prefers conformation P(f~1) by a factor of 10 
'bind 0' P(f~0,s), CheY(s~p) -> P(f~0,s!1), CheY(s~p!1)@1
'unbind 0' P(f~0,s!1), CheY(s~p!1) -> P(f~0,s), CheY(s~p)@10 

'bind 1' P(f~1,s), CheY(s~p) -> P(f~1,s!1), CheY(s~p!1)@1
'unbind 1' P(f~1,s!1), CheY(s~p!1) -> P(f~1,s), CheY(s~p)@1

## 8 flips (aka conformational change) 
### 4 P flips without CheY - note that P(f~0) is favoured 2/1 
'flip 000'  P(f~0,y!1),P(x!1,f~0,y!2,s),P(x!2,f~0) -> P(f~0,y!1),P(x!1,f~1,y!2,s),P(x!2,f~0)@1
'bflip 000' P(f~0,y!1),P(x!1,f~1,y!2,s),P(x!2,f~0) -> P(f~0,y!1),P(x!1,f~0,y!2,s),P(x!2,f~0)@200 

'flip 100'  P(f~1,y!1),P(x!1,f~0,y!2,s),P(x!2,f~0) -> P(f~1,y!1),P(x!1,f~1,y!2,s),P(x!2,f~0)@1
'bflip 100' P(f~1,y!1),P(x!1,f~1,y!2,s),P(x!2,f~0) -> P(f~1,y!1),P(x!1,f~0,y!2,s),P(x!2,f~0)@2 

'flip 001'  P(f~0,y!1),P(x!1,f~0,y!2,s),P(x!2,f~1) -> P(f~0,y!1),P(x!1,f~1,y!2,s),P(x!2,f~1)@1
'bflip 001' P(f~0,y!1),P(x!1,f~1,y!2,s),P(x!2,f~1) -> P(f~0,y!1),P(x!1,f~0,y!2,s),P(x!2,f~1)@2 

'flip 101'  P(f~1,y!1),P(x!1,f~0,y!2,s),P(x!2,f~1) -> P(f~1,y!1),P(x!1,f~1,y!2,s),P(x!2,f~1)@100
'bflip 101' P(f~1,y!1),P(x!1,f~1,y!2,s),P(x!2,f~1) -> P(f~1,y!1),P(x!1,f~0,y!2,s),P(x!2,f~1)@2

### 4 P flips with CheY - note that all forwards are multiplied by 10 
'flip 000b'  P(f~0,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~0) -> P(f~0,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~0)@10
'bflip 000b' P(f~0,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~0) -> P(f~0,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~0)@200 

'flip 100b'  P(f~1,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~0) -> P(f~1,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~0)@10
'bflip 100b' P(f~1,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~0) -> P(f~1,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~0)@2 

'flip 001b'  P(f~0,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~1) -> P(f~0,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~1)@10
'bflip 001b' P(f~0,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~1) -> P(f~0,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~1)@2 

'flip 101b'  P(f~1,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~1) -> P(f~1,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~1)@1000
'bflip 101b' P(f~1,y!1),P(x!1,f~1,y!2,s!_),P(x!2,f~1) -> P(f~1,y!1),P(x!1,f~0,y!2,s!_),P(x!2,f~1)@2

# 2 rules to simulate incoming signals

'on'  CheY(s~u) -> CheY(s~p)@0
'off' CheY(s~u) -> CheY(s~p)@0