# See Table 1 in Krumsiek et al. (2011), p. 3 or                             
# Table 1, in Suppl. Mat. of Moignard et al. (2015), p. 28.
#
# For each "variable = ", there must be a right hand side: 
# either an empty string or a python-style logical expression 
# involving variable names, "or", "and", "(", ")". 
# The order of equations matters! 
# 
# modelType = hill
# invTimeStep = 0.02
# 
# boolean update rules:
Gata2 = Gata2 and not (Gata1 and Fog1) and not Pu.1
Gata1 = (Gata1 or Gata2 or Fli1) and not Pu.1
Fog1 = Gata1
EKLF = Gata1 and not Fli1
Fli1 = Gata1 and not EKLF
SCL = Gata1 and not Pu.1
Cebpa = Cebpa and not (Gata1 and Fog1 and SCL)
Pu.1 = (Cebpa or Pu.1) and not (Gata1 or Gata2)
cJun = Pu.1 and not Gfi1
EgrNab = (Pu.1 and cJun) and not Gfi1
Gfi1 = Cebpa and not EgrNab
# coupling list:
Gata2      Gata2                 1.0 
Gata2      Gata1                -0.1 
Gata2      Fog1                 -1.0 
Gata2      Pu.1                -1.15 
Gata1      Gata2                 1.0 
Gata1      Gata1                 0.1 
Gata1      Fli1                  1.0 
Gata1      Pu.1                -1.21 
Fog1       Gata1                 0.1 
EKLF       Gata1                 0.2 
EKLF       Fli1                 -1.0 
Fli1       Gata1                 0.2 
Fli1       EKLF                 -1.0 
SCL        Gata1                 1.0 
SCL        Pu.1                 -1.0 
Cebpa      Gata1                -1.0 
Cebpa      Fog1                 -1.0 
Cebpa      SCL                  -1.0 
Cebpa      Cebpa                10.0 
Pu.1       Gata2                -1.0 
Pu.1       Gata1                -1.0 
Pu.1       Cebpa                10.0 
Pu.1       Pu.1                 10.0 
cJun       Pu.1                  1.0 
cJun       Gfi1                 -1.0 
EgrNab     Pu.1                  1.0 
EgrNab     cJun                  1.0 
EgrNab     Gfi1                 -1.3 
Gfi1       Cebpa                 1.0 
Gfi1       EgrNab               -5.0 
