using ModelingToolkit
using OrdinaryDiffEq, DiffEqCallbacks
using Plots
using CSV
using DataFrames
using Dates
using CaMKIIModel
using CaMKIIModel: second, μM
Plots.default(lw=1.5)ROS effects
Setup model
sys = build_neonatal_ecc_sys(simplify=true, reduce_iso=true, reduce_camk=true)
tend = 205second
prob = ODEProblem(sys, [], tend)
stimstart = 30second
stimend = 120second
@unpack Istim = sys
callback = build_stim_callbacks(Istim, stimend; period=1second, starttime=stimstart)
alg = KenCarp47()KenCarp47(; linsolve = nothing, nlsolve = OrdinaryDiffEqNonlinearSolve.NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}, Nothing}(1//100, 10, 1//5, 1//5, false, true, nothing), precs = DEFAULT_PRECS, smooth_est = true, extrapolant = linear, controller = PI, autodiff = ADTypes.AutoForwardDiff(),)
Comparisons
@time sol = solve(prob, alg; callback) 4.827043 seconds (11.91 M allocations: 601.795 MiB, 2.91% gc time, 86.23% compilation time)
retcode: Success
Interpolation: 3rd order Hermite
t: 4020-element Vector{Float64}:
0.0
0.019333125036189135
0.09098129266634847
0.2073558192440938
0.45611905918185225
1.0472561699066012
2.034266647380669
3.451776427609829
6.733791989961038
12.450116263175316
⋮
153105.79419874662
157632.10459082667
163094.44413596718
168819.3462643782
175121.3404167099
182484.30738605672
189876.83225674296
197903.87397558178
205000.0
u: 4020-element Vector{Vector{Float64}}:
[150952.75035000002, 13838.37602, -68.79268, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113 … 0.26081, 0.00977, 0.00188, 0.09243, 0.22156, 0.966, 0.00702, 830.0, 830.0, 0.0026]
[150952.7504077194, 13838.375711519522, -68.79732946230298, 0.12113191852582894, 0.12113014215363435, 0.12113000811850629, 0.12113000037367251, 0.12113000001389385, 0.12113000000038378, 0.12113000000000405 … 0.2608055799108062, 0.009769882842059355, 0.001879826176063952, 0.09242766669597557, 0.22156399388113623, 0.9660018276404354, 0.007020208561337872, 829.9999654017552, 829.9994975880237, 0.002598565958899963]
[150952.75062244057, 13838.374513299239, -68.81607005191516, 0.12115248970118196, 0.1211362425322048, 0.12113143375859055, 0.12113027926808573, 0.12113004704056185, 0.12113000693480994, 0.12113000089551389 … 0.26078941009444856, 0.009769459049748559, 0.0018789042446954408, 0.09241901973935228, 0.22157879451042628, 0.9660085993316152, 0.007020089860306167, 829.9998348635114, 829.9976422525888, 0.0025933105248854755]
[150952.75097402377, 13838.372555328504, -68.84681913016406, 0.12118951551659114, 0.12115723909937218, 0.12114109135468039, 0.12113403405625273, 0.12113131833041359, 0.12113038966338784, 0.12113010483009534 … 0.26076387070239837, 0.009768805322611648, 0.0018766436939500898, 0.0924049756352414, 0.2216028323583001, 0.9660195931783199, 0.007017234889934603, 829.9996133960518, 829.994650615981, 0.0025849478342343003]
[150952.75173733698, 13838.368384399799, -68.91207315641022, 0.12125418994387863, 0.12120713812645283, 0.12117519662003212, 0.12115494410637355, 0.12114295934129514, 0.12113633873221374, 0.12113292110192488 … 0.26071223836757207, 0.009767542947102269, 0.0018699196276109342, 0.09237495783324366, 0.22165420751509649, 0.9660430730972362, 0.007003014308459902, 829.9990964775621, 829.988344553044, 0.0025677078039993283]
[150952.7536153353, 13838.35855929409, -69.06429957869561, 0.12136450206928298, 0.12130632550551596, 0.12125925927771784, 0.12122229799402218, 0.12119414514255993, 0.12117335984945683, 0.12115849268947793 … 0.2606050783338445, 0.009765228548992247, 0.0018505337735948652, 0.09230364341434424, 0.22177624782601593, 0.9660987611295794, 0.006946470410797191, 829.9976227532394, 829.9738229183572, 0.0025298083788575705]
[150952.75694915676, 13838.342403295292, -69.31024282857501, 0.12149196511970106, 0.12142927819778737, 0.12137426378703478, 0.12132672247869893, 0.1212862809045654, 0.12125242556881116, 0.12122454121012068 … 0.2604711491247151, 0.00976340307695454, 0.0018178174457210692, 0.09218462778413179, 0.2219798988931877, 0.9661914345838197, 0.0068337541864747905, 829.9944193672545, 829.9509077882478, 0.0024748079842550523]
[150952.7621562011, 13838.31972312405, -69.6463744385697, 0.12162015425254309, 0.12155743298067635, 0.1214998898139605, 0.12144759469396454, 0.12140052117081253, 0.12135855486728582, 0.12132150440206332 … 0.260364872984163, 0.009765046552185823, 0.0017738156970858972, 0.09201383582103524, 0.22227216393618593, 0.9663239342804539, 0.006675512085568874, 829.988353326151, 829.9205247588947, 0.002410689405003596]
[150952.775988694, 13838.26949390594, -70.35063780004249, 0.1218044794708126, 0.12174768441638649, 0.12169340182120132, 0.12164180993517575, 0.12159304918027178, 0.1215472228133069, 0.12150439831755229 … 0.2604150766477604, 0.009786689195736801, 0.0016855899200154505, 0.09161908334733312, 0.22294828820039625, 0.9666286957411055, 0.006355039752058078, 829.9689941847354, 829.8589858081657, 0.0023106557375668943]
[150952.805292636, 13838.188823477813, -71.35304497334123, 0.1219637836290695, 0.12191937751661326, 0.12187579036470503, 0.12183318571381517, 0.121791716909196, 0.12175152664970906, 0.12171274671582151 … 0.2610441779341529, 0.009873892897153878, 0.0015688569001333977, 0.0909342247513693, 0.22412560286423527, 0.9671554511479012, 0.005926150137179693, 829.9235249884752, 829.7704141511887, 0.0022289950468852237]
⋮
[151183.03036529638, 13610.022044853084, -70.43523697223861, 0.13696767351035782, 0.13696769836238762, 0.13696771875920422, 0.13696773461998, 0.13696774586060406, 0.13696775239351455, 0.1369677541275212 … 0.0011149986926817373, 0.001567008852185662, 0.0024256433807238347, 0.0015098982643737835, 0.9995947835650464, 0.9997478694834767, 0.006283857110167613, 784.9060077282088, 784.5419653252286, 0.002043321057590503]
[151210.74072946978, 13582.33955178273, -70.38271133168404, 0.1366679426281205, 0.1366681206754844, 0.13666829668348715, 0.13666847064793908, 0.13666864256447336, 0.13666881242853748, 0.13666898023538304 … 0.0011241658532071307, 0.0015731426118931894, 0.002435131050381579, 0.001521421640596286, 0.9997003621130545, 0.9997449900863719, 0.006306342142624286, 784.9811487418409, 784.6212887493214, 0.0020280263727081443]
[151243.43252745448, 13549.711394181126, -70.32198600035196, 0.13627807587871602, 0.13627833775863823, 0.13627859901034667, 0.13627885967333997, 0.13627911978871074, 0.13627937939922688, 0.136279638549418 … 0.0011348310949877674, 0.0015802626138797864, 0.002446145706881954, 0.0015348071229418336, 0.999732729529075, 0.9997416251551571, 0.0063324368856339085, 784.7531673045959, 784.3992093288501, 0.0020001432920668575]
[151276.8389816381, 13516.386701209054, -70.26035184767488, 0.1358623040921152, 0.13586260003410408, 0.13586289602394605, 0.13586319212091066, 0.13586348838666318, 0.13586378488538672, 0.13586408168391198 … 0.0011457341595151507, 0.0015875213114292736, 0.0024573757375321915, 0.0015484859417738029, 0.9997378185406958, 0.9997381673429069, 0.006359031850928372, 784.3454755370917, 783.9980020458861, 0.001966745863106567]
[151312.62662085783, 13480.69526545719, -70.19422990667488, 0.13541072122990433, 0.13541102838208247, 0.13541133592974428, 0.13541164394113103, 0.13541195248724291, 0.1354122616419798, 0.13541257148229058 … 0.0011575026998721586, 0.0015953420316488093, 0.0024694800376634956, 0.001563281426100614, 0.9997359908327582, 0.9997344074837536, 0.006387686687187911, 783.8157894322301, 783.475411670274, 0.0019289532739572772]
[151353.168648772, 13440.267111404311, -70.11887157053778, 0.13489908829409547, 0.1348993951967785, 0.13489970269187473, 0.134900010851441, 0.13490031975044678, 0.13490062946692394, 0.13490094008212405 … 0.0011711189592636764, 0.0016043017711673498, 0.0024833465724007613, 0.0015803057678606429, 0.9997320099848939, 0.9997300569871957, 0.006420500677868858, 783.1593388882824, 782.8269825655971, 0.0018856075869794838]
[151392.53962341367, 13401.009119123859, -70.04507729461037, 0.13440550573049137, 0.13440580727306445, 0.13440610951990933, 0.13440641254424945, 0.13440671642226637, 0.13440702123325465, 0.13440732705978084 … 0.0011846224593029468, 0.0016131219685822165, 0.002496999416572139, 0.0015971501680949569, 0.9997277178726369, 0.999725727746892, 0.006452795857879462, 782.4907292664657, 782.166057761937, 0.0018438347010203838]
[151433.82819449092, 13359.840452920409, -69.96695314811443, 0.13389273241934962, 0.13389302636769654, 0.13389332109994945, 0.13389361668945135, 0.13389391321250962, 0.1338942107485476, 0.13389450938026484 … 0.001199023915005715, 0.0016225190998049599, 0.0025115360514170078, 0.001615172045810282, 0.9997230495082307, 0.9997210699075798, 0.006487161941589742, 781.7678388399579, 781.4510794933085, 0.0018007052849981808]
[151469.1038717779, 13324.668033358099, -69.89959397327453, 0.13345900683615955, 0.13345929346774404, 0.1334595809398294, 0.13345986932545034, 0.13346015870059372, 0.13346044914434915, 0.1334607407390689 … 0.0012115251617240044, 0.001630659032804675, 0.0025241360830704543, 0.0016308711891528079, 0.9997189539610536, 0.9997169900953942, 0.00651693850411754, 781.1360723769515, 780.8259455784197, 0.0017645053340588296]
ROS (H2O2) 0.1uM
prob2 = remake(prob, p=[sys.ROS => 0.1μM])
@time sol2 = solve(prob2, alg; callback) 0.676956 seconds (40.41 k allocations: 8.517 MiB)
retcode: Success
Interpolation: 3rd order Hermite
t: 4020-element Vector{Float64}:
0.0
0.019333125036189194
0.09098129266634876
0.20735581924409444
0.45611905918185364
1.0472561699066043
2.034266647380675
3.451776427609839
6.733791989961056
12.45011626317535
⋮
152359.01438236993
156668.9211667138
161940.27506475517
169000.24044759248
176060.2058304298
184196.50875623393
192582.80394366937
201744.25218015595
205000.0
u: 4020-element Vector{Vector{Float64}}:
[150952.75035000002, 13838.37602, -68.79268, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113 … 0.26081, 0.00977, 0.00188, 0.09243, 0.22156, 0.966, 0.00702, 830.0, 830.0, 0.0026]
[150952.7504077194, 13838.375711519522, -68.79732946230298, 0.12113191852582894, 0.12113014215363435, 0.12113000811850629, 0.12113000037367251, 0.12113000001389385, 0.12113000000038378, 0.12113000000000405 … 0.2608055799108062, 0.009769882842059355, 0.001879826176063952, 0.09242766669597557, 0.22156399388113623, 0.9660018276404354, 0.007020208561337872, 829.9999654017552, 829.9994975880237, 0.002598565958899963]
[150952.75062244057, 13838.374513299239, -68.81607005191516, 0.12115248970118196, 0.1211362425322048, 0.12113143375859055, 0.12113027926808573, 0.12113004704056185, 0.12113000693480994, 0.12113000089551389 … 0.26078941009444856, 0.009769459049748559, 0.0018789042446954408, 0.09241901973935228, 0.22157879451042628, 0.9660085993316152, 0.007020089860306167, 829.9998348635114, 829.9976422525888, 0.0025933105248854755]
[150952.75097402377, 13838.372555328504, -68.84681913016406, 0.12118951551659114, 0.12115723909937218, 0.12114109135468039, 0.12113403405625273, 0.12113131833041359, 0.12113038966338784, 0.12113010483009534 … 0.26076387070239837, 0.009768805322611648, 0.0018766436939500898, 0.0924049756352414, 0.2216028323583001, 0.9660195931783199, 0.007017234889934603, 829.9996133960518, 829.994650615981, 0.0025849478342343003]
[150952.75173733698, 13838.368384399799, -68.91207315641022, 0.12125418994387863, 0.12120713812645283, 0.12117519662003212, 0.12115494410637355, 0.12114295934129514, 0.12113633873221374, 0.12113292110192488 … 0.26071223836757207, 0.009767542947102269, 0.0018699196276109342, 0.09237495783324366, 0.22165420751509649, 0.9660430730972362, 0.007003014308459902, 829.9990964775621, 829.988344553044, 0.0025677078039993283]
[150952.7536153353, 13838.35855929409, -69.06429957869561, 0.12136450206928297, 0.12130632550551596, 0.12125925927771787, 0.12122229799402219, 0.12119414514255994, 0.12117335984945683, 0.12115849268947793 … 0.2606050783338445, 0.009765228548992247, 0.0018505337735948652, 0.09230364341434424, 0.22177624782601593, 0.9660987611295794, 0.006946470410797191, 829.9976227532394, 829.9738229183572, 0.0025298083788575705]
[150952.75694915676, 13838.342403295292, -69.31024282857501, 0.12149196511970105, 0.12142927819778732, 0.12137426378703475, 0.12132672247869891, 0.12128628090456539, 0.12125242556881115, 0.1212245412101207 … 0.2604711491247151, 0.00976340307695454, 0.0018178174457210692, 0.09218462778413179, 0.2219798988931877, 0.9661914345838197, 0.0068337541864747905, 829.9944193672545, 829.9509077882478, 0.002474807984255051]
[150952.7621562011, 13838.31972312405, -69.6463744385697, 0.12162015425254304, 0.12155743298067628, 0.12149988981396044, 0.1214475946939645, 0.1214005211708125, 0.12135855486728579, 0.12132150440206332 … 0.260364872984163, 0.009765046552185823, 0.001773815697085897, 0.09201383582103524, 0.22227216393618593, 0.9663239342804539, 0.006675512085568871, 829.988353326151, 829.9205247588947, 0.0024106894050035946]
[150952.775988694, 13838.26949390594, -70.35063780004249, 0.12180447947081259, 0.12174768441638645, 0.12169340182120124, 0.12164180993517568, 0.12159304918027172, 0.12154722281330685, 0.1215043983175522 … 0.2604150766477604, 0.009786689195736801, 0.00168558992001545, 0.09161908334733311, 0.22294828820039625, 0.9666286957411055, 0.006355039752058077, 829.9689941847354, 829.8589858081657, 0.002310655737566894]
[150952.805292636, 13838.188823477813, -71.35304497334123, 0.12196378362906934, 0.12191937751661311, 0.12187579036470485, 0.12183318571381502, 0.12179171690919584, 0.12175152664970895, 0.1217127467158214 … 0.26104417793415297, 0.009873892897153876, 0.0015688569001333977, 0.09093422475136928, 0.22412560286423527, 0.9671554511479012, 0.005926150137179693, 829.9235249884752, 829.7704141511887, 0.002228995046885226]
⋮
[151178.39912896414, 13614.652326831841, -70.44418674958953, 0.1370131748138453, 0.13701316218109985, 0.13701314451238947, 0.13701312170835056, 0.13701309366558354, 0.13701306027644702, 0.13701302142883953 … 0.0011134277016060874, 0.0015659649918540988, 0.0024240304390540897, 0.0015079382751354347, 0.9995611082922201, 0.9997483573743109, 0.006280033864388342, 784.8549368712982, 784.4903188339091, 0.0020446398981179203]
[151204.88744427165, 13588.184291818465, -70.39369075358728, 0.1367344009294686, 0.13673455487302227, 0.1367347063882241, 0.13673485545864655, 0.13673500206719022, 0.13673514619604957, 0.13673528782667657 … 0.001122258447008391, 0.0015718607835639759, 0.0024331450129849268, 0.0015190091558518087, 0.9996873341700128, 0.999745594459741, 0.006301635482769891, 784.9920022728892, 784.6311743466792, 0.0020321061743102204]
[151236.58799284778, 13556.540795376925, -70.33464174554125, 0.13636163737191037, 0.13636188716595876, 0.1363621361156024, 0.13636238425373204, 0.1363626316145658, 0.13636287823371832, 0.13636312414827131 … 0.001132607986737304, 0.0015787776850610161, 0.002443846242079362, 0.0015320103460836542, 0.9997294916452895, 0.999742329957346, 0.006326989655184771, 784.8190411475283, 784.4637966464732, 0.0020065104765121795]
[151277.876496784, 13515.351830072044, -70.25843805232358, 0.13584925561309902, 0.13584955214006297, 0.13584984872835767, 0.13585014543761345, 0.13585044232987123, 0.13585073946970547, 0.13585103692435482 … 0.0011460684163142323, 0.0015877470777245824, 0.002457725280689178, 0.0015489124336005525, 0.9997378352973458, 0.9997380592436381, 0.006359859422091988, 784.3311024630298, 783.9838341584214, 0.0019656665141751786]
[151317.86763816656, 13475.468702300963, -70.18451730073744, 0.13534447603364344, 0.13534478362668198, 0.13534509164489253, 0.13534540015713686, 0.1353457092350616, 0.13534601895324086, 0.1353463293893253 … 0.0011592563464486868, 0.0015964965520310233, 0.0024712632803675447, 0.0015654653428063374, 0.9997355342612982, 0.9997338509357291, 0.0063919065673152305, 783.7334911286847, 783.3941548651327, 0.00192334091347977]
[151362.40097360246, 13431.061069619478, -70.10162114877829, 0.134782975951688, 0.13478328189192826, 0.13478358845496552, 0.13478389571327004, 0.13478420374224276, 0.13478451262036498, 0.13478482242935694 … 0.0011742050458179326, 0.0016063607607252309, 0.002486532201001279, 0.0015842278150243285, 0.9997310239959252, 0.9997290515231114, 0.006428035729900284, 783.0047427327637, 782.6741991049541, 0.0018757694072670716]
[151406.6220944159, 13386.967352856478, -70.0185116094222, 0.1342299948568978, 0.13423029396795502, 0.13423059381295377, 0.134230894465226, 0.13423119600106903, 0.1342314984998966, 0.1342318020443997 … 0.0011894296170115986, 0.0016163137157592946, 0.0025019341379126933, 0.0016032560844885548, 0.9997261421302135, 0.9997241532639135, 0.006464461561333815, 782.2463308202059, 781.9243753409063, 0.001829036676810515]
[151453.06077943355, 13340.664023862812, -69.93029927786952, 0.13365573784423232, 0.13365602785143607, 0.1336563186749476, 0.13365661038795593, 0.13365690306660952, 0.13365719679016738, 0.13365749164115928 … 0.001205797504084481, 0.001626944315632686, 0.0025183848310766192, 0.0016236964548590825, 0.9997208283883445, 0.9997188574266543, 0.0065033480839416435, 781.4248924272989, 781.1117642490477, 0.0017808908580712562]
[151469.10535803818, 13324.666493381108, -69.89959050616443, 0.1334589834593804, 0.13345927009668102, 0.1334595575746642, 0.13345984596634927, 0.1334601353477079, 0.13346042579781472, 0.13346071739900736 … 0.0012115411675687382, 0.001630661016772703, 0.0025241367283179686, 0.0016308721076583055, 0.9997189532698281, 0.9997169899905461, 0.006516939650797468, 781.1360421159885, 780.8259156523147, 0.001764503548424599]
ROS (H2O2) 0.5uM
prob3 = remake(prob, p=[sys.ROS => 0.5μM])
@time sol3 = solve(prob3, alg; callback) 0.661069 seconds (40.41 k allocations: 8.516 MiB)
retcode: Success
Interpolation: 3rd order Hermite
t: 4019-element Vector{Float64}:
0.0
0.019333125036191702
0.09098129266636057
0.20735581924412133
0.4561190591819128
1.0472561699067402
2.034266647380939
3.451776427610287
6.73379198996193
12.450116263176966
⋮
152229.63949168223
156692.9739982487
162137.20735414393
168219.99338279446
175684.09418869464
183498.2063365273
192274.6409491369
202819.50331001705
205000.0
u: 4019-element Vector{Vector{Float64}}:
[150952.75035000002, 13838.37602, -68.79268, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113, 0.12113 … 0.26081, 0.00977, 0.00188, 0.09243, 0.22156, 0.966, 0.00702, 830.0, 830.0, 0.0026]
[150952.7504077194, 13838.375711519522, -68.79732946230298, 0.12113191852582894, 0.12113014215363435, 0.12113000811850629, 0.12113000037367251, 0.12113000001389385, 0.12113000000038378, 0.12113000000000405 … 0.2608055799108062, 0.009769882842059355, 0.001879826176063952, 0.09242766669597557, 0.22156399388113623, 0.9660018276404354, 0.007020208561337872, 829.9999654017552, 829.9994975880237, 0.002598565958899963]
[150952.75062244057, 13838.374513299239, -68.81607005191516, 0.12115248970118196, 0.12113624253220483, 0.12113143375859055, 0.12113027926808573, 0.12113004704056185, 0.12113000693480994, 0.12113000089551389 … 0.26078941009444856, 0.009769459049748559, 0.0018789042446954408, 0.09241901973935228, 0.22157879451042628, 0.9660085993316152, 0.007020089860306167, 829.9998348635114, 829.9976422525888, 0.0025933105248854755]
[150952.75097402377, 13838.372555328504, -68.84681913016406, 0.12118951551659116, 0.12115723909937218, 0.12114109135468036, 0.12113403405625275, 0.12113131833041361, 0.12113038966338784, 0.12113010483009534 … 0.26076387070239837, 0.009768805322611648, 0.0018766436939500896, 0.0924049756352414, 0.22160283235830014, 0.9660195931783199, 0.007017234889934602, 829.9996133960518, 829.994650615981, 0.0025849478342343]
[150952.75173733698, 13838.368384399799, -68.91207315641023, 0.12125418994387865, 0.12120713812645284, 0.12117519662003212, 0.12115494410637355, 0.12114295934129514, 0.12113633873221377, 0.12113292110192486 … 0.26071223836757207, 0.009767542947102269, 0.0018699196276109327, 0.09237495783324366, 0.2216542075150965, 0.9660430730972362, 0.007003014308459899, 829.9990964775621, 829.988344553044, 0.002567707803999326]
[150952.7536153353, 13838.35855929409, -69.06429957869564, 0.121364502069283, 0.12130632550551594, 0.12125925927771784, 0.12122229799402216, 0.12119414514255991, 0.12117335984945687, 0.12115849268947793 … 0.2606050783338445, 0.009765228548992247, 0.0018505337735948604, 0.09230364341434424, 0.221776247826016, 0.9660987611295794, 0.0069464704107971755, 829.9976227532394, 829.9738229183572, 0.0025298083788575635]
[150952.75694915676, 13838.342403295292, -69.31024282857508, 0.12149196511970103, 0.12142927819778733, 0.12137426378703474, 0.1213267224786989, 0.12128628090456539, 0.12125242556881116, 0.12122454121012072 … 0.2604711491247151, 0.00976340307695454, 0.0018178174457210597, 0.09218462778413176, 0.22197989889318778, 0.9661914345838197, 0.0068337541864747515, 829.9944193672545, 829.9509077882478, 0.0024748079842550398]
[150952.7621562011, 13838.31972312405, -69.6463744385698, 0.12162015425254305, 0.12155743298067632, 0.12149988981396045, 0.12144759469396452, 0.12140052117081254, 0.12135855486728583, 0.12132150440206337 … 0.260364872984163, 0.009765046552185826, 0.0017738156970858812, 0.09201383582103521, 0.22227216393618604, 0.9663239342804539, 0.0066755120855688105, 829.988353326151, 829.9205247588947, 0.002410689405003578]
[150952.775988694, 13838.26949390594, -70.35063780004268, 0.1218044794708126, 0.12174768441638648, 0.1216934018212013, 0.12164180993517573, 0.1215930491802718, 0.12154722281330692, 0.12150439831755228 … 0.2604150766477605, 0.00978668919573681, 0.0016855899200154281, 0.09161908334733304, 0.22294828820039642, 0.9666286957411057, 0.006355039752057998, 829.9689941847354, 829.8589858081657, 0.002310655737566874]
[150952.805292636, 13838.188823477813, -71.35304497334147, 0.12196378362906934, 0.12191937751661315, 0.12187579036470493, 0.12183318571381511, 0.12179171690919598, 0.12175152664970908, 0.12171274671582152 … 0.26104417793415313, 0.009873892897153909, 0.0015688569001333723, 0.09093422475136911, 0.22412560286423558, 0.9671554511479015, 0.005926150137179602, 829.9235249884752, 829.7704141511887, 0.0022289950468852124]
⋮
[151177.59778840095, 13615.453688470354, -70.44573894269985, 0.13702090063025785, 0.13702088115399214, 0.1370208565341702, 0.13702082666797877, 0.13702079144843432, 0.1370207507641705, 0.13702070449921222 … 0.0011131769346505766, 0.00156578700740915, 0.0024237509792236996, 0.0015075980120303318, 0.9995547816298391, 0.9997484421651259, 0.006279370995855873, 784.8449239191343, 784.4802097483424, 0.002044830338071122]
[151205.03562962855, 13588.036357256446, -70.39341155190148, 0.13673274566903112, 0.13673290030514695, 0.1367330525232359, 0.13673320230718644, 0.13673334964022837, 0.136733494504899, 0.13673363688300735 … 0.0011223218262319734, 0.0015718943717845234, 0.0024331954955801416, 0.0015190702861916803, 0.9996877375926446, 0.9997455791178936, 0.006301755125326699, 784.9919887916058, 784.6311848467185, 0.0020320092485008184]
[151237.75945117226, 13555.371911594802, -70.33247357785088, 0.13634740578675147, 0.13634765787087263, 0.13634790915241568, 0.13634815966558061, 0.1363484094459487, 0.13634865853055303, 0.13634890695795338 … 0.001132992408836751, 0.0015790325112646107, 0.0024442400414693647, 0.0015324892024588485, 0.9997301455370559, 0.9997422093796496, 0.006327922529489478, 784.808545395811, 784.4535185171615, 0.0020054496130935758]
[151273.37968125762, 13519.837075182062, -70.26673148087552, 0.1359057588412108, 0.13590605267606787, 0.13590634650873654, 0.13590664039708977, 0.13590693440133866, 0.13590722858415233, 0.13590752301078382 … 0.001144617431223866, 0.0015867697105466584, 0.002456211016390513, 0.001547065027869249, 0.9997377628102174, 0.9997385273573715, 0.006356273913479295, 784.3927134244017, 784.0445585313095, 0.0019703238350639624]
[151315.77084445706, 13477.559748078358, -70.18840462470857, 0.13537098358261931, 0.13537129106158097, 0.13537159895536685, 0.1353719073326517, 0.13537221626488669, 0.13537252582644124, 0.13537283609475306 … 0.0011585828791366587, 0.0015960349834215147, 0.0024705492618173623, 0.0015645908249021189, 0.9997357185371814, 0.9997340737519955, 0.006390217291770094, 783.7665607399526, 783.4268075873789, 0.0019255956481025762]
[151358.6443649028, 13434.80701625189, -70.1086431655635, 0.1348301962599894, 0.1348305026244567, 0.13483080959957405, 0.13483111725765848, 0.13483142567395084, 0.13483173492676515, 0.134832045097647 … 0.001172961356451179, 0.0016055241016644309, 0.0024852351340274516, 0.0015826298074418056, 0.9997314266581473, 0.9997294614217911, 0.00642496743191983, 783.0678223138672, 782.7365416513753, 0.0018797715878535735]
[151405.02811262824, 13388.556782015083, -70.02152352114419, 0.13424983029479298, 0.13425012968541408, 0.13425042980650356, 0.1342507307313768, 0.1342510325363132, 0.13425133530070704, 0.13425163910722873 … 0.0011889213989760906, 0.0016159527313034435, 0.0025013740642170976, 0.00160256240824058, 0.9997263209203904, 0.9997243321669894, 0.006463137897378621, 782.2740911845522, 781.9518291553197, 0.0018307065642627757]
[151458.38226075048, 13335.358201435627, -69.92012586246085, 0.133590390843838, 0.1335906797452454, 0.13359096947094135, 0.13359126009407324, 0.13359155169074569, 0.13359184434017127, 0.13359213812483076 … 0.0012076872968890253, 0.0016281751891957948, 0.0025202891613313964, 0.001626070089007653, 0.9997202085451814, 0.9997182402114726, 0.006507847925570343, 781.3293716475088, 781.017241704248, 0.001775442028819885]
[151469.10187879438, 13324.670031445607, -69.89959745715194, 0.13345902769817128, 0.133459314311903, 0.13345960176661312, 0.1334598901353314, 0.13346017949403985, 0.13346046992182342, 0.13346076150103003 … 0.0012115057922225426, 0.0016306583823672439, 0.002524135493207678, 0.001630870537136475, 0.9997189538540194, 0.9997169904354002, 0.006516936962651859, 781.1361087129766, 780.8259816005911, 0.0017645072162038994]
Comparisons
i = (sys.t / 1000, sys.CaMKAct * 100)
plot(sol, idxs=i, lab="ROS (-)")
plot!(sol2, idxs=i, lab="ROS 0.1uM")
plot!(sol3, idxs=i, lab="ROS 0.5uM")
plot!(xlabel="Time (s)", ylabel="Active fraction (%)", title="Simulation")
savefig("ros-camkii.pdf")"/home/github/actions-runner-1/_work/camkii-cardiomyocyte-model/camkii-cardiomyocyte-model/docs/ros-camkii.pdf"
Oxidized fraction
i = (sys.t / 1000, 100 * (sys.CaMKBOX + sys.CaMKPOX + sys.CaMKAOX + sys.CaMKOX ))
plot(sol, idxs=i, lab="ROS (-)")
plot!(sol2, idxs=i, lab="ROS 0.1uM")
plot!(sol3, idxs=i, lab="ROS 0.5uM")
plot!(xlabel="Time (s)", ylabel="Oxidized fraction (%)", title="Simulation")
savefig("ros-camkiiox.pdf")"/home/github/actions-runner-1/_work/camkii-cardiomyocyte-model/camkii-cardiomyocyte-model/docs/ros-camkiiox.pdf"
Autophosphorylated fraction
i = (sys.t / 1000, 100 * (sys.CaMKP + sys.CaMKA + sys.CaMKA2))
plot(sol, idxs=i, lab="ROS (-)")
plot!(sol2, idxs=i, lab="ROS 0.1uM")
plot!(sol3, idxs=i, lab="ROS 0.5uM")
plot!(xlabel="Time (s)", ylabel="Phosphorylated fraction (%)", title="Simulation")
savefig("ros-camkiip.pdf")"/home/github/actions-runner-1/_work/camkii-cardiomyocyte-model/camkii-cardiomyocyte-model/docs/ros-camkiip.pdf"
Experimental data
chemicaldf = CSV.read(joinpath(@__DIR__, "data/CaMKAR-chemical.csv"), DataFrame)
ts = Dates.value.(chemicaldf[!, "Time"]) ./ 10^9
ctl = chemicaldf[!, "Ctrl Mean"]
ctl_error = chemicaldf[!, "Ctrl SD"] ./ sqrt.(chemicaldf[!, "Ctrl N"])42-element Vector{Float64}:
0.02305850621757014
0.023225557529411765
0.023536003837902393
0.022995786588235295
0.023056161133316953
0.02236794743822152
0.02448575734900888
0.02631837493460871
0.029628792824062226
0.0306227531696316
⋮
0.02665056333747046
0.02525893438851731
0.024749347823716496
0.024158682609370527
0.023572491294117648
0.0240760416039372
0.023230166
0.023759599761907887
0.02369791084482974
ros50 = chemicaldf[!, "H2O2 50uM Mean"]
ros50_error = chemicaldf[!, "H2O2 50uM SD"] ./ sqrt.(chemicaldf[!, "H2O2 50uM N"])
ros200 = chemicaldf[!, "H2O2 200uM Mean"]
ros200_error = chemicaldf[!, "H2O2 200uM SD"] ./ sqrt.(chemicaldf[!, "H2O2 200uM N"])42-element Vector{Float64}:
0.01579193843196981
0.015098907892605207
0.01579878654371588
0.015408311367567479
0.01575464714359121
0.015563615686070896
0.015839325542753135
0.01815890968670797
0.022420341690296358
0.026401360928455686
⋮
0.01970504059747541
0.018928610243134615
0.018308801083333333
0.017872510075561544
0.017135324764712814
0.016622042234321177
0.01699837223508933
0.01644948545788867
0.016236308371972322
plot(ts, ctl, yerr=ctl_error, lab="Control", color=:blue, markerstrokecolor=:blue)
plot!(ts, ros50, yerr=ros50_error, lab="H2O2 50uM", color=:red, markerstrokecolor=:red)
plot!(ts, ros200, yerr=ros200_error, lab="H2O2 200uM", color=:green, markerstrokecolor=:green)
plot!(xlabel="Time (s)", ylabel="CaMKII activity (A.U.)", title="Experiment")
savefig("ros-exp.pdf")"/home/github/actions-runner-1/_work/camkii-cardiomyocyte-model/camkii-cardiomyocyte-model/docs/ros-exp.pdf"
Runtime information
using InteractiveUtils
InteractiveUtils.versioninfo()Julia Version 1.12.4
Commit 01a2eadb047 (2026-01-06 16:56 UTC)
Build Info:
Official https://julialang.org release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 12 × Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
WORD_SIZE: 64
LLVM: libLLVM-18.1.7 (ORCJIT, skylake)
GC: Built with stock GC
Threads: 2 default, 1 interactive, 2 GC (on 12 virtual cores)
Environment:
JULIA_CI = true
JULIA_CONDAPKG_OFFLINE = true
LD_LIBRARY_PATH = /home/github/actions-runner-1/_work/_tool/Python/3.14.2/x64/lib
JULIA_NUM_THREADS = 2
JULIA_PROJECT = /home/github/actions-runner-1/_work/camkii-cardiomyocyte-model/camkii-cardiomyocyte-model/Project.toml
JULIA_DEPOT_PATH = /home/github/.julia:/home/github/actions-runner-1/_work/_tool/julia/1.12.4/x64/local/share/julia:/home/github/actions-runner-1/_work/_tool/julia/1.12.4/x64/share/julia
JULIA_CONDAPKG_BACKEND = Null
JULIA_LOAD_PATH = @:@v#.#:@stdlib
using Pkg
Pkg.status()Project CaMKIIModel v0.7.0
Status `~/actions-runner-1/_work/camkii-cardiomyocyte-model/camkii-cardiomyocyte-model/Project.toml`
[336ed68f] CSV v0.10.15
[5a033b19] CurveFit v1.4.0
[a93c6f00] DataFrames v1.8.1
[459566f4] DiffEqCallbacks v4.12.0
[f6369f11] ForwardDiff v1.3.2
[23fbe1c1] Latexify v0.16.10
[2fda8390] LsqFit v0.15.1
⌅ [961ee093] ModelingToolkit v10.32.1
[77ba4419] NaNMath v1.1.3
[1dea7af3] OrdinaryDiffEq v6.108.0
[91a5bcdd] Plots v1.41.5
[2913bbd2] StatsBase v0.34.10
[9672c7b4] SteadyStateDiffEq v2.9.0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated`
This notebook was generated using Literate.jl.