// Created by libAntimony v2.13.0
model *MODEL1501210000()

  // Compartments and Species:
  compartment cytosol;
  species Ca2_buff in cytosol, $Ca2_free in cytosol, cGMP in cytosol;
  substanceOnly species Arr in cytosol, Arr_di in cytosol, Arr_tetra in cytosol;
  substanceOnly species G_GTP in cytosol, Ga_GDP in cytosol, Ga_GTP in cytosol;
  substanceOnly species Ga_GTP_PDE_a_Ga_GTP in cytosol, Ga_GTP_a_PDE_a_Ga_GTP in cytosol;
  substanceOnly species Gbg in cytosol, Gt in cytosol, Ops in cytosol, Ops_G in cytosol;
  substanceOnly species Ops_G_GTP in cytosol, Ops_Gt in cytosol, PDE in cytosol;
  substanceOnly species PDE_Ga_GTP in cytosol, PDE_a_Ga_GTP in cytosol, R in cytosol;
  substanceOnly species R0 in cytosol, R0_G in cytosol, R0_G_GTP in cytosol;
  substanceOnly species R0_Gt in cytosol, R0_RKpre in cytosol, R1 in cytosol;
  substanceOnly species R1_Arr in cytosol, R1_G in cytosol, R1_G_GTP in cytosol;
  substanceOnly species R1_Gt in cytosol, R1_RKpost in cytosol, R1_RKpre in cytosol;
  substanceOnly species R2 in cytosol, R2_Arr in cytosol, R2_G in cytosol;
  substanceOnly species R2_G_GTP in cytosol, R2_Gt in cytosol, R2_RKpost in cytosol;
  substanceOnly species R2_RKpre in cytosol, R3 in cytosol, R3_Arr in cytosol;
  substanceOnly species R3_G in cytosol, R3_G_GTP in cytosol, R3_Gt in cytosol;
  substanceOnly species R3_RKpost in cytosol, R3_RKpre in cytosol, R4 in cytosol;
  substanceOnly species R4_Arr in cytosol, R4_G in cytosol, R4_G_GTP in cytosol;
  substanceOnly species R4_Gt in cytosol, R4_RKpost in cytosol, R4_RKpre in cytosol;
  substanceOnly species R5 in cytosol, R5_Arr in cytosol, R5_G in cytosol;
  substanceOnly species R5_G_GTP in cytosol, R5_Gt in cytosol, R5_RKpost in cytosol;
  substanceOnly species R5_RKpre in cytosol, R6 in cytosol, R6_Arr in cytosol;
  substanceOnly species R6_G in cytosol, R6_G_GTP in cytosol, R6_Gt in cytosol;
  substanceOnly species R6_RKpost in cytosol, R6_RKpre in cytosol, RGS in cytosol;
  substanceOnly species RGS_Ga_GTP_a_PDE_a_Ga_GTP in cytosol, RGS_PDE_a_Ga_GTP in cytosol;
  substanceOnly species RK in cytosol, R_Gt in cytosol, RecR_Ca in cytosol;
  substanceOnly species RecR_Ca_RK in cytosol, RecT in cytosol;

  // Assignment Rules:
  numConcFactor := 1/(6.022e5*Vcyto);
  background := flashBG;
  premag := flash0Mag/flash0Dur;
  mag := flashMag/flashDur;
  predur := flash0Dur;
  dur := flashDur;
  del := flashDel;
  preflash := piecewise(premag, time <= predur, 0);
  testflash := piecewise(mag, (time >= del) && (time <= (del + dur)), 0);
  stimulus := background + preflash + testflash + otherstimulus;
  kRK1_1 := kRK1_0*exp(-omega);
  kRK1_2 := kRK1_0*exp(-omega*2);
  kRK1_3 := kRK1_0*exp(-omega*3);
  kRK1_4 := kRK1_0*exp(-omega*4);
  kRK1_5 := kRK1_0*exp(-omega*5);
  kRK1_6 := 0;
  kA1_1 := kArr;
  kA1_2 := kArr + 1*m_Arr;
  kA1_3 := kArr + 2*m_Arr;
  kA1_4 := kArr + 3*m_Arr;
  kA1_5 := kArr + 3*m_Arr;
  kA1_6 := kArr + 3*m_Arr;
  kGpre1 := kG1_0*1.6;
  kGpre2 := kG2*315;
  kG1ops := kG1_0*1.9;
  kG2ops := kG2*3;
  kG1_1 := kG1_0*exp(-omega_G);
  kG1_2 := kG1_0*exp(-omega_G*2);
  kG1_3 := kG1_0*exp(-omega_G*3);
  kG1_4 := kG1_0*exp(-omega_G*4);
  kG1_5 := kG1_0*exp(-omega_G*5);
  kG1_6 := kG1_0*exp(-omega_G*6);
  E := PDE_a_Ga_GTP + 2*Ga_GTP_a_PDE_a_Ga_GTP + Ga_GTP_PDE_a_Ga_GTP;
  Ca2_frac := (Ca2_free - Ca2_0)/(Ca2dark - Ca2_0);
  J := (2/(2 + fCa))*(cGMP/cGMPdark)^ncg*Jdark + (fCa/(fCa + 2))*Ca2_frac*Jdark;
  deltaJ := Jdark - J;

  // Rate Rules:
  Ca2_free' = (-v_r33 - v_r34) + v_r35 - 2*v_r30*numConcFactor;

  // Reactions:
  v_r33: $Ca2_free -> Ca2_buff; k1*(eT - Ca2_buff)*Ca2_free - k2*Ca2_buff;
  v_r34: $Ca2_free => ; gammaCa*(Ca2_free - Ca2_0);
  v_r35:  => $Ca2_free; (1e6*fCa*Jdark/((2 + fCa)*F*Vcyto))*(cGMP/cGMPdark)^ncg;
  v_r30: RecT + $Ca2_free -> RecR_Ca; kRec1*RecT*Ca2_free - kRec2*RecR_Ca;
  v_r1: R => R0; stimulus*R/Rtot;
  v_rstprec: R_Gt => R0_Gt; stimulus*R_Gt/Rtot;
  v_r2_0: R0 + RK -> R0_RKpre; kRK1_0*RK*R0 - kRK2*R0_RKpre;
  v_r2_1: R1 + RK -> R1_RKpre; kRK1_1*RK*R1 - kRK2*R1_RKpre;
  v_r2_2: R2 + RK -> R2_RKpre; kRK1_2*RK*R2 - kRK2*R2_RKpre;
  v_r2_3: R3 + RK -> R3_RKpre; kRK1_3*RK*R3 - kRK2*R3_RKpre;
  v_r2_4: R4 + RK -> R4_RKpre; kRK1_4*RK*R4 - kRK2*R4_RKpre;
  v_r2_5: R5 + RK -> R5_RKpre; kRK1_5*RK*R5 - kRK2*R5_RKpre;
  v_r2_6: R6 + RK -> R6_RKpre; kRK1_6*RK*R6 - kRK2*R6_RKpre;
  v_r3_0: R0_RKpre => R1_RKpost; kRK3_ATP*R0_RKpre;
  v_r3_1: R1_RKpre => R2_RKpost; kRK3_ATP*R1_RKpre;
  v_r3_2: R2_RKpre => R3_RKpost; kRK3_ATP*R2_RKpre;
  v_r3_3: R3_RKpre => R4_RKpost; kRK3_ATP*R3_RKpre;
  v_r3_4: R4_RKpre => R5_RKpost; kRK3_ATP*R4_RKpre;
  v_r3_5: R5_RKpre => R6_RKpost; kRK3_ATP*R5_RKpre;
  v_r4_1: R1_RKpost => R1 + RK; kRK4*R1_RKpost;
  v_r4_2: R2_RKpost => R2 + RK; kRK4*R2_RKpost;
  v_r4_3: R3_RKpost => R3 + RK; kRK4*R3_RKpost;
  v_r4_4: R4_RKpost => R4 + RK; kRK4*R4_RKpost;
  v_r4_5: R5_RKpost => R5 + RK; kRK4*R5_RKpost;
  v_r4_6: R6_RKpost => R6 + RK; kRK4*R6_RKpost;
  v_r5_1: Arr + R1 -> R1_Arr; kA1_1*Arr*R1 - kA2*R1_Arr;
  v_r5_2: Arr + R2 -> R2_Arr; kA1_2*Arr*R2 - kA2*R2_Arr;
  v_r5_3: Arr + R3 -> R3_Arr; kA1_3*Arr*R3 - kA2*R3_Arr;
  v_r5_4: Arr + R4 -> R4_Arr; kA1_4*Arr*R4 - kA2*R4_Arr;
  v_r5_5: Arr + R5 -> R5_Arr; kA1_5*Arr*R5 - kA2*R5_Arr;
  v_r5_6: Arr + R6 -> R6_Arr; kA1_6*Arr*R6 - kA2*R6_Arr;
  v_r6_1: R1_Arr => Arr + Ops; kA3*R1_Arr;
  v_r6_2: R2_Arr => Arr + Ops; kA3*R2_Arr;
  v_r6_3: R3_Arr => Arr + Ops; kA3*R3_Arr;
  v_r6_4: R4_Arr => Arr + Ops; kA3*R4_Arr;
  v_r6_5: R5_Arr => Arr + Ops; kA3*R5_Arr;
  v_r6_6: R6_Arr => Arr + Ops; kA3*R6_Arr;
  v_r7_0: R0 => Ops; ktherm*R0;
  v_r7_1: R1 => Ops; ktherm*R1;
  v_r7_2: R2 => Ops; ktherm*R2;
  v_r7_3: R3 => Ops; ktherm*R3;
  v_r7_4: R4 => Ops; ktherm*R4;
  v_r7_5: R5 => Ops; ktherm*R5;
  v_r7_6: R6 => Ops; ktherm*R6;
  v_r8: Gt + Ops -> Ops_Gt; kG1ops*Ops*Gt - kG2ops*Ops_Gt;
  v_r9: Ops_Gt -> Ops_G; kOps*Ops_Gt - kG4_GDP*Ops_G;
  v_r10: Ops_G => Ops_G_GTP; kG5_GTP*Ops_G;
  v_r11: Ops_G_GTP => G_GTP + Ops; kG6*Ops_G_GTP;
  v_r12: Ops => R; kRrecyc*Ops;
  v_GtRpre: Gt + R -> R_Gt; kGpre1*Gt*R - kGpre2*R_Gt;
  v_r13_0: Gt + R0 -> R0_Gt; kG1_0*Gt*R0 - kG2*R0_Gt;
  v_r13_1: Gt + R1 -> R1_Gt; kG1_1*Gt*R1 - kG2*R1_Gt;
  v_r13_2: Gt + R2 -> R2_Gt; kG1_2*Gt*R2 - kG2*R2_Gt;
  v_r13_3: Gt + R3 -> R3_Gt; kG1_3*Gt*R3 - kG2*R3_Gt;
  v_r13_4: Gt + R4 -> R4_Gt; kG1_4*Gt*R4 - kG2*R4_Gt;
  v_r13_5: Gt + R5 -> R5_Gt; kG1_5*Gt*R5 - kG2*R5_Gt;
  v_r13_6: Gt + R6 -> R6_Gt; kG1_6*Gt*R6 - kG2*R6_Gt;
  v_r14_0: R0_Gt -> R0_G; kG3*R0_Gt - kG4_GDP*R0_G;
  v_r14_1: R1_Gt -> R1_G; kG3*R1_Gt - kG4_GDP*R1_G;
  v_r14_2: R2_Gt -> R2_G; kG3*R2_Gt - kG4_GDP*R2_G;
  v_r14_3: R3_Gt -> R3_G; kG3*R3_Gt - kG4_GDP*R3_G;
  v_r14_4: R4_Gt -> R4_G; kG3*R4_Gt - kG4_GDP*R4_G;
  v_r14_5: R5_Gt -> R5_G; kG3*R5_Gt - kG4_GDP*R5_G;
  v_r14_6: R6_Gt -> R6_G; kG3*R6_Gt - kG4_GDP*R6_G;
  v_r15_0: R0_G => R0_G_GTP; kG5_GTP*R0_G;
  v_r15_1: R1_G => R1_G_GTP; kG5_GTP*R1_G;
  v_r15_2: R2_G => R2_G_GTP; kG5_GTP*R2_G;
  v_r15_3: R3_G => R3_G_GTP; kG5_GTP*R3_G;
  v_r15_4: R4_G => R4_G_GTP; kG5_GTP*R4_G;
  v_r15_5: R5_G => R5_G_GTP; kG5_GTP*R5_G;
  v_r15_6: R6_G => R6_G_GTP; kG5_GTP*R6_G;
  v_r16_0: R0_G_GTP => G_GTP + R0; kG6*R0_G_GTP;
  v_r16_1: R1_G_GTP => G_GTP + R1; kG6*R1_G_GTP;
  v_r16_2: R2_G_GTP => G_GTP + R2; kG6*R2_G_GTP;
  v_r16_3: R3_G_GTP => G_GTP + R3; kG6*R3_G_GTP;
  v_r16_4: R4_G_GTP => G_GTP + R4; kG6*R4_G_GTP;
  v_r16_5: R5_G_GTP => G_GTP + R5; kG6*R5_G_GTP;
  v_r16_6: R6_G_GTP => G_GTP + R6; kG6*R6_G_GTP;
  v_r17: G_GTP => Ga_GTP + Gbg; kG7*G_GTP;
  v_r18: Ga_GTP + PDE -> PDE_Ga_GTP; kP1*PDE*Ga_GTP - kP1_rev*PDE_Ga_GTP;
  v_r19: PDE_Ga_GTP => PDE_a_Ga_GTP; kP2*PDE_Ga_GTP;
  v_r20: Ga_GTP + PDE_a_Ga_GTP => Ga_GTP_PDE_a_Ga_GTP; kP3*PDE_a_Ga_GTP*Ga_GTP;
  v_r21: Ga_GTP_PDE_a_Ga_GTP => Ga_GTP_a_PDE_a_Ga_GTP; kP4*Ga_GTP_PDE_a_Ga_GTP;
  v_r22: Ga_GTP_a_PDE_a_Ga_GTP + RGS => RGS_Ga_GTP_a_PDE_a_Ga_GTP; kRGS1*RGS*Ga_GTP_a_PDE_a_Ga_GTP;
  v_r23: RGS_Ga_GTP_a_PDE_a_Ga_GTP => Ga_GDP + PDE_a_Ga_GTP + RGS; kRGS2*RGS_Ga_GTP_a_PDE_a_Ga_GTP;
  v_r24: PDE_a_Ga_GTP + RGS => RGS_PDE_a_Ga_GTP; kRGS1*RGS*PDE_a_Ga_GTP;
  v_r25: RGS_PDE_a_Ga_GTP => Ga_GDP + PDE + RGS; kRGS2*RGS_PDE_a_Ga_GTP;
  v_r26: PDE_a_Ga_GTP => Ga_GDP + PDE; kPDEshutoff*PDE_a_Ga_GTP;
  v_r27: Ga_GTP_a_PDE_a_Ga_GTP => Ga_GDP + PDE_a_Ga_GTP; kPDEshutoff*Ga_GTP_a_PDE_a_Ga_GTP;
  v_r28: Ga_GTP => Ga_GDP; kGshutoff*Ga_GTP;
  v_r29: Ga_GDP + Gbg => Gt; kGrecyc*Gbg*Ga_GDP;
  v_r31: RK + RecR_Ca -> RecR_Ca_RK; kRec3*RecR_Ca*RK - kRec4*RecR_Ca_RK;
  v_r_diarr: 2 Arr -> Arr_di; kA4*Arr*Arr - kA5*Arr_di;
  v_r_tetraarr: 2 Arr_di -> Arr_tetra; kA4*Arr_di*Arr_di - kA5*Arr_tetra;
  v_r36:  => cGMP; alfamax/(1 + (Ca2_free/Kc1)^m1) + alfamax/(1 + (Ca2_free/Kc2)^m2);
  v_r37: cGMP => ; (betadark + betasub*E)*cGMP;

  // Species initializations:
  Arr = 1260760/cytosol;
  Arr_di = 1123300/cytosol;
  Arr_tetra = 891810/cytosol;
  Ca2_buff = 19.2199;
  Ca2_free = 0.25;
  G_GTP = 0;
  Ga_GDP = 0;
  Ga_GTP = 0;
  Ga_GTP_PDE_a_Ga_GTP = 0;
  Ga_GTP_a_PDE_a_Ga_GTP = 0;
  Gbg = 0;
  Gt = 8152500/cytosol;
  Ops = 0;
  Ops_G = 0;
  Ops_G_GTP = 0;
  Ops_Gt = 0;
  PDE = 2000000/cytosol;
  PDE_Ga_GTP = 0;
  PDE_a_Ga_GTP = 0;
  R = 98152500/cytosol;
  R0 = 0;
  R0_G = 0;
  R0_G_GTP = 0;
  R0_Gt = 0;
  R0_RKpre = 0;
  R1 = 0;
  R1_Arr = 0;
  R1_G = 0;
  R1_G_GTP = 0;
  R1_Gt = 0;
  R1_RKpost = 0;
  R1_RKpre = 0;
  R2 = 0;
  R2_Arr = 0;
  R2_G = 0;
  R2_G_GTP = 0;
  R2_Gt = 0;
  R2_RKpost = 0;
  R2_RKpre = 0;
  R3 = 0;
  R3_Arr = 0;
  R3_G = 0;
  R3_G_GTP = 0;
  R3_Gt = 0;
  R3_RKpost = 0;
  R3_RKpre = 0;
  R4 = 0;
  R4_Arr = 0;
  R4_G = 0;
  R4_G_GTP = 0;
  R4_Gt = 0;
  R4_RKpost = 0;
  R4_RKpre = 0;
  R5 = 0;
  R5_Arr = 0;
  R5_G = 0;
  R5_G_GTP = 0;
  R5_Gt = 0;
  R5_RKpost = 0;
  R5_RKpre = 0;
  R6 = 0;
  R6_Arr = 0;
  R6_G = 0;
  R6_G_GTP = 0;
  R6_Gt = 0;
  R6_RKpost = 0;
  R6_RKpre = 0;
  RGS = 100000/cytosol;
  RGS_Ga_GTP_a_PDE_a_Ga_GTP = 0;
  RGS_PDE_a_Ga_GTP = 0;
  RK = 580/cytosol;
  R_Gt = 1847500/cytosol;
  RecR_Ca = 510930/cytosol;
  RecR_Ca_RK = 199420/cytosol;
  RecT = 9289650/cytosol;
  cGMP = 6.4944;

  // Compartment initializations:
  cytosol = 0.03916;

  // Variable initializations:
  Rtot = 100000000;
  PDEtot = 2000000;
  Gtot = 10000000;
  RGStot = 100000;
  ArrTot = 7074600;
  flashBG = 0;
  flash0Dur = 0.001;
  flash0Mag = 0;
  flashDel = 0;
  flashDur = 0.001;
  flashMag = 0;
  otherstimulus = 0;
  kRK1_0 = 0.1724;
  omega = 2.5;
  kRK2 = 250;
  kRK3_ATP = 4000;
  kRK4 = 250;
  kArr = 9.9147e-06;
  kA2 = 0.026;
  m_Arr = 9.5475e-06;
  kA3 = 1.1651;
  kA4 = 2.9965e-07;
  kA5 = 0.424;
  kOps = 6.1172e-13;
  kRrecyc = 0.0007;
  omega_G = 0.6;
  kG1_0 = 0.001;
  kG2 = 2200;
  kG3 = 8500;
  kG4_GDP = 400;
  kG5_GTP = 3500;
  kG6 = 8500;
  kG7 = 200;
  kGrecyc = 2;
  kGshutoff = 0.05;
  kP1 = 0.05497;
  kP1_rev = 0;
  kP2 = 940.7;
  kP3 = 1.4983e-09;
  kP4 = 21.088;
  kPDEshutoff = 0.1;
  kRGS1 = 4.8182e-05;
  kRGS2 = 98;
  kRec1 = 0.011;
  kRec2 = 0.05;
  kRec3 = 0.00041081;
  kRec4 = 0.610084;
  Vcyto = 0.03916;
  Kc1 = 0.171;
  Kc2 = 0.059;
  m1 = 3;
  m2 = 1.5;
  alfamax = 60;
  betadark = 3.19;
  betasub = 0.0021826;
  fCa = 0.12;
  Jdark = 14.87;
  F = 96485.34;
  cGMPdark = 6.4944;
  ncg = 3.8;
  gammaCa = 981.3558;
  Ca2dark = 0.25;
  Ca2_0 = 0.023;
  k1 = 9.37059;
  k2 = 46.412;
  eT = 400;
  ktherm = 0.0238;

  // Other declarations:
  var numConcFactor, background, premag, mag, predur, dur, del, preflash;
  var testflash, stimulus, kRK1_1, kRK1_2, kRK1_3, kRK1_4, kRK1_5, kRK1_6;
  var kA1_1, kA1_2, kA1_3, kA1_4, kA1_5, kA1_6, kGpre1, kGpre2, kG1ops, kG2ops;
  var kG1_1, kG1_2, kG1_3, kG1_4, kG1_5, kG1_6, E, Ca2_frac, J, deltaJ;
  const cytosol, Rtot, PDEtot, Gtot, RGStot, ArrTot, flashBG, flash0Dur, flash0Mag;
  const flashDel, flashDur, flashMag, otherstimulus, kRK1_0, omega, kRK2;
  const kRK3_ATP, kRK4, kArr, kA2, m_Arr, kA3, kA4, kA5, kOps, kRrecyc, omega_G;
  const kG1_0, kG2, kG3, kG4_GDP, kG5_GTP, kG6, kG7, kGrecyc, kGshutoff, kP1;
  const kP1_rev, kP2, kP3, kP4, kPDEshutoff, kRGS1, kRGS2, kRec1, kRec2, kRec3;
  const kRec4, Vcyto, Kc1, Kc2, m1, m2, alfamax, betadark, betasub, fCa, Jdark;
  const F, cGMPdark, ncg, gammaCa, Ca2dark, Ca2_0, k1, k2, eT, ktherm;

  // SBO terms:
  cytosol.sboTerm = 290
end

MODEL1501210000 is "Invergo2014 - Phototransduction cascade in mouse rod cells"

MODEL1501210000 model_entity_is "http://identifiers.org/biomodels.db/MODEL1501210000"
MODEL1501210000 model_entity_is "http://identifiers.org/biomodels.db/BIOMD0000000578"
MODEL1501210000 description "http://identifiers.org/pubmed/24675755"
MODEL1501210000 origin "http://identifiers.org/pubmed/21843151"
MODEL1501210000 taxon "http://identifiers.org/taxonomy/10090"
MODEL1501210000 container "http://identifiers.org/fma/FMA:67747"
MODEL1501210000 hypernym "http://identifiers.org/go/GO:0007602"
MODEL1501210000 property "http://identifiers.org/mamo/MAMO_0000046"
