diff --git a/benchmarking/IdentifiableFunctions/COMBOS/Akt_pathway b/benchmarking/IdentifiableFunctions/COMBOS/Akt_pathway new file mode 100644 index 000000000..1b8b04fe1 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/Akt_pathway @@ -0,0 +1,12 @@ +dx1/dt = -reaction,1,k1*x9 + reaction,1,k2*x9 - x1*EGFR,turnover + EGFR,turnover*u1; +dx2/dt = -reaction,4,k1*x2 + reaction,9,k1*x9 - x2*x4*reaction,2,k1 + reaction,3,k1*x3 + x3*reaction,2,k2; +dx3/dt = x2*x4*reaction,2,k1 - reaction,3,k1*x3 - x3*reaction,2,k2; +dx4/dt = x5*reaction,7,k1 - x2*x4*reaction,2,k1 + x3*reaction,2,k2; +dx5/dt = -x5*reaction,7,k1 - x5*reaction,5,k1*x6 + reaction,6,k1*x7 + reaction,3,k1*x3 + x7*reaction,5,k2; +dx6/dt = x8*reaction,8,k1 - x5*reaction,5,k1*x6 + x7*reaction,5,k2; +dx7/dt = x5*reaction,5,k1*x6 - reaction,6,k1*x7 - x7*reaction,5,k2; +dx8/dt = -x8*reaction,8,k1 + reaction,6,k1*x7; +dx9/dt = reaction,1,k1*x9 - reaction,9,k1*x9 - reaction,1,k2*x9; +y1 = x2*a1 + a1*x3; +y2 = a2*x5 + a2*x7; +y3 = x8*a3 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/Bilirubin2_io b/benchmarking/IdentifiableFunctions/COMBOS/Bilirubin2_io new file mode 100644 index 000000000..51799c45f --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/Bilirubin2_io @@ -0,0 +1,5 @@ +dx1/dt = -k01*x1 - k31*x1 - k21*x1 + k12*x2 + x3*k13 + u1 - x1*k41 + x4*k14; +dx2/dt = k21*x1 - k12*x2; +dx3/dt = k31*x1 - x3*k13; +dx4/dt = x1*k41 - x4*k14; +y1 = x1 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/Biohydrogenation b/benchmarking/IdentifiableFunctions/COMBOS/Biohydrogenation new file mode 100644 index 000000000..e76249713 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/Biohydrogenation @@ -0,0 +1,6 @@ +dx1/dt = (-k5*x1) / (k6 + x1); +dx2/dt = (k5*k8*x1 + k5*x3*x1 + k5*x2*x1 - k6*x2*k7 - x2*k7*x1) / (k8*k6 + k8*x1 + k6*x3 + k6*x2 + x3*x1 + x2*x1); +dx3/dt = (-k8*k9*k10*x3 + k8*k9*x3^2 - k9*k10*x3^2 - k9*k10*x3*x2 + k9*x3^3 + k9*x3^2*x2 + k10*x2*k7) / (k8*k10 + k10*x3 + k10*x2); +dx4/dt = (k9*k10*x3 - k9*x3^2) / (k10); +y1 = x1; +y2 = x2 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/CGV1990 b/benchmarking/IdentifiableFunctions/COMBOS/CGV1990 new file mode 100644 index 000000000..0dc1e0883 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/CGV1990 @@ -0,0 +1,6 @@ +dx1/dt = -k3*x1 - x1*k7 + k4*x2 + u1; +dx2/dt = (5*k5*x4*V36*x2 - 5*k5*S*V36^2*x2 - k5*R*x2*V3^2 + k5*x2*x3*V3 + k3*x1*V3 + x4*k6*V3 - k4*x2*V3 + k6*x3*V3) / (V3); +dx3/dt = k5*R*x2*V3 - k5*x2*x3 - k6*x3; +dx4/dt = (-5*k5*x4*V36*x2 + 5*k5*S*V36^2*x2 - x4*k6*V3) / (V3); +dx5/dt = x1*k7; +y1 = x5 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/HIV b/benchmarking/IdentifiableFunctions/COMBOS/HIV new file mode 100644 index 000000000..cd141c795 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/HIV @@ -0,0 +1,7 @@ +dx1/dt = lm - x1*d - x1*x3*beta; +dx2/dt = x1*x3*beta - a*x2; +dx3/dt = k*x2 - x3*u; +dx4/dt = -b*x4 + c*x4*x1*x2 - c*x4*q*x2; +dx5/dt = c*x4*q*x2 - h*x5; +y1 = x4; +y2 = x5 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/HighDimNonLin b/benchmarking/IdentifiableFunctions/COMBOS/HighDimNonLin new file mode 100644 index 000000000..4df6481a1 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/HighDimNonLin @@ -0,0 +1,40 @@ +dx1/dt = (-p1*km*x1 - p1*x1^2 + km*u1 - x1*vm + x1*u1) / (km + x1); +dx2/dt = -p2*x2 + p1*x1; +dx3/dt = p2*x2 - x3*p3; +dx4/dt = x3*p3 - x4*p4; +dx5/dt = -p5*x5 + x4*p4; +dx6/dt = -p6*x6 + p5*x5; +dx7/dt = -p7*x7 + p6*x6; +dx8/dt = p7*x7 - p8*x8; +dx9/dt = -x9*p9 + p8*x8; +dx10/dt = x9*p9 - x10*p10; +dx11/dt = x10*p10 - x11*p11; +dx12/dt = x11*p11 - p12*x12; +dx13/dt = -x13*p13 + p12*x12; +dx14/dt = x13*p13 - p14*x14; +dx15/dt = -p15*x15 + p14*x14; +dx16/dt = p15*x15 - x16*p16; +dx17/dt = -p17*x17 + x16*p16; +dx18/dt = -p18*x18 + p17*x17; +dx19/dt = -x19*p19 + p18*x18; +dx20/dt = -p20*x20 + x19*p19; +y1 = x1; +y2 = x2; +y3 = x3; +y4 = x4; +y5 = x5; +y6 = x6; +y7 = x7; +y8 = x8; +y9 = x9; +y10 = x10; +y11 = x11; +y12 = x12; +y13 = x13; +y14 = x14; +y15 = x15; +y16 = x16; +y17 = x17; +y18 = x18; +y19 = x19; +y20 = x20 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/MAPK_5o b/benchmarking/IdentifiableFunctions/COMBOS/MAPK_5o new file mode 100644 index 000000000..4efd4be82 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/MAPK_5o @@ -0,0 +1,17 @@ +dx1/dt = x6*gamma1100 + gamma1000*x5 + x4*gamma0100 + b00*x1 - x9*x7*a00; +dx2/dt = c0001*x1 + x6*gamma1101 - x8*alpha01*x10 + x4*beta01 - x7*x10*a01 + x2*b01; +dx3/dt = -a10*x7*x11 + x6*gamma1110 - x8*alpha10*x11 + x3*b10 + beta10*x5 + c0010*x1; +dx4/dt = x6*beta11 - x8*alpha11*x12 + x3*c1011 + c0111*x2 + c0011*x1; +dx5/dt = -c0001*x1 - b00*x1 + x9*x7*a00 - c0011*x1 - c0010*x1; +dx6/dt = -c0111*x2 + x7*x10*a01 - x2*b01; +dx7/dt = a10*x7*x11 - x3*b10 - x3*c1011; +dx8/dt = x8*alpha01*x10 - x4*beta01 - x4*gamma0100; +dx9/dt = x8*alpha10*x11 - gamma1000*x5 - beta10*x5; +dx10/dt = -x6*beta11 - x6*gamma1100 - x6*gamma1101 - x6*gamma1110 + x8*alpha11*x12; +dx11/dt = c0001*x1 - a10*x7*x11 + x3*b10 + x3*c1011 + b00*x1 + c0111*x2 - x9*x7*a00 - x7*x10*a01 + c0011*x1 + c0010*x1 + x2*b01; +dx12/dt = x6*beta11 + x6*gamma1100 + x6*gamma1101 + x6*gamma1110 - x8*alpha10*x11 - x8*alpha11*x12 - x8*alpha01*x10 + gamma1000*x5 + x4*beta01 + x4*gamma0100 + beta10*x5; +y1 = x8; +y2 = x9; +y3 = x10; +y4 = x11; +y5 = x12 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/MAPK_6o b/benchmarking/IdentifiableFunctions/COMBOS/MAPK_6o new file mode 100644 index 000000000..87f35a9a9 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/MAPK_6o @@ -0,0 +1,18 @@ +dx1/dt = x6*gamma1100 + gamma1000*x5 + x4*gamma0100 + b00*x1 - x9*x7*a00; +dx2/dt = c0001*x1 + x6*gamma1101 - x8*alpha01*x10 + x4*beta01 - x7*x10*a01 + x2*b01; +dx3/dt = -a10*x7*x11 + x6*gamma1110 - x8*alpha10*x11 + x3*b10 + beta10*x5 + c0010*x1; +dx4/dt = x6*beta11 - x8*alpha11*x12 + x3*c1011 + c0111*x2 + c0011*x1; +dx5/dt = -c0001*x1 - b00*x1 + x9*x7*a00 - c0011*x1 - c0010*x1; +dx6/dt = -c0111*x2 + x7*x10*a01 - x2*b01; +dx7/dt = a10*x7*x11 - x3*b10 - x3*c1011; +dx8/dt = x8*alpha01*x10 - x4*beta01 - x4*gamma0100; +dx9/dt = x8*alpha10*x11 - gamma1000*x5 - beta10*x5; +dx10/dt = -x6*beta11 - x6*gamma1100 - x6*gamma1101 - x6*gamma1110 + x8*alpha11*x12; +dx11/dt = c0001*x1 - a10*x7*x11 + x3*b10 + x3*c1011 + b00*x1 + c0111*x2 - x9*x7*a00 - x7*x10*a01 + c0011*x1 + c0010*x1 + x2*b01; +dx12/dt = x6*beta11 + x6*gamma1100 + x6*gamma1101 + x6*gamma1110 - x8*alpha10*x11 - x8*alpha11*x12 - x8*alpha01*x10 + gamma1000*x5 + x4*beta01 + x4*gamma0100 + beta10*x5; +y1 = x7; +y2 = x8; +y3 = x9; +y4 = x10; +y5 = x11; +y6 = x12 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/PK1 b/benchmarking/IdentifiableFunctions/COMBOS/PK1 new file mode 100644 index 000000000..4390dc2e0 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/PK1 @@ -0,0 +1,6 @@ +dx1/dt = u1 - k2*x1 - k1*x1; +dx2/dt = k5*x4 - k3*x2 - k6*x2 + k1*x1 - k7*x2; +dx3/dt = k3*x2 - k4*x3 + k2*x1; +dx4/dt = -k5*x4 + k6*x2; +y1 = s2*x2; +y2 = s3*x3 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/PK2 b/benchmarking/IdentifiableFunctions/COMBOS/PK2 new file mode 100644 index 000000000..e32a45ec9 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/PK2 @@ -0,0 +1,5 @@ +dx1/dt = (-ka*n*x1 - ka*kc*a1*x1 + ka*kc*a1*x2 - ka*a1*x1^2 + ka*a1*x1*x2 - kc*a1*x1*x3 + kc*a1*x2*x3) / (ka*kc + ka*x1 + kc*x3); +dx2/dt = a2*x1 - a2*x2; +dx3/dt = (ka*kc*b1*x4 - ka*kc*b1*x3 + ka*b1*x1*x4 - ka*b1*x1*x3 - n*kc*x3 + kc*b1*x4*x3 - kc*b1*x3^2) / (ka*kc + ka*x1 + kc*x3); +dx4/dt = -b2*x4 + b2*x3; +y1 = x1 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/QY b/benchmarking/IdentifiableFunctions/COMBOS/QY new file mode 100644 index 000000000..9b2d23a17 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/QY @@ -0,0 +1,20 @@ +dx1/dt = x2; +dx2/dt = x3; +dx3/dt = x4; +dx4/dt = x5; +dx5/dt = (-siga1*x1^2*beta,SI*phi*M*Mar*Ks^2*siga2^2 + siga1*x1^2*beta,SI*M*Mar*Ks^2*siga2^2 - siga1*x1^2*phi*M^2*Mar*Ks^2*siga2*beta,SA + siga1*x1^2*phi*M^2*Ks^2*siga2^2*beta,SA + siga1*x1^2*M^2*Mar*Ks^2*siga2*beta,SA - siga1*x1*x2*beta,SI*phi*M*Mar*Ks^2*siga2 - 2*siga1*x1*x2*beta,SI*phi*M*Mar*Ks*siga2^2 - siga1*x1*x2*beta,SI*phi*M*Ks^2*siga2^2 - siga1*x1*x2*beta,SI*phi*Mar*Ks^2*siga2^2 + siga1*x1*x2*beta,SI*M*Mar*Ks^2*siga2 + 2*siga1*x1*x2*beta,SI*M*Mar*Ks*siga2^2 + siga1*x1*x2*beta,SI*M*Ks^2*siga2^2 + siga1*x1*x2*beta,SI*Mar*Ks^2*siga2^2 - siga1*x1*x2*phi*M^2*Mar*Ks^2*beta,SA - 2*siga1*x1*x2*phi*M^2*Mar*Ks*siga2*beta,SA + siga1*x1*x2*phi*M^2*Ks^2*siga2*beta,SA + 2*siga1*x1*x2*phi*M^2*Ks*siga2^2*beta,SA - 2*siga1*x1*x2*phi*M*Mar*Ks^2*siga2*beta,SA + 2*siga1*x1*x2*phi*M*Ks^2*siga2^2*beta,SA + siga1*x1*x2*M^2*Mar*Ks^2*beta,SA + 2*siga1*x1*x2*M^2*Mar*Ks*siga2*beta,SA + siga1*x1*x2*M^2*Ks^2*siga2*beta,SA + 2*siga1*x1*x2*M*Mar*Ks^2*siga2*beta,SA - siga1*x1*beta,SI*x4*phi*Mar*Ks*siga2 + siga1*x1*beta,SI*x4*Mar*Ks*siga2 - siga1*x1*beta,SI*phi*M*x3*Mar*Ks*siga2 - siga1*x1*beta,SI*phi*M*x3*Ks*siga2^2 - siga1*x1*beta,SI*phi*x3*Mar*Ks^2*siga2 - siga1*x1*beta,SI*phi*x3*Mar*Ks*siga2^2 + siga1*x1*beta,SI*M*x3*Mar*Ks*siga2 + +siga1*x1*beta,SI*M*x3*Ks*siga2^2 + siga1*x1*beta,SI*x3*Mar*Ks^2*siga2 + siga1*x1*beta,SI*x3*Mar*Ks*siga2^2 - siga1*x1*x4*phi*M*Mar*Ks*beta,SA + siga1*x1*x4*phi*M*Ks*siga2*beta,SA + siga1*x1*x4*M*Mar*Ks*beta,SA + siga1*x1*x4*M*Ks*siga2*beta,SA - siga1*x1*phi*M^2*x3*Mar*Ks*beta,SA + siga1*x1*phi*M^2*x3*Ks*siga2*beta,SA - siga1*x1*phi*M^2*Mar*x6*Ks*siga2^2 - siga1*x1*phi*M^2*Ks*beta*siga2^2 - siga1*x1*phi*M*x3*Mar*Ks^2*beta,SA - 2*siga1*x1*phi*M*x3*Mar*Ks*siga2*beta,SA + siga1*x1*phi*M*x3*Ks^2*siga2*beta,SA + 2*siga1*x1*phi*M*x3*Ks*siga2^2*beta,SA + siga1*x1*M^2*x3*Mar*Ks*beta,SA + siga1*x1*M^2*x3*Ks*siga2*beta,SA + siga1*x1*M^2*Mar*x6*Ks*siga2^2 + siga1*x1*M^2*Ks*beta*siga2^2 + siga1*x1*M*x3*Mar*Ks^2*beta,SA + 2*siga1*x1*M*x3*Mar*Ks*siga2*beta,SA + siga1*x1*M*x3*Ks^2*siga2*beta,SA - siga1*x2^2*beta,SI*phi*M*Mar*Ks*siga2 - siga1*x2^2*beta,SI*phi*M*Mar*siga2^2 - siga1*x2^2*beta,SI*phi*M*Ks^2*siga2 - siga1*x2^2*beta,SI*phi*M*Ks*siga2^2 - siga1*x2^2*beta,SI*phi*Mar*Ks*siga2^2 - siga1*x2^2*beta,SI*phi*Ks^2*siga2^2 + siga1*x2^2*beta,SI*M*Mar*Ks*siga2 + siga1*x2^2*beta,SI*M*Mar*siga2^2 + siga1*x2^2*beta,SI*M*Ks^2*siga2 + siga1*x2^2*beta,SI*M*Ks*siga2^2 + siga1*x2^2*beta,SI*Mar*Ks*siga2^2 + siga1*x2^2*beta,SI*Ks^2*siga2^2 +- siga1*x2^2*phi*M^2*Mar*Ks*beta,SA - siga1*x2^2*phi*M^2*Mar*siga2*beta,SA + +siga1*x2^2*phi*M^2*Ks*siga2*beta,SA + siga1*x2^2*phi*M^2*siga2^2*beta,SA - siga1*x2^2*phi*M*Mar*Ks^2*beta,SA - 2*siga1*x2^2*phi*M*Mar*Ks*siga2*beta,SA + siga1*x2^2*phi*M*Ks^2*siga2*beta,SA + 2*siga1*x2^2*phi*M*Ks*siga2^2*beta,SA - +siga1*x2^2*phi*Mar*Ks^2*siga2*beta,SA + siga1*x2^2*phi*Ks^2*siga2^2*beta,SA + siga1*x2^2*M^2*Mar*Ks*beta,SA + siga1*x2^2*M^2*Mar*siga2*beta,SA + siga1*x2^2*M^2*Ks^2*beta,SA + siga1*x2^2*M^2*Ks*siga2*beta,SA + siga1*x2^2*M*Mar*Ks^2*beta,SA + 2*siga1*x2^2*M*Mar*Ks*siga2*beta,SA + siga1*x2^2*M*Ks^2*siga2*beta,SA + siga1*x2^2*Mar*Ks^2*siga2*beta,SA - siga1*x2*beta,SI*x4*phi*Mar*siga2 - +siga1*x2*beta,SI*x4*phi*Ks*siga2 + siga1*x2*beta,SI*x4*Mar*siga2 + siga1*x2*beta,SI*x4*Ks*siga2 - siga1*x2*beta,SI*phi*M*x3*Mar*siga2 - 2*siga1*x2*beta,SI*phi*M*x3*Ks*siga2 - siga1*x2*beta,SI*phi*M*x3*siga2^2 - siga1*x2*beta,SI*phi*x3*Mar*Ks*siga2 - siga1*x2*beta,SI*phi*x3*Mar*siga2^2 - siga1*x2*beta,SI*phi*x3*Ks^2*siga2 - 2*siga1*x2*beta,SI*phi*x3*Ks*siga2^2 + siga1*x2*beta,SI*M*x3*Mar*siga2 + 2*siga1*x2*beta,SI*M*x3*Ks*siga2 + siga1*x2*beta,SI*M*x3*siga2^2 + siga1*x2*beta,SI*x3*Mar*Ks*siga2 + siga1*x2*beta,SI*x3*Mar*siga2^2 + siga1*x2*beta,SI*x3*Ks^2*siga2 + 2*siga1*x2*beta,SI*x3*Ks*siga2^2 - siga1*x2*x4*phi*M*Mar*beta,SA + siga1*x2*x4*phi*M*siga2*beta,SA - siga1*x2*x4*phi*Mar*Ks*beta,SA + siga1*x2*x4*phi*Ks*siga2*beta,SA + siga1*x2*x4*M*Mar*beta,SA + 2*siga1*x2*x4*M*Ks*beta,SA + siga1*x2*x4*M*siga2*beta,SA + siga1*x2*x4*Mar*Ks*beta,SA + siga1*x2*x4*Ks*siga2*beta,SA - siga1*x2*phi*M^2*x3*Mar*beta,SA + siga1*x2*phi*M^2*x3*siga2*beta,SA - siga1*x2*phi*M^2*Mar*x6*Ks*siga2 - siga1*x2*phi*M^2*Mar*x6*siga2^2 - siga1*x2*phi*M^2*Ks*beta*siga2 - siga1*x2*phi*M^2*Ks*siga2^2 - siga1*x2*phi*M^2*beta*siga2^2 - 3*siga1*x2*phi*M*x3*Mar*Ks*beta,SA - 2*siga1*x2*phi*M*x3*Mar*siga2*beta,SA + 3*siga1*x2*phi*M*x3*Ks*siga2*beta,SA + 2*siga1*x2*phi*M*x3*siga2^2*beta,SA - siga1*x2*phi*M*Mar*x6*Ks*siga2^2 - siga1*x2*phi*M*Ks*beta*siga2^2 - siga1*x2*phi*x3*Mar*Ks^2*beta,SA - 2*siga1*x2*phi*x3*Mar*Ks*siga2*beta,SA + siga1*x2*phi*x3*Ks^2*siga2*beta,SA + 2*siga1*x2*phi*x3*Ks*siga2^2*beta,SA + siga1*x2*M^2*x3*Mar*beta,SA + 2*siga1*x2*M^2*x3*Ks*beta,SA + siga1*x2*M^2*x3*siga2*beta,SA + siga1*x2*M^2*Mar*x6*Ks*siga2 + siga1*x2*M^2*Mar*x6*siga2^2 + siga1*x2*M^2*Ks*beta*siga2 + siga1*x2*M^2*Ks*siga2^2 + siga1*x2*M^2*beta*siga2^2 + 3*siga1*x2*M*x3*Mar*Ks*beta,SA + 2*siga1*x2*M*x3*Mar*siga2*beta,SA + 2*siga1*x2*M*x3*Ks^2*beta,SA + 3*siga1*x2*M*x3*Ks*siga2*beta,SA + siga1*x2*M*Mar*x6*Ks*siga2^2 + siga1*x2*M*Ks*beta*siga2^2 + siga1*x2*x3*Mar*Ks^2*beta,SA + 2*siga1*x2*x3*Mar*Ks*siga2*beta,SA + siga1*x2*x3*Ks^2*siga2*beta,SA - siga1*beta,SI*x4*phi*x3*siga2 + siga1*beta,SI*x4*x3*siga2 - siga1*beta,SI*phi*M*x3^2*siga2 - siga1*beta,SI*phi*x3^2*Ks*siga2 - siga1*beta,SI*phi*x3^2*siga2^2 + siga1*beta,SI*M*x3^2*siga2 + siga1*beta,SI*x3^2*Ks*siga2 + siga1*beta,SI*x3^2*siga2^2 + siga1*x4^2*beta,SA - siga1*x4*phi*M^2*siga2 - siga1*x4*phi*M*Mar*x6*siga2 - siga1*x4*phi*M*Ks*siga2 - siga1*x4*phi*M*beta*siga2 - siga1*x4*phi*M*siga2^2 - siga1*x4*phi*x3*Mar*beta,SA + siga1*x4*phi*x3*siga2*beta,SA + siga1*x4*M^2*siga2 + 2*siga1*x4*M*x3*beta,SA + siga1*x4*M*Mar*x6*siga2 + siga1*x4*M*Ks*siga2 + siga1*x4*M*beta*siga2 + siga1*x4*M*siga2^2 + siga1*x4*x3*Mar*beta,SA + 2*siga1*x4*x3*Ks*beta,SA + siga1*x4*x3*siga2*beta,SA - siga1*phi*M^2*x3*Mar*x6*siga2 - siga1*phi*M^2*x3*Ks*siga2 - siga1*phi*M^2*x3*beta*siga2 - siga1*phi*M^2*x3*siga2^2 - siga1*phi*M*x5*siga2 - siga1*phi*M*x3^2*Mar*beta,SA + siga1*phi*M*x3^2*siga2*beta,SA - siga1*phi*M*x3*Mar*x6*Ks*siga2 - siga1*phi*M*x3*Mar*x6*siga2^2 - siga1*phi*M*x3*Ks*beta*siga2 - siga1*phi*M*x3*Ks*siga2^2 - siga1*phi*M*x3*beta*siga2^2 - siga1*phi*x3^2*Mar*Ks*beta,SA - siga1*phi*x3^2*Mar*siga2*beta,SA + siga1*phi*x3^2*Ks*siga2*beta,SA + siga1*phi*x3^2*siga2^2*beta,SA + siga1*M^2*x3^2*beta,SA + siga1*M^2*x3*Mar*x6*siga2 + siga1*M^2*x3*Ks*siga2 + siga1*M^2*x3*beta*siga2 + siga1*M^2*x3*siga2^2 + siga1*M*x5*siga2 + siga1*M*x3^2*Mar*beta,SA + 2*siga1*M*x3^2*Ks*beta,SA + siga1*M*x3^2*siga2*beta,SA + siga1*M*x3*Mar*x6*Ks*siga2 + siga1*M*x3*Mar*x6*siga2^2 + siga1*M*x3*Ks*beta*siga2 + siga1*M*x3*Ks*siga2^2 + siga1*M*x3*beta*siga2^2 + siga1*x3^2*Mar*Ks*beta,SA + siga1*x3^2*Mar*siga2*beta,SA + siga1*x3^2*Ks^2*beta,SA + siga1*x3^2*Ks*siga2*beta,SA - x1*x2*beta,SI*phi*M*Mar*Ks^2*siga2^2 + x1*x2*beta,SI*M*Mar*Ks^2*siga2^2 - x1*x2*phi*M^2*Mar*Ks^2*siga2*beta,SA + x1*x2*phi*M^2*Ks^2*siga2^2*beta,SA + x1*x2*M^2*Mar*Ks^2*siga2*beta,SA - x1*beta,SI*x4*phi*M*Mar*Ks*siga2 - x1*beta,SI*x4*phi*Mar*Ks^2*siga2 - x1*beta,SI*x4*phi*Mar*Ks*siga2^2 + x1*beta,SI*x4*M*Mar*Ks*siga2 + x1*beta,SI*x4*Mar*Ks^2*siga2 + x1*beta,SI*x4*Mar*Ks*siga2^2 - x1*beta,SI*phi*alpa*Mar*Ks*siga2 - x1*beta,SI*phi*M*x3*Mar*Ks^2*siga2 - x1*beta,SI*phi*M*x3*Mar*Ks*siga2^2 - x1*beta,SI*phi*x5*Mar*Ks*siga2 - x1*beta,SI*phi*x3*Mar*Ks^2*siga2^2 + x1*beta,SI*alpa*Mar*Ks*siga2 + x1*beta,SI*M*x3*Mar*Ks^2*siga2 + x1*beta,SI*M*x3*Mar*Ks*siga2^2 + x1*beta,SI*x5*Mar*Ks*siga2 + x1*beta,SI*x3*Mar*Ks^2*siga2^2 - x1*x4*phi*M^2*Mar*Ks*beta,SA + x1*x4*phi*M^2*Ks*siga2*beta,SA - x1*x4*phi*M*Mar*Ks^2*beta,SA - x1*x4*phi*M*Mar*Ks*siga2*beta,SA + x1*x4*phi*M*Ks^2*siga2*beta,SA + x1*x4*phi*M*Ks*siga2^2*beta,SA + x1*x4*M^2*Mar*Ks*beta,SA + x1*x4*M*Mar*Ks^2*beta,SA + x1*x4*M*Mar*Ks*siga2*beta,SA - x1*phi*alpa*M*Mar*Ks*beta,SA + x1*phi*alpa*M*Ks*siga2*beta,SA - x1*phi*M^2*x3*Mar*Ks^2*beta,SA - x1*phi*M^2*x3*Mar*Ks*siga2*beta,SA + x1*phi*M^2*x3*Ks^2*siga2*beta,SA + +x1*phi*M^2*x3*Ks*siga2^2*beta,SA - x1*phi*M*x5*Mar*Ks*beta,SA + x1*phi*M*x5*Ks*siga2*beta,SA - x1*phi*M*x3*Mar*Ks^2*siga2*beta,SA + x1*phi*M*x3*Ks^2*siga2^2*beta,SA + x1*alpa*M*Mar*Ks*beta,SA + x1*M^2*x3*Mar*Ks^2*beta,SA + x1*M^2*x3*Mar*Ks*siga2*beta,SA + x1*M*x5*Mar*Ks*beta,SA + x1*M*x3*Mar*Ks^2*siga2*beta,SA - x2^2*beta,SI*phi*M*Mar*Ks*siga2^2 - x2^2*beta,SI*phi*M*Ks^2*siga2^2 + x2^2*beta,SI*M*Mar*Ks*siga2^2 + x2^2*beta,SI*M*Ks^2*siga2^2 - x2^2*phi*M^2*Mar*Ks*siga2*beta,SA + x2^2*phi*M^2*Ks*siga2^2*beta,SA - x2^2*phi*M*Mar*Ks^2*siga2*beta,SA + x2^2*phi*M*Ks^2*siga2^2*beta,SA + x2^2*M^2*Mar*Ks*siga2*beta,SA ++ x2^2*M^2*Ks^2*siga2*beta,SA + x2^2*M*Mar*Ks^2*siga2*beta,SA - x2*beta,SI*x4*phi*M*Mar*siga2 - x2*beta,SI*x4*phi*M*Ks*siga2 - x2*beta,SI*x4*phi*Mar*Ks*siga2 - x2*beta,SI*x4*phi*Mar*siga2^2 - x2*beta,SI*x4*phi*Ks^2*siga2 - x2*beta,SI*x4*phi*Ks*siga2^2 + x2*beta,SI*x4*M*Mar*siga2 + x2*beta,SI*x4*M*Ks*siga2 + x2*beta,SI*x4*Mar*Ks*siga2 + x2*beta,SI*x4*Mar*siga2^2 + x2*beta,SI*x4*Ks^2*siga2 + x2*beta,SI*x4*Ks*siga2^2 - x2*beta,SI*phi*alpa*Mar*siga2 - x2*beta,SI*phi*alpa*Ks*siga2 - x2*beta,SI*phi*M*x3*Mar*Ks*siga2 - x2*beta,SI*phi*M*x3*Mar*siga2^2 - x2*beta,SI*phi*M*x3*Ks^2*siga2 - 2*x2*beta,SI*phi*M*x3*Ks*siga2^2 - x2*beta,SI*phi*x5*Mar*siga2 - x2*beta,SI*phi*x5*Ks*siga2 - x2*beta,SI*phi*x3*Mar*Ks*siga2^2 - x2*beta,SI*phi*x3*Ks^2*siga2^2 + x2*beta,SI*alpa*Mar*siga2 + x2*beta,SI*alpa*Ks*siga2 + x2*beta,SI*M*x3*Mar*Ks*siga2 + x2*beta,SI*M*x3*Mar*siga2^2 + x2*beta,SI*M*x3*Ks^2*siga2 + 2*x2*beta,SI*M*x3*Ks*siga2^2 + x2*beta,SI*x5*Mar*siga2 + x2*beta,SI*x5*Ks*siga2 + x2*beta,SI*x3*Mar*Ks*siga2^2 + x2*beta,SI*x3*Ks^2*siga2^2 - x2*x4*phi*M^2*Mar*beta,SA + x2*x4*phi*M^2*siga2*beta,SA - 2*x2*x4*phi*M*Mar*Ks*beta,SA - x2*x4*phi*M*Mar*siga2*beta,SA + +2*x2*x4*phi*M*Ks*siga2*beta,SA + x2*x4*phi*M*siga2^2*beta,SA - x2*x4*phi*Mar*Ks^2*beta,SA - x2*x4*phi*Mar*Ks*siga2*beta,SA + x2*x4*phi*Ks^2*siga2*beta,SA ++ x2*x4*phi*Ks*siga2^2*beta,SA + x2*x4*M^2*Mar*beta,SA + x2*x4*M^2*Ks*beta,SA + 2*x2*x4*M*Mar*Ks*beta,SA + x2*x4*M*Mar*siga2*beta,SA + x2*x4*M*Ks^2*beta,SA + 2*x2*x4*M*Ks*siga2*beta,SA + x2*x4*Mar*Ks^2*beta,SA + x2*x4*Mar*Ks*siga2*beta,SA - x2*phi*alpa*M*Mar*beta,SA + x2*phi*alpa*M*siga2*beta,SA - x2*phi*alpa*Mar*Ks*beta,SA + x2*phi*alpa*Ks*siga2*beta,SA - x2*phi*M^2*x3*Mar*Ks*beta,SA - x2*phi*M^2*x3*Mar*siga2*beta,SA + x2*phi*M^2*x3*Ks*siga2*beta,SA + x2*phi*M^2*x3*siga2^2*beta,SA - x2*phi*M^2*Mar*x6*Ks*siga2^2 - x2*phi*M^2*Ks*beta*siga2^2 - x2*phi*M*x5*Mar*beta,SA + x2*phi*M*x5*siga2*beta,SA - x2*phi*M*x3*Mar*Ks^2*beta,SA - 3*x2*phi*M*x3*Mar*Ks*siga2*beta,SA + x2*phi*M*x3*Ks^2*siga2*beta,SA + 3*x2*phi*M*x3*Ks*siga2^2*beta,SA - x2*phi*x5*Mar*Ks*beta,SA + x2*phi*x5*Ks*siga2*beta,SA - x2*phi*x3*Mar*Ks^2*siga2*beta,SA + x2*phi*x3*Ks^2*siga2^2*beta,SA + x2*alpa*M*Mar*beta,SA + x2*alpa*M*Ks*beta,SA + x2*alpa*Mar*Ks*beta,SA + x2*M^2*x3*Mar*Ks*beta,SA + x2*M^2*x3*Mar*siga2*beta,SA + x2*M^2*x3*Ks^2*beta,SA + 2*x2*M^2*x3*Ks*siga2*beta,SA + x2*M^2*Mar*x6*Ks*siga2^2 + x2*M^2*Ks*beta*siga2^2 + x2*M*x5*Mar*beta,SA + x2*M*x5*Ks*beta,SA + x2*M*x3*Mar*Ks^2*beta,SA + 3*x2*M*x3*Mar*Ks*siga2*beta,SA + 2*x2*M*x3*Ks^2*siga2*beta,SA ++ x2*x5*Mar*Ks*beta,SA + x2*x3*Mar*Ks^2*siga2*beta,SA - beta,SI*x4*phi*M*x3*siga2 - beta,SI*x4*phi*x3*Ks*siga2 - beta,SI*x4*phi*x3*siga2^2 + beta,SI*x4*M*x3*siga2 + beta,SI*x4*x3*Ks*siga2 + beta,SI*x4*x3*siga2^2 - beta,SI*phi*alpa*x3*siga2 - beta,SI*phi*M*x3^2*Ks*siga2 - beta,SI*phi*M*x3^2*siga2^2 - beta,SI*phi*x5*x3*siga2 - beta,SI*phi*x3^2*Ks*siga2^2 + beta,SI*alpa*x3*siga2 + beta,SI*M*x3^2*Ks*siga2 + beta,SI*M*x3^2*siga2^2 + beta,SI*x5*x3*siga2 + beta,SI*x3^2*Ks*siga2^2 + x4^2*M*beta,SA + x4^2*Ks*beta,SA + x4^2*siga2*beta,SA - x4*phi*M^2*Mar*x6*siga2 - x4*phi*M^2*Ks*siga2 - x4*phi*M^2*beta*siga2 - x4*phi*M^2*siga2^2 - x4*phi*M*x3*Mar*beta,SA + x4*phi*M*x3*siga2*beta,SA - x4*phi*M*Mar*x6*Ks*siga2 - x4*phi*M*Mar*x6*siga2^2 - x4*phi*M*Ks*beta*siga2 - x4*phi*M*Ks*siga2^2 - x4*phi*M*beta*siga2^2 - x4*phi*x3*Mar*Ks*beta,SA - x4*phi*x3*Mar*siga2*beta,SA + x4*phi*x3*Ks*siga2*beta,SA + x4*phi*x3*siga2^2*beta,SA + x4*alpa*beta,SA + x4*M^2*x3*beta,SA + x4*M^2*Mar*x6*siga2 + x4*M^2*Ks*siga2 + x4*M^2*beta*siga2 + x4*M^2*siga2^2 + x4*M*x3*Mar*beta,SA + 3*x4*M*x3*Ks*beta,SA + 2*x4*M*x3*siga2*beta,SA + x4*M*Mar*x6*Ks*siga2 + x4*M*Mar*x6*siga2^2 + x4*M*Ks*beta*siga2 + x4*M*Ks*siga2^2 + x4*M*beta*siga2^2 + x4*x5*beta,SA + x4*x3*Mar*Ks*beta,SA + x4*x3*Mar*siga2*beta,SA + x4*x3*Ks^2*beta,SA + 2*x4*x3*Ks*siga2*beta,SA - phi*alpa*M*Mar*x6*siga2 - phi*alpa*M*beta*siga2 - phi*alpa*x3*Mar*beta,SA + phi*alpa*x3*siga2*beta,SA - phi*M^2*x5*siga2 - phi*M^2*x3*Mar*x6*Ks*siga2 - phi*M^2*x3*Mar*x6*siga2^2 - phi*M^2*x3*Ks*beta*siga2 - phi*M^2*x3*Ks*siga2^2 - phi*M^2*x3*beta*siga2^2 - phi*M*x5*Mar*x6*siga2 - phi*M*x5*Ks*siga2 - phi*M*x5*beta*siga2 - phi*M*x5*siga2^2 - phi*M*x3^2*Mar*Ks*beta,SA - +phi*M*x3^2*Mar*siga2*beta,SA + phi*M*x3^2*Ks*siga2*beta,SA + phi*M*x3^2*siga2^2*beta,SA - phi*M*x3*Mar*x6*Ks*siga2^2 - phi*M*x3*Ks*beta*siga2^2 - phi*x5*x3*Mar*beta,SA + phi*x5*x3*siga2*beta,SA - phi*x3^2*Mar*Ks*siga2*beta,SA + phi*x3^2*Ks*siga2^2*beta,SA + alpa*M*x3*beta,SA + alpa*M*Mar*x6*siga2 + alpa*M*beta*siga2 + alpa*x3*Mar*beta,SA + alpa*x3*Ks*beta,SA + M^2*x5*siga2 + M^2*x3^2*Ks*beta,SA + M^2*x3^2*siga2*beta,SA + M^2*x3*Mar*x6*Ks*siga2 + M^2*x3*Mar*x6*siga2^2 + M^2*x3*Ks*beta*siga2 + M^2*x3*Ks*siga2^2 + M^2*x3*beta*siga2^2 + +M*x5*x3*beta,SA + M*x5*Mar*x6*siga2 + M*x5*Ks*siga2 + M*x5*beta*siga2 + M*x5*siga2^2 + M*x3^2*Mar*Ks*beta,SA + M*x3^2*Mar*siga2*beta,SA + M*x3^2*Ks^2*beta,SA + 2*M*x3^2*Ks*siga2*beta,SA + M*x3*Mar*x6*Ks*siga2^2 + M*x3*Ks*beta*siga2^2 + x5*x3*Mar*beta,SA + x5*x3*Ks*beta,SA + x3^2*Mar*Ks*siga2*beta,SA + x3^2*Ks^2*siga2*beta,SA) / (phi*M*siga2 - M*siga2); +dx6/dt = (-x1*beta,SI*phi*Mar*Ks*siga2 + x1*beta,SI*Mar*Ks*siga2 - x1*phi*M*Mar*Ks*beta,SA + x1*phi*M*Ks*siga2*beta,SA + x1*M*Mar*Ks*beta,SA - x2*beta,SI*phi*Mar*siga2 - x2*beta,SI*phi*Ks*siga2 + x2*beta,SI*Mar*siga2 + x2*beta,SI*Ks*siga2 - x2*phi*M*Mar*beta,SA + x2*phi*M*siga2*beta,SA - x2*phi*Mar*Ks*beta,SA + x2*phi*Ks*siga2*beta,SA + x2*M*Mar*beta,SA + x2*M*Ks*beta,SA + x2*Mar*Ks*beta,SA - beta,SI*phi*x3*siga2 + beta,SI*x3*siga2 + x4*beta,SA - phi*M*Mar*x6*siga2 - phi*M*beta*siga2 - phi*x3*Mar*beta,SA + phi*x3*siga2*beta,SA + M*x3*beta,SA + M*Mar*x6*siga2 + M*beta*siga2 + x3*Mar*beta,SA + x3*Ks*beta,SA) / +(phi*M*siga2 - M*siga2); +y1 = x1 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/SEAIJRC_covid b/benchmarking/IdentifiableFunctions/COMBOS/SEAIJRC_covid new file mode 100644 index 000000000..7fe9f8b02 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/SEAIJRC_covid @@ -0,0 +1,9 @@ +dx1/dt = -b*x1*x7*x3*q - b*x1*x7*x4 - b*x1*x7*x5; +dx2/dt = b*x1*x7*x3*q + b*x1*x7*x4 + b*x1*x7*x5 - x2*k; +dx3/dt = -x2*k*r + x2*k - x3*g1; +dx4/dt = -alpha*x4 + x2*k*r - g1*x4; +dx5/dt = alpha*x4 - g2*x5; +dx6/dt = alpha*x4; +dx7/dt = 0; +y1 = x6; +y2 = x7 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/SIRS_forced b/benchmarking/IdentifiableFunctions/COMBOS/SIRS_forced new file mode 100644 index 000000000..c0f1c574a --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/SIRS_forced @@ -0,0 +1,7 @@ +dx1/dt = -b1*b0*x1*x4*x2 - b0*x1*x2 - x1*mu + mu + g*x3; +dx2/dt = -nu*x2 + b1*b0*x1*x4*x2 + b0*x1*x2 - mu*x2; +dx3/dt = nu*x2 - mu*x3 - g*x3; +dx4/dt = -M*x5; +dx5/dt = M*x4; +y1 = x2; +y2 = x3 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/SLIQR b/benchmarking/IdentifiableFunctions/COMBOS/SLIQR new file mode 100644 index 000000000..7a85ac2a8 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/SLIQR @@ -0,0 +1,5 @@ +dx1/dt = -b*x3*x1*Ninv - x1*Ninv*u1; +dx2/dt = b*x3*x1*Ninv - a*x2; +dx3/dt = -x3*g + s*x4 + a*x2; +dx4/dt = -e*x3*g + x3*g - s*x4; +y1 = x3*Ninv diff --git a/benchmarking/IdentifiableFunctions/COMBOS/goodwin b/benchmarking/IdentifiableFunctions/COMBOS/goodwin new file mode 100644 index 000000000..5513c811e --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/goodwin @@ -0,0 +1,5 @@ +dx1/dt = (-b*c*x1 - b*x1*x4 + 1) / (c + x4); +dx2/dt = alpha*x1 - beta*x2; +dx3/dt = gama*x2 - delta*x3; +dx4/dt = (gama*sigma*x2*x4 - delta*sigma*x3*x4) / (x3); +y1 = x1 diff --git a/benchmarking/IdentifiableFunctions/COMBOS/llw1987 b/benchmarking/IdentifiableFunctions/COMBOS/llw1987 new file mode 100644 index 000000000..7dc4d762f --- /dev/null +++ b/benchmarking/IdentifiableFunctions/COMBOS/llw1987 @@ -0,0 +1,4 @@ +dx1/dt = p2*u1 - p1*x1; +dx2/dt = -p3*x2 + p4*u1; +dx3/dt = p2*x2*u1 - p3*x3 + p4*u1*x1 - x3*p1; +y1 = x3 diff --git a/benchmarking/IdentifiableFunctions/SIAN/Akt_pathway b/benchmarking/IdentifiableFunctions/SIAN/Akt_pathway new file mode 100644 index 000000000..7518133a6 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/Akt_pathway @@ -0,0 +1,12 @@ +diff(EGFR(t), t) = -reaction_1_k1*EGF_EGFR(t) + reaction_1_k2*EGF_EGFR(t) - EGFR(t)*EGFR_turnover + EGFR_turnover*pro_EGFR(t), +diff(pAkt(t), t) = -pAkt(t)*reaction_7_k1 - pAkt(t)*reaction_5_k1*S6(t) + reaction_6_k1*pAkt_S6(t) + reaction_3_k1*pEGFR_Akt(t) + pAkt_S6(t)*reaction_5_k2, +diff(pEGFR_Akt(t), t) = pEGFR(t)*Akt(t)*reaction_2_k1 - reaction_3_k1*pEGFR_Akt(t) - pEGFR_Akt(t)*reaction_2_k2, +diff(S6(t), t) = pS6(t)*reaction_8_k1 - pAkt(t)*reaction_5_k1*S6(t) + pAkt_S6(t)*reaction_5_k2, +diff(pEGFR(t), t) = -reaction_4_k1*pEGFR(t) + reaction_9_k1*EGF_EGFR(t) - pEGFR(t)*Akt(t)*reaction_2_k1 + reaction_3_k1*pEGFR_Akt(t) + pEGFR_Akt(t)*reaction_2_k2, +diff(EGF_EGFR(t), t) = reaction_1_k1*EGF_EGFR(t) - reaction_9_k1*EGF_EGFR(t) - reaction_1_k2*EGF_EGFR(t), +diff(Akt(t), t) = pAkt(t)*reaction_7_k1 - pEGFR(t)*Akt(t)*reaction_2_k1 + pEGFR_Akt(t)*reaction_2_k2, +diff(pAkt_S6(t), t) = pAkt(t)*reaction_5_k1*S6(t) - reaction_6_k1*pAkt_S6(t) - pAkt_S6(t)*reaction_5_k2, +diff(pS6(t), t) = -pS6(t)*reaction_8_k1 + reaction_6_k1*pAkt_S6(t), +y1(t) = pEGFR(t)*a1 + a1*pEGFR_Akt(t), +y2(t) = a2*pAkt(t) + a2*pAkt_S6(t), +y3(t) = pS6(t)*a3 diff --git a/benchmarking/IdentifiableFunctions/SIAN/Biohydrogenation b/benchmarking/IdentifiableFunctions/SIAN/Biohydrogenation new file mode 100644 index 000000000..5f7d69317 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/Biohydrogenation @@ -0,0 +1,6 @@ +dx1/dt = (-k5*x1) / (k6 + x1), +dx2/dt = (k5*k8*x1 + k5*x3*x1 + k5*x2*x1 - k6*x2*k7 - x2*k7*x1) / (k8*k6 + k8*x1 + k6*x3 + k6*x2 + x3*x1 + x2*x1), +dx3/dt = (-k8*k9*k10*x3 + k8*k9*x3^2 - k9*k10*x3^2 - k9*k10*x3*x2 + k9*x3^3 + k9*x3^2*x2 + k10*x2*k7) / (k8*k10 + k10*x3 + k10*x2), +dx4/dt = (k9*k10*x3 - k9*x3^2) / (k10), +y1 = x1, +y2 = x2 diff --git a/benchmarking/IdentifiableFunctions/SIAN/CGV1990 b/benchmarking/IdentifiableFunctions/SIAN/CGV1990 new file mode 100644 index 000000000..8af09a1be --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/CGV1990 @@ -0,0 +1,6 @@ +dx1/dt = -k3*x1 - x1*k7 + k4*x2 + u(t), +dx2/dt = (5*k5*x4*V36*x2 - 5*k5*S*V36^2*x2 - k5*R*x2*V3^2 + k5*x2*x3*V3 + k3*x1*V3 + x4*k6*V3 - k4*x2*V3 + k6*x3*V3) / (V3), +dx3/dt = k5*R*x2*V3 - k5*x2*x3 - k6*x3, +dx4/dt = (-5*k5*x4*V36*x2 + 5*k5*S*V36^2*x2 - x4*k6*V3) / (V3), +dx5/dt = x1*k7, +y1 = x5 diff --git a/benchmarking/IdentifiableFunctions/SIAN/HIV b/benchmarking/IdentifiableFunctions/SIAN/HIV new file mode 100644 index 000000000..4442b5e8d --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/HIV @@ -0,0 +1,7 @@ +dx1/dt = lm - x1*d - x1*x3*beta, +dx2/dt = x1*x3*beta - a*x2, +dx3/dt = k*x2 - x3*u(t), +dx4/dt = -b*x4 + c*x4*x1*x2 - c*x4*q*x2, +dx5/dt = c*x4*q*x2 - h*x5, +y1 = x4, +y2 = x5 diff --git a/benchmarking/IdentifiableFunctions/SIAN/HighDimNonLin b/benchmarking/IdentifiableFunctions/SIAN/HighDimNonLin new file mode 100644 index 000000000..26cb3c9f5 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/HighDimNonLin @@ -0,0 +1,40 @@ +dx1/dt = (-p1*km*x1 - p1*x1^2 + km*u1(t) - x1*vm + x1*u1(t)) / (km + x1), +dx2/dt = -p2*x2 + p1*x1, +dx3/dt = p2*x2 - x3*p3, +dx4/dt = x3*p3 - x4*p4, +dx5/dt = -p5*x5 + x4*p4, +dx6/dt = -p6*x6 + p5*x5, +dx7/dt = -p7*x7 + p6*x6, +dx8/dt = p7*x7 - p8*x8, +dx9/dt = -x9*p9 + p8*x8, +dx10/dt = x9*p9 - x10*p10, +dx11/dt = x10*p10 - x11*p11, +dx12/dt = x11*p11 - p12*x12, +dx13/dt = -x13*p13 + p12*x12, +dx14/dt = x13*p13 - p14*x14, +dx15/dt = -p15*x15 + p14*x14, +dx16/dt = p15*x15 - x16*p16, +dx17/dt = -p17*x17 + x16*p16, +dx18/dt = -p18*x18 + p17*x17, +dx19/dt = -x19*p19 + p18*x18, +dx20/dt = -p20*x20 + x19*p19, +y1 = x1, +y2 = x2, +y3 = x3, +y4 = x4, +y5 = x5, +y6 = x6, +y7 = x7, +y8 = x8, +y9 = x9, +y10 = x10, +y11 = x11, +y12 = x12, +y13 = x13, +y14 = x14, +y15 = x15, +y16 = x16, +y17 = x17, +y18 = x18, +y19 = x19, +y20 = x20 diff --git a/benchmarking/IdentifiableFunctions/SIAN/MAPK_5o b/benchmarking/IdentifiableFunctions/SIAN/MAPK_5o new file mode 100644 index 000000000..6a050d758 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/MAPK_5o @@ -0,0 +1,17 @@ +diff(KS01(t), t) = c0001*KS00(t) + FS11(t)*gamma1101 - F(t)*alpha01*S01(t) + FS01(t)*beta01 - K(t)*S01(t)*a01 + KS01(t)*b01, +diff(S01(t), t) = -FS11(t)*beta11 - FS11(t)*gamma1100 - FS11(t)*gamma1101 - FS11(t)*gamma1110 + F(t)*alpha11*S11(t), +diff(S10(t), t) = c0001*KS00(t) - a10*K(t)*S10(t) + KS10(t)*b10 + KS10(t)*c1011 + b00*KS00(t) + c0111*KS01(t) - S00(t)*K(t)*a00 - K(t)*S01(t)*a01 + c0011*KS00(t) + c0010*KS00(t) + KS01(t)*b01, +diff(FS10(t), t) = -c0001*KS00(t) - b00*KS00(t) + S00(t)*K(t)*a00 - c0011*KS00(t) - c0010*KS00(t), +diff(FS11(t), t) = -c0111*KS01(t) + K(t)*S01(t)*a01 - KS01(t)*b01, +diff(KS10(t), t) = -a10*K(t)*S10(t) + FS11(t)*gamma1110 - F(t)*alpha10*S10(t) + KS10(t)*b10 + beta10*FS10(t) + c0010*KS00(t), +diff(FS01(t), t) = FS11(t)*beta11 - F(t)*alpha11*S11(t) + KS10(t)*c1011 + c0111*KS01(t) + c0011*KS00(t), +diff(S00(t), t) = F(t)*alpha10*S10(t) - gamma1000*FS10(t) - beta10*FS10(t), +diff(K(t), t) = a10*K(t)*S10(t) - KS10(t)*b10 - KS10(t)*c1011, +diff(KS00(t), t) = FS11(t)*gamma1100 + gamma1000*FS10(t) + FS01(t)*gamma0100 + b00*KS00(t) - S00(t)*K(t)*a00, +diff(S11(t), t) = FS11(t)*beta11 + FS11(t)*gamma1100 + FS11(t)*gamma1101 + FS11(t)*gamma1110 - F(t)*alpha10*S10(t) - F(t)*alpha11*S11(t) - F(t)*alpha01*S01(t) + gamma1000*FS10(t) + FS01(t)*beta01 + FS01(t)*gamma0100 + beta10*FS10(t), +diff(F(t), t) = F(t)*alpha01*S01(t) - FS01(t)*beta01 - FS01(t)*gamma0100, +y1(t) = F(t), +y5(t) = S11(t), +y4(t) = S10(t), +y2(t) = S00(t), +y3(t) = S01(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/MAPK_6o b/benchmarking/IdentifiableFunctions/SIAN/MAPK_6o new file mode 100644 index 000000000..ec253fb9e --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/MAPK_6o @@ -0,0 +1,18 @@ +diff(KS00(t), t) = FS11(t)*gamma1100 + gamma1000*FS10(t) + FS01(t)*gamma0100 + b00*KS00(t) - S00(t)*K(t)*a00, +diff(FS01(t), t) = FS11(t)*beta11 - F(t)*alpha11*S11(t) + KS10(t)*c1011 + c0111*KS01(t) + c0011*KS00(t), +diff(KS10(t), t) = -a10*K(t)*S10(t) + FS11(t)*gamma1110 - F(t)*alpha10*S10(t) + KS10(t)*b10 + beta10*FS10(t) + c0010*KS00(t), +diff(S11(t), t) = FS11(t)*beta11 + FS11(t)*gamma1100 + FS11(t)*gamma1101 + FS11(t)*gamma1110 - F(t)*alpha10*S10(t) - F(t)*alpha11*S11(t) - F(t)*alpha01*S01(t) + gamma1000*FS10(t) + FS01(t)*beta01 + FS01(t)*gamma0100 + beta10*FS10(t), +diff(S01(t), t) = -FS11(t)*beta11 - FS11(t)*gamma1100 - FS11(t)*gamma1101 - FS11(t)*gamma1110 + F(t)*alpha11*S11(t), +diff(S00(t), t) = F(t)*alpha10*S10(t) - gamma1000*FS10(t) - beta10*FS10(t), +diff(KS01(t), t) = c0001*KS00(t) + FS11(t)*gamma1101 - F(t)*alpha01*S01(t) + FS01(t)*beta01 - K(t)*S01(t)*a01 + KS01(t)*b01, +diff(S10(t), t) = c0001*KS00(t) - a10*K(t)*S10(t) + KS10(t)*b10 + KS10(t)*c1011 + b00*KS00(t) + c0111*KS01(t) - S00(t)*K(t)*a00 - K(t)*S01(t)*a01 + c0011*KS00(t) + c0010*KS00(t) + KS01(t)*b01, +diff(K(t), t) = a10*K(t)*S10(t) - KS10(t)*b10 - KS10(t)*c1011, +diff(FS10(t), t) = -c0001*KS00(t) - b00*KS00(t) + S00(t)*K(t)*a00 - c0011*KS00(t) - c0010*KS00(t), +diff(FS11(t), t) = -c0111*KS01(t) + K(t)*S01(t)*a01 - KS01(t)*b01, +diff(F(t), t) = F(t)*alpha01*S01(t) - FS01(t)*beta01 - FS01(t)*gamma0100, +y0(t) = K(t), +y4(t) = S10(t), +y3(t) = S01(t), +y1(t) = F(t), +y5(t) = S11(t), +y2(t) = S00(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/PK1 b/benchmarking/IdentifiableFunctions/SIAN/PK1 new file mode 100644 index 000000000..58641bf56 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/PK1 @@ -0,0 +1,6 @@ +diff(x2(t), t) = k5*x4(t) - k3*x2(t) - k6*x2(t) + k1*x1(t) - k7*x2(t), +diff(x1(t), t) = u1(t) - k2*x1(t) - k1*x1(t), +diff(x3(t), t) = k3*x2(t) - k4*x3(t) + k2*x1(t), +diff(x4(t), t) = -k5*x4(t) + k6*x2(t), +y2(t) = s3*x3(t), +y1(t) = s2*x2(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/PK2 b/benchmarking/IdentifiableFunctions/SIAN/PK2 new file mode 100644 index 000000000..abe8f3175 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/PK2 @@ -0,0 +1,5 @@ +diff(x0(t), t) = (-ka*n*x0(t) - ka*kc*a1*x0(t) + ka*kc*a1*x1(t) - ka*a1*x0(t)^2 + ka*a1*x0(t)*x1(t) - kc*a1*x0(t)*x2(t) + kc*a1*x1(t)*x2(t)) / (ka*kc + ka*x0(t) + kc*x2(t)), +diff(x1(t), t) = a2*x0(t) - a2*x1(t), +diff(x3(t), t) = -b2*x3(t) + b2*x2(t), +diff(x2(t), t) = (ka*kc*b1*x3(t) - ka*kc*b1*x2(t) + ka*b1*x0(t)*x3(t) - ka*b1*x0(t)*x2(t) - n*kc*x2(t) + kc*b1*x3(t)*x2(t) - kc*b1*x2(t)^2) / (ka*kc + ka*x0(t) + kc*x2(t)), +y1(t) = x0(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/QY b/benchmarking/IdentifiableFunctions/SIAN/QY new file mode 100644 index 000000000..cae7fa9a1 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/QY @@ -0,0 +1,7 @@ +diff(P0(t), t) = P1(t), +diff(P1(t), t) = P2(t), +diff(P2(t), t) = P3(t), +diff(P3(t), t) = P4(t), +diff(P5(t), t) = (-P0(t)*beta_SI*phi*Mar*Ks*siga2 + P0(t)*beta_SI*Mar*Ks*siga2 - P0(t)*phi*M*Mar*Ks*beta_SA + P0(t)*phi*M*Ks*siga2*beta_SA + P0(t)*M*Mar*Ks*beta_SA - P1(t)*beta_SI*phi*Mar*siga2 - P1(t)*beta_SI*phi*Ks*siga2 + P1(t)*beta_SI*Mar*siga2 + P1(t)*beta_SI*Ks*siga2 - P1(t)*phi*M*Mar*beta_SA + P1(t)*phi*M*siga2*beta_SA - P1(t)*phi*Mar*Ks*beta_SA + P1(t)*phi*Ks*siga2*beta_SA + P1(t)*M*Mar*beta_SA + P1(t)*M*Ks*beta_SA + P1(t)*Mar*Ks*beta_SA - beta_SI*phi*P2(t)*siga2 + beta_SI*P2(t)*siga2 + P3(t)*beta_SA - phi*M*Mar*P5(t)*siga2 - phi*M*beta*siga2 - phi*P2(t)*Mar*beta_SA + phi*P2(t)*siga2*beta_SA + M*P2(t)*beta_SA + M*Mar*P5(t)*siga2 + M*beta*siga2 + P2(t)*Mar*beta_SA + P2(t)*Ks*beta_SA) / (phi*M*siga2 - M*siga2), +diff(P4(t), t) = (-siga1*P0(t)^2*beta_SI*phi*M*Mar*Ks^2*siga2^2 + siga1*P0(t)^2*beta_SI*M*Mar*Ks^2*siga2^2 - siga1*P0(t)^2*phi*M^2*Mar*Ks^2*siga2*beta_SA + siga1*P0(t)^2*phi*M^2*Ks^2*siga2^2*beta_SA + siga1*P0(t)^2*M^2*Mar*Ks^2*siga2*beta_SA - siga1*P0(t)*P1(t)*beta_SI*phi*M*Mar*Ks^2*siga2 - 2*siga1*P0(t)*P1(t)*beta_SI*phi*M*Mar*Ks*siga2^2 - siga1*P0(t)*P1(t)*beta_SI*phi*M*Ks^2*siga2^2 - siga1*P0(t)*P1(t)*beta_SI*phi*Mar*Ks^2*siga2^2 + siga1*P0(t)*P1(t)*beta_SI*M*Mar*Ks^2*siga2 + 2*siga1*P0(t)*P1(t)*beta_SI*M*Mar*Ks*siga2^2 + siga1*P0(t)*P1(t)*beta_SI*M*Ks^2*siga2^2 + siga1*P0(t)*P1(t)*beta_SI*Mar*Ks^2*siga2^2 - siga1*P0(t)*P1(t)*phi*M^2*Mar*Ks^2*beta_SA - 2*siga1*P0(t)*P1(t)*phi*M^2*Mar*Ks*siga2*beta_SA + siga1*P0(t)*P1(t)*phi*M^2*Ks^2*siga2*beta_SA + 2*siga1*P0(t)*P1(t)*phi*M^2*Ks*siga2^2*beta_SA - 2*siga1*P0(t)*P1(t)*phi*M*Mar*Ks^2*siga2*beta_SA + 2*siga1*P0(t)*P1(t)*phi*M*Ks^2*siga2^2*beta_SA + siga1*P0(t)*P1(t)*M^2*Mar*Ks^2*beta_SA + 2*siga1*P0(t)*P1(t)*M^2*Mar*Ks*siga2*beta_SA + siga1*P0(t)*P1(t)*M^2*Ks^2*siga2*beta_SA + 2*siga1*P0(t)*P1(t)*M*Mar*Ks^2*siga2*beta_SA - siga1*P0(t)*beta_SI*P3(t)*phi*Mar*Ks*siga2 + siga1*P0(t)*beta_SI*P3(t)*Mar*Ks*siga2 - siga1*P0(t)*beta_SI*phi*M*P2(t)*Mar*Ks*siga2 - siga1*P0(t)*beta_SI*phi*M*P2(t)*Ks*siga2^2 - siga1*P0(t)*beta_SI*phi*P2(t)*Mar*Ks^2*siga2 - siga1*P0(t)*beta_SI*phi*P2(t)*Mar*Ks*siga2^2 + siga1*P0(t)*beta_SI*M*P2(t)*Mar*Ks*siga2 + siga1*P0(t)*beta_SI*M*P2(t)*Ks*siga2^2 + siga1*P0(t)*beta_SI*P2(t)*Mar*Ks^2*siga2 + siga1*P0(t)*beta_SI*P2(t)*Mar*Ks*siga2^2 - siga1*P0(t)*P3(t)*phi*M*Mar*Ks*beta_SA + siga1*P0(t)*P3(t)*phi*M*Ks*siga2*beta_SA + siga1*P0(t)*P3(t)*M*Mar*Ks*beta_SA + siga1*P0(t)*P3(t)*M*Ks*siga2*beta_SA - siga1*P0(t)*phi*M^2*P2(t)*Mar*Ks*beta_SA + siga1*P0(t)*phi*M^2*P2(t)*Ks*siga2*beta_SA - siga1*P0(t)*phi*M^2*Mar*P5(t)*Ks*siga2^2 - siga1*P0(t)*phi*M^2*Ks*beta*siga2^2 - siga1*P0(t)*phi*M*P2(t)*Mar*Ks^2*beta_SA - 2*siga1*P0(t)*phi*M*P2(t)*Mar*Ks*siga2*beta_SA + siga1*P0(t)*phi*M*P2(t)*Ks^2*siga2*beta_SA + 2*siga1*P0(t)*phi*M*P2(t)*Ks*siga2^2*beta_SA + siga1*P0(t)*M^2*P2(t)*Mar*Ks*beta_SA + siga1*P0(t)*M^2*P2(t)*Ks*siga2*beta_SA + siga1*P0(t)*M^2*Mar*P5(t)*Ks*siga2^2 + siga1*P0(t)*M^2*Ks*beta*siga2^2 + siga1*P0(t)*M*P2(t)*Mar*Ks^2*beta_SA + 2*siga1*P0(t)*M*P2(t)*Mar*Ks*siga2*beta_SA + siga1*P0(t)*M*P2(t)*Ks^2*siga2*beta_SA - siga1*P1(t)^2*beta_SI*phi*M*Mar*Ks*siga2 - siga1*P1(t)^2*beta_SI*phi*M*Mar*siga2^2 - siga1*P1(t)^2*beta_SI*phi*M*Ks^2*siga2 - siga1*P1(t)^2*beta_SI*phi*M*Ks*siga2^2 - siga1*P1(t)^2*beta_SI*phi*Mar*Ks*siga2^2 - siga1*P1(t)^2*beta_SI*phi*Ks^2*siga2^2 + siga1*P1(t)^2*beta_SI*M*Mar*Ks*siga2 + siga1*P1(t)^2*beta_SI*M*Mar*siga2^2 + siga1*P1(t)^2*beta_SI*M*Ks^2*siga2 + siga1*P1(t)^2*beta_SI*M*Ks*siga2^2 + siga1*P1(t)^2*beta_SI*Mar*Ks*siga2^2 + siga1*P1(t)^2*beta_SI*Ks^2*siga2^2 - siga1*P1(t)^2*phi*M^2*Mar*Ks*beta_SA - siga1*P1(t)^2*phi*M^2*Mar*siga2*beta_SA + siga1*P1(t)^2*phi*M^2*Ks*siga2*beta_SA + siga1*P1(t)^2*phi*M^2*siga2^2*beta_SA - siga1*P1(t)^2*phi*M*Mar*Ks^2*beta_SA - 2*siga1*P1(t)^2*phi*M*Mar*Ks*siga2*beta_SA + siga1*P1(t)^2*phi*M*Ks^2*siga2*beta_SA + 2*siga1*P1(t)^2*phi*M*Ks*siga2^2*beta_SA - siga1*P1(t)^2*phi*Mar*Ks^2*siga2*beta_SA + siga1*P1(t)^2*phi*Ks^2*siga2^2*beta_SA + siga1*P1(t)^2*M^2*Mar*Ks*beta_SA + siga1*P1(t)^2*M^2*Mar*siga2*beta_SA + siga1*P1(t)^2*M^2*Ks^2*beta_SA + siga1*P1(t)^2*M^2*Ks*siga2*beta_SA + siga1*P1(t)^2*M*Mar*Ks^2*beta_SA + 2*siga1*P1(t)^2*M*Mar*Ks*siga2*beta_SA + siga1*P1(t)^2*M*Ks^2*siga2*beta_SA + siga1*P1(t)^2*Mar*Ks^2*siga2*beta_SA - siga1*P1(t)*beta_SI*P3(t)*phi*Mar*siga2 - siga1*P1(t)*beta_SI*P3(t)*phi*Ks*siga2 + siga1*P1(t)*beta_SI*P3(t)*Mar*siga2 + siga1*P1(t)*beta_SI*P3(t)*Ks*siga2 - siga1*P1(t)*beta_SI*phi*M*P2(t)*Mar*siga2 - 2*siga1*P1(t)*beta_SI*phi*M*P2(t)*Ks*siga2 - siga1*P1(t)*beta_SI*phi*M*P2(t)*siga2^2 - siga1*P1(t)*beta_SI*phi*P2(t)*Mar*Ks*siga2 - siga1*P1(t)*beta_SI*phi*P2(t)*Mar*siga2^2 - siga1*P1(t)*beta_SI*phi*P2(t)*Ks^2*siga2 - 2*siga1*P1(t)*beta_SI*phi*P2(t)*Ks*siga2^2 + siga1*P1(t)*beta_SI*M*P2(t)*Mar*siga2 + 2*siga1*P1(t)*beta_SI*M*P2(t)*Ks*siga2 + siga1*P1(t)*beta_SI*M*P2(t)*siga2^2 + siga1*P1(t)*beta_SI*P2(t)*Mar*Ks*siga2 + siga1*P1(t)*beta_SI*P2(t)*Mar*siga2^2 + siga1*P1(t)*beta_SI*P2(t)*Ks^2*siga2 + 2*siga1*P1(t)*beta_SI*P2(t)*Ks*siga2^2 - siga1*P1(t)*P3(t)*phi*M*Mar*beta_SA + siga1*P1(t)*P3(t)*phi*M*siga2*beta_SA - siga1*P1(t)*P3(t)*phi*Mar*Ks*beta_SA + siga1*P1(t)*P3(t)*phi*Ks*siga2*beta_SA + siga1*P1(t)*P3(t)*M*Mar*beta_SA + 2*siga1*P1(t)*P3(t)*M*Ks*beta_SA + siga1*P1(t)*P3(t)*M*siga2*beta_SA + siga1*P1(t)*P3(t)*Mar*Ks*beta_SA + siga1*P1(t)*P3(t)*Ks*siga2*beta_SA - siga1*P1(t)*phi*M^2*P2(t)*Mar*beta_SA + siga1*P1(t)*phi*M^2*P2(t)*siga2*beta_SA - siga1*P1(t)*phi*M^2*Mar*P5(t)*Ks*siga2 - siga1*P1(t)*phi*M^2*Mar*P5(t)*siga2^2 - siga1*P1(t)*phi*M^2*Ks*beta*siga2 - siga1*P1(t)*phi*M^2*Ks*siga2^2 - siga1*P1(t)*phi*M^2*beta*siga2^2 - 3*siga1*P1(t)*phi*M*P2(t)*Mar*Ks*beta_SA - 2*siga1*P1(t)*phi*M*P2(t)*Mar*siga2*beta_SA + 3*siga1*P1(t)*phi*M*P2(t)*Ks*siga2*beta_SA + 2*siga1*P1(t)*phi*M*P2(t)*siga2^2*beta_SA - siga1*P1(t)*phi*M*Mar*P5(t)*Ks*siga2^2 - siga1*P1(t)*phi*M*Ks*beta*siga2^2 - siga1*P1(t)*phi*P2(t)*Mar*Ks^2*beta_SA - 2*siga1*P1(t)*phi*P2(t)*Mar*Ks*siga2*beta_SA + siga1*P1(t)*phi*P2(t)*Ks^2*siga2*beta_SA + 2*siga1*P1(t)*phi*P2(t)*Ks*siga2^2*beta_SA + siga1*P1(t)*M^2*P2(t)*Mar*beta_SA + 2*siga1*P1(t)*M^2*P2(t)*Ks*beta_SA + siga1*P1(t)*M^2*P2(t)*siga2*beta_SA + siga1*P1(t)*M^2*Mar*P5(t)*Ks*siga2 + siga1*P1(t)*M^2*Mar*P5(t)*siga2^2 + siga1*P1(t)*M^2*Ks*beta*siga2 + siga1*P1(t)*M^2*Ks*siga2^2 + siga1*P1(t)*M^2*beta*siga2^2 + 3*siga1*P1(t)*M*P2(t)*Mar*Ks*beta_SA + 2*siga1*P1(t)*M*P2(t)*Mar*siga2*beta_SA + 2*siga1*P1(t)*M*P2(t)*Ks^2*beta_SA + 3*siga1*P1(t)*M*P2(t)*Ks*siga2*beta_SA + siga1*P1(t)*M*Mar*P5(t)*Ks*siga2^2 + siga1*P1(t)*M*Ks*beta*siga2^2 + siga1*P1(t)*P2(t)*Mar*Ks^2*beta_SA + 2*siga1*P1(t)*P2(t)*Mar*Ks*siga2*beta_SA + siga1*P1(t)*P2(t)*Ks^2*siga2*beta_SA - siga1*beta_SI*P3(t)*phi*P2(t)*siga2 + siga1*beta_SI*P3(t)*P2(t)*siga2 - siga1*beta_SI*phi*M*P2(t)^2*siga2 - siga1*beta_SI*phi*P2(t)^2*Ks*siga2 - siga1*beta_SI*phi*P2(t)^2*siga2^2 + siga1*beta_SI*M*P2(t)^2*siga2 + siga1*beta_SI*P2(t)^2*Ks*siga2 + siga1*beta_SI*P2(t)^2*siga2^2 + siga1*P3(t)^2*beta_SA - siga1*P3(t)*phi*M^2*siga2 - siga1*P3(t)*phi*M*Mar*P5(t)*siga2 - siga1*P3(t)*phi*M*Ks*siga2 - siga1*P3(t)*phi*M*beta*siga2 - siga1*P3(t)*phi*M*siga2^2 - siga1*P3(t)*phi*P2(t)*Mar*beta_SA + siga1*P3(t)*phi*P2(t)*siga2*beta_SA + siga1*P3(t)*M^2*siga2 + 2*siga1*P3(t)*M*P2(t)*beta_SA + siga1*P3(t)*M*Mar*P5(t)*siga2 + siga1*P3(t)*M*Ks*siga2 + siga1*P3(t)*M*beta*siga2 + siga1*P3(t)*M*siga2^2 + siga1*P3(t)*P2(t)*Mar*beta_SA + 2*siga1*P3(t)*P2(t)*Ks*beta_SA + siga1*P3(t)*P2(t)*siga2*beta_SA - siga1*phi*M^2*P2(t)*Mar*P5(t)*siga2 - siga1*phi*M^2*P2(t)*Ks*siga2 - siga1*phi*M^2*P2(t)*beta*siga2 - siga1*phi*M^2*P2(t)*siga2^2 - siga1*phi*M*P4(t)*siga2 - siga1*phi*M*P2(t)^2*Mar*beta_SA + siga1*phi*M*P2(t)^2*siga2*beta_SA - siga1*phi*M*P2(t)*Mar*P5(t)*Ks*siga2 - siga1*phi*M*P2(t)*Mar*P5(t)*siga2^2 - siga1*phi*M*P2(t)*Ks*beta*siga2 - siga1*phi*M*P2(t)*Ks*siga2^2 - siga1*phi*M*P2(t)*beta*siga2^2 - siga1*phi*P2(t)^2*Mar*Ks*beta_SA - siga1*phi*P2(t)^2*Mar*siga2*beta_SA + siga1*phi*P2(t)^2*Ks*siga2*beta_SA + siga1*phi*P2(t)^2*siga2^2*beta_SA + siga1*M^2*P2(t)^2*beta_SA + siga1*M^2*P2(t)*Mar*P5(t)*siga2 + siga1*M^2*P2(t)*Ks*siga2 + siga1*M^2*P2(t)*beta*siga2 + siga1*M^2*P2(t)*siga2^2 + siga1*M*P4(t)*siga2 + siga1*M*P2(t)^2*Mar*beta_SA + 2*siga1*M*P2(t)^2*Ks*beta_SA + siga1*M*P2(t)^2*siga2*beta_SA + siga1*M*P2(t)*Mar*P5(t)*Ks*siga2 + siga1*M*P2(t)*Mar*P5(t)*siga2^2 + siga1*M*P2(t)*Ks*beta*siga2 + siga1*M*P2(t)*Ks*siga2^2 + siga1*M*P2(t)*beta*siga2^2 + siga1*P2(t)^2*Mar*Ks*beta_SA + siga1*P2(t)^2*Mar*siga2*beta_SA + siga1*P2(t)^2*Ks^2*beta_SA + siga1*P2(t)^2*Ks*siga2*beta_SA - P0(t)*P1(t)*beta_SI*phi*M*Mar*Ks^2*siga2^2 + P0(t)*P1(t)*beta_SI*M*Mar*Ks^2*siga2^2 - P0(t)*P1(t)*phi*M^2*Mar*Ks^2*siga2*beta_SA + P0(t)*P1(t)*phi*M^2*Ks^2*siga2^2*beta_SA + P0(t)*P1(t)*M^2*Mar*Ks^2*siga2*beta_SA - P0(t)*beta_SI*P3(t)*phi*M*Mar*Ks*siga2 - P0(t)*beta_SI*P3(t)*phi*Mar*Ks^2*siga2 - P0(t)*beta_SI*P3(t)*phi*Mar*Ks*siga2^2 + P0(t)*beta_SI*P3(t)*M*Mar*Ks*siga2 + P0(t)*beta_SI*P3(t)*Mar*Ks^2*siga2 + P0(t)*beta_SI*P3(t)*Mar*Ks*siga2^2 - P0(t)*beta_SI*phi*alpa*Mar*Ks*siga2 - P0(t)*beta_SI*phi*M*P2(t)*Mar*Ks^2*siga2 - P0(t)*beta_SI*phi*M*P2(t)*Mar*Ks*siga2^2 - P0(t)*beta_SI*phi*P4(t)*Mar*Ks*siga2 - P0(t)*beta_SI*phi*P2(t)*Mar*Ks^2*siga2^2 + P0(t)*beta_SI*alpa*Mar*Ks*siga2 + P0(t)*beta_SI*M*P2(t)*Mar*Ks^2*siga2 + P0(t)*beta_SI*M*P2(t)*Mar*Ks*siga2^2 + P0(t)*beta_SI*P4(t)*Mar*Ks*siga2 + P0(t)*beta_SI*P2(t)*Mar*Ks^2*siga2^2 - P0(t)*P3(t)*phi*M^2*Mar*Ks*beta_SA + P0(t)*P3(t)*phi*M^2*Ks*siga2*beta_SA - P0(t)*P3(t)*phi*M*Mar*Ks^2*beta_SA - P0(t)*P3(t)*phi*M*Mar*Ks*siga2*beta_SA + P0(t)*P3(t)*phi*M*Ks^2*siga2*beta_SA + P0(t)*P3(t)*phi*M*Ks*siga2^2*beta_SA + P0(t)*P3(t)*M^2*Mar*Ks*beta_SA + P0(t)*P3(t)*M*Mar*Ks^2*beta_SA + P0(t)*P3(t)*M*Mar*Ks*siga2*beta_SA - P0(t)*phi*alpa*M*Mar*Ks*beta_SA + P0(t)*phi*alpa*M*Ks*siga2*beta_SA - P0(t)*phi*M^2*P2(t)*Mar*Ks^2*beta_SA - P0(t)*phi*M^2*P2(t)*Mar*Ks*siga2*beta_SA + P0(t)*phi*M^2*P2(t)*Ks^2*siga2*beta_SA + P0(t)*phi*M^2*P2(t)*Ks*siga2^2*beta_SA - P0(t)*phi*M*P4(t)*Mar*Ks*beta_SA + P0(t)*phi*M*P4(t)*Ks*siga2*beta_SA - P0(t)*phi*M*P2(t)*Mar*Ks^2*siga2*beta_SA + P0(t)*phi*M*P2(t)*Ks^2*siga2^2*beta_SA + P0(t)*alpa*M*Mar*Ks*beta_SA + P0(t)*M^2*P2(t)*Mar*Ks^2*beta_SA + P0(t)*M^2*P2(t)*Mar*Ks*siga2*beta_SA + P0(t)*M*P4(t)*Mar*Ks*beta_SA + P0(t)*M*P2(t)*Mar*Ks^2*siga2*beta_SA - P1(t)^2*beta_SI*phi*M*Mar*Ks*siga2^2 - P1(t)^2*beta_SI*phi*M*Ks^2*siga2^2 + P1(t)^2*beta_SI*M*Mar*Ks*siga2^2 + P1(t)^2*beta_SI*M*Ks^2*siga2^2 - P1(t)^2*phi*M^2*Mar*Ks*siga2*beta_SA + P1(t)^2*phi*M^2*Ks*siga2^2*beta_SA - P1(t)^2*phi*M*Mar*Ks^2*siga2*beta_SA + P1(t)^2*phi*M*Ks^2*siga2^2*beta_SA + P1(t)^2*M^2*Mar*Ks*siga2*beta_SA + P1(t)^2*M^2*Ks^2*siga2*beta_SA + P1(t)^2*M*Mar*Ks^2*siga2*beta_SA - P1(t)*beta_SI*P3(t)*phi*M*Mar*siga2 - P1(t)*beta_SI*P3(t)*phi*M*Ks*siga2 - P1(t)*beta_SI*P3(t)*phi*Mar*Ks*siga2 - P1(t)*beta_SI*P3(t)*phi*Mar*siga2^2 - P1(t)*beta_SI*P3(t)*phi*Ks^2*siga2 - P1(t)*beta_SI*P3(t)*phi*Ks*siga2^2 + P1(t)*beta_SI*P3(t)*M*Mar*siga2 + P1(t)*beta_SI*P3(t)*M*Ks*siga2 + P1(t)*beta_SI*P3(t)*Mar*Ks*siga2 + P1(t)*beta_SI*P3(t)*Mar*siga2^2 + P1(t)*beta_SI*P3(t)*Ks^2*siga2 + P1(t)*beta_SI*P3(t)*Ks*siga2^2 - P1(t)*beta_SI*phi*alpa*Mar*siga2 - P1(t)*beta_SI*phi*alpa*Ks*siga2 - P1(t)*beta_SI*phi*M*P2(t)*Mar*Ks*siga2 - P1(t)*beta_SI*phi*M*P2(t)*Mar*siga2^2 - P1(t)*beta_SI*phi*M*P2(t)*Ks^2*siga2 - 2*P1(t)*beta_SI*phi*M*P2(t)*Ks*siga2^2 - P1(t)*beta_SI*phi*P4(t)*Mar*siga2 - P1(t)*beta_SI*phi*P4(t)*Ks*siga2 - P1(t)*beta_SI*phi*P2(t)*Mar*Ks*siga2^2 - P1(t)*beta_SI*phi*P2(t)*Ks^2*siga2^2 + P1(t)*beta_SI*alpa*Mar*siga2 + P1(t)*beta_SI*alpa*Ks*siga2 + P1(t)*beta_SI*M*P2(t)*Mar*Ks*siga2 + P1(t)*beta_SI*M*P2(t)*Mar*siga2^2 + P1(t)*beta_SI*M*P2(t)*Ks^2*siga2 + 2*P1(t)*beta_SI*M*P2(t)*Ks*siga2^2 + P1(t)*beta_SI*P4(t)*Mar*siga2 + P1(t)*beta_SI*P4(t)*Ks*siga2 + P1(t)*beta_SI*P2(t)*Mar*Ks*siga2^2 + P1(t)*beta_SI*P2(t)*Ks^2*siga2^2 - P1(t)*P3(t)*phi*M^2*Mar*beta_SA + P1(t)*P3(t)*phi*M^2*siga2*beta_SA - 2*P1(t)*P3(t)*phi*M*Mar*Ks*beta_SA - P1(t)*P3(t)*phi*M*Mar*siga2*beta_SA + 2*P1(t)*P3(t)*phi*M*Ks*siga2*beta_SA + P1(t)*P3(t)*phi*M*siga2^2*beta_SA - P1(t)*P3(t)*phi*Mar*Ks^2*beta_SA - P1(t)*P3(t)*phi*Mar*Ks*siga2*beta_SA + P1(t)*P3(t)*phi*Ks^2*siga2*beta_SA + P1(t)*P3(t)*phi*Ks*siga2^2*beta_SA + P1(t)*P3(t)*M^2*Mar*beta_SA + P1(t)*P3(t)*M^2*Ks*beta_SA + 2*P1(t)*P3(t)*M*Mar*Ks*beta_SA + P1(t)*P3(t)*M*Mar*siga2*beta_SA + P1(t)*P3(t)*M*Ks^2*beta_SA + 2*P1(t)*P3(t)*M*Ks*siga2*beta_SA + P1(t)*P3(t)*Mar*Ks^2*beta_SA + P1(t)*P3(t)*Mar*Ks*siga2*beta_SA - P1(t)*phi*alpa*M*Mar*beta_SA + P1(t)*phi*alpa*M*siga2*beta_SA - P1(t)*phi*alpa*Mar*Ks*beta_SA + P1(t)*phi*alpa*Ks*siga2*beta_SA - P1(t)*phi*M^2*P2(t)*Mar*Ks*beta_SA - P1(t)*phi*M^2*P2(t)*Mar*siga2*beta_SA + P1(t)*phi*M^2*P2(t)*Ks*siga2*beta_SA + P1(t)*phi*M^2*P2(t)*siga2^2*beta_SA - P1(t)*phi*M^2*Mar*P5(t)*Ks*siga2^2 - P1(t)*phi*M^2*Ks*beta*siga2^2 - P1(t)*phi*M*P4(t)*Mar*beta_SA + P1(t)*phi*M*P4(t)*siga2*beta_SA - P1(t)*phi*M*P2(t)*Mar*Ks^2*beta_SA - 3*P1(t)*phi*M*P2(t)*Mar*Ks*siga2*beta_SA + P1(t)*phi*M*P2(t)*Ks^2*siga2*beta_SA + 3*P1(t)*phi*M*P2(t)*Ks*siga2^2*beta_SA - P1(t)*phi*P4(t)*Mar*Ks*beta_SA + P1(t)*phi*P4(t)*Ks*siga2*beta_SA - P1(t)*phi*P2(t)*Mar*Ks^2*siga2*beta_SA + P1(t)*phi*P2(t)*Ks^2*siga2^2*beta_SA + P1(t)*alpa*M*Mar*beta_SA + P1(t)*alpa*M*Ks*beta_SA + P1(t)*alpa*Mar*Ks*beta_SA + P1(t)*M^2*P2(t)*Mar*Ks*beta_SA + P1(t)*M^2*P2(t)*Mar*siga2*beta_SA + P1(t)*M^2*P2(t)*Ks^2*beta_SA + 2*P1(t)*M^2*P2(t)*Ks*siga2*beta_SA + P1(t)*M^2*Mar*P5(t)*Ks*siga2^2 + P1(t)*M^2*Ks*beta*siga2^2 + P1(t)*M*P4(t)*Mar*beta_SA + P1(t)*M*P4(t)*Ks*beta_SA + P1(t)*M*P2(t)*Mar*Ks^2*beta_SA + 3*P1(t)*M*P2(t)*Mar*Ks*siga2*beta_SA + 2*P1(t)*M*P2(t)*Ks^2*siga2*beta_SA + P1(t)*P4(t)*Mar*Ks*beta_SA + P1(t)*P2(t)*Mar*Ks^2*siga2*beta_SA - beta_SI*P3(t)*phi*M*P2(t)*siga2 - beta_SI*P3(t)*phi*P2(t)*Ks*siga2 - beta_SI*P3(t)*phi*P2(t)*siga2^2 + beta_SI*P3(t)*M*P2(t)*siga2 + beta_SI*P3(t)*P2(t)*Ks*siga2 + beta_SI*P3(t)*P2(t)*siga2^2 - beta_SI*phi*alpa*P2(t)*siga2 - beta_SI*phi*M*P2(t)^2*Ks*siga2 - beta_SI*phi*M*P2(t)^2*siga2^2 - beta_SI*phi*P4(t)*P2(t)*siga2 - beta_SI*phi*P2(t)^2*Ks*siga2^2 + beta_SI*alpa*P2(t)*siga2 + beta_SI*M*P2(t)^2*Ks*siga2 + beta_SI*M*P2(t)^2*siga2^2 + beta_SI*P4(t)*P2(t)*siga2 + beta_SI*P2(t)^2*Ks*siga2^2 + P3(t)^2*M*beta_SA + P3(t)^2*Ks*beta_SA + P3(t)^2*siga2*beta_SA - P3(t)*phi*M^2*Mar*P5(t)*siga2 - P3(t)*phi*M^2*Ks*siga2 - P3(t)*phi*M^2*beta*siga2 - P3(t)*phi*M^2*siga2^2 - P3(t)*phi*M*P2(t)*Mar*beta_SA + P3(t)*phi*M*P2(t)*siga2*beta_SA - P3(t)*phi*M*Mar*P5(t)*Ks*siga2 - P3(t)*phi*M*Mar*P5(t)*siga2^2 - P3(t)*phi*M*Ks*beta*siga2 - P3(t)*phi*M*Ks*siga2^2 - P3(t)*phi*M*beta*siga2^2 - P3(t)*phi*P2(t)*Mar*Ks*beta_SA - P3(t)*phi*P2(t)*Mar*siga2*beta_SA + P3(t)*phi*P2(t)*Ks*siga2*beta_SA + P3(t)*phi*P2(t)*siga2^2*beta_SA + P3(t)*alpa*beta_SA + P3(t)*M^2*P2(t)*beta_SA + P3(t)*M^2*Mar*P5(t)*siga2 + P3(t)*M^2*Ks*siga2 + P3(t)*M^2*beta*siga2 + P3(t)*M^2*siga2^2 + P3(t)*M*P2(t)*Mar*beta_SA + 3*P3(t)*M*P2(t)*Ks*beta_SA + 2*P3(t)*M*P2(t)*siga2*beta_SA + P3(t)*M*Mar*P5(t)*Ks*siga2 + P3(t)*M*Mar*P5(t)*siga2^2 + P3(t)*M*Ks*beta*siga2 + P3(t)*M*Ks*siga2^2 + P3(t)*M*beta*siga2^2 + P3(t)*P4(t)*beta_SA + P3(t)*P2(t)*Mar*Ks*beta_SA + P3(t)*P2(t)*Mar*siga2*beta_SA + P3(t)*P2(t)*Ks^2*beta_SA + 2*P3(t)*P2(t)*Ks*siga2*beta_SA - phi*alpa*M*Mar*P5(t)*siga2 - phi*alpa*M*beta*siga2 - phi*alpa*P2(t)*Mar*beta_SA + phi*alpa*P2(t)*siga2*beta_SA - phi*M^2*P4(t)*siga2 - phi*M^2*P2(t)*Mar*P5(t)*Ks*siga2 - phi*M^2*P2(t)*Mar*P5(t)*siga2^2 - phi*M^2*P2(t)*Ks*beta*siga2 - phi*M^2*P2(t)*Ks*siga2^2 - phi*M^2*P2(t)*beta*siga2^2 - phi*M*P4(t)*Mar*P5(t)*siga2 - phi*M*P4(t)*Ks*siga2 - phi*M*P4(t)*beta*siga2 - phi*M*P4(t)*siga2^2 - phi*M*P2(t)^2*Mar*Ks*beta_SA - phi*M*P2(t)^2*Mar*siga2*beta_SA + phi*M*P2(t)^2*Ks*siga2*beta_SA + phi*M*P2(t)^2*siga2^2*beta_SA - phi*M*P2(t)*Mar*P5(t)*Ks*siga2^2 - phi*M*P2(t)*Ks*beta*siga2^2 - phi*P4(t)*P2(t)*Mar*beta_SA + phi*P4(t)*P2(t)*siga2*beta_SA - phi*P2(t)^2*Mar*Ks*siga2*beta_SA + phi*P2(t)^2*Ks*siga2^2*beta_SA + alpa*M*P2(t)*beta_SA + alpa*M*Mar*P5(t)*siga2 + alpa*M*beta*siga2 + alpa*P2(t)*Mar*beta_SA + alpa*P2(t)*Ks*beta_SA + M^2*P4(t)*siga2 + M^2*P2(t)^2*Ks*beta_SA + M^2*P2(t)^2*siga2*beta_SA + M^2*P2(t)*Mar*P5(t)*Ks*siga2 + M^2*P2(t)*Mar*P5(t)*siga2^2 + M^2*P2(t)*Ks*beta*siga2 + M^2*P2(t)*Ks*siga2^2 + M^2*P2(t)*beta*siga2^2 + M*P4(t)*P2(t)*beta_SA + M*P4(t)*Mar*P5(t)*siga2 + M*P4(t)*Ks*siga2 + M*P4(t)*beta*siga2 + M*P4(t)*siga2^2 + M*P2(t)^2*Mar*Ks*beta_SA + M*P2(t)^2*Mar*siga2*beta_SA + M*P2(t)^2*Ks^2*beta_SA + 2*M*P2(t)^2*Ks*siga2*beta_SA + M*P2(t)*Mar*P5(t)*Ks*siga2^2 + M*P2(t)*Ks*beta*siga2^2 + P4(t)*P2(t)*Mar*beta_SA + P4(t)*P2(t)*Ks*beta_SA + P2(t)^2*Mar*Ks*siga2*beta_SA + P2(t)^2*Ks^2*siga2*beta_SA) / (phi*M*siga2 - M*siga2), +y(t) = P0(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/SEAIJRC_covid b/benchmarking/IdentifiableFunctions/SIAN/SEAIJRC_covid new file mode 100644 index 000000000..cf8f821f6 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/SEAIJRC_covid @@ -0,0 +1,9 @@ +diff(A(t), t) = -E(t)*k*r + E(t)*k - A(t)*g1, +diff(Ninv(t), t) = 0, +diff(II(t), t) = -alpha*II(t) + E(t)*k*r - g1*II(t), +diff(C(t), t) = alpha*II(t), +diff(J(t), t) = alpha*II(t) - g2*J(t), +diff(S(t), t) = -b*S(t)*Ninv(t)*A(t)*q - b*S(t)*Ninv(t)*II(t) - b*S(t)*Ninv(t)*J(t), +diff(E(t), t) = b*S(t)*Ninv(t)*A(t)*q + b*S(t)*Ninv(t)*II(t) + b*S(t)*Ninv(t)*J(t) - E(t)*k, +y1(t) = C(t), +y2(t) = Ninv(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/SIRS_forced b/benchmarking/IdentifiableFunctions/SIAN/SIRS_forced new file mode 100644 index 000000000..e3e67fcf9 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/SIRS_forced @@ -0,0 +1,7 @@ +diff(i(t), t) = -nu*i(t) + b1*b0*s(t)*x1(t)*i(t) + b0*s(t)*i(t) - mu*i(t), +diff(r(t), t) = nu*i(t) - mu*r(t) - g*r(t), +diff(s(t), t) = -b1*b0*s(t)*x1(t)*i(t) - b0*s(t)*i(t) - s(t)*mu + mu + g*r(t), +diff(x1(t), t) = -M*x2(t), +diff(x2(t), t) = M*x1(t), +y1(t) = i(t), +y2(t) = r(t) diff --git a/benchmarking/IdentifiableFunctions/SIAN/SLIQR b/benchmarking/IdentifiableFunctions/SIAN/SLIQR new file mode 100644 index 000000000..0263d5933 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/SLIQR @@ -0,0 +1,5 @@ +dx1/dt = -b*x3*x1*Ninv - x1*Ninv*u1(t), +dx2/dt = b*x3*x1*Ninv - a*x2, +dx3/dt = -x3*g + s*x4 + a*x2, +dx4/dt = -e*x3*g + x3*g - s*x4, +y1 = x3*Ninv diff --git a/benchmarking/IdentifiableFunctions/SIAN/goodwin b/benchmarking/IdentifiableFunctions/SIAN/goodwin new file mode 100644 index 000000000..cade15402 --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/goodwin @@ -0,0 +1,5 @@ +dx1/dt = (-b*c*x1 - b*x1*x4 + 1) / (c + x4), +dx2/dt = alpha*x1 - beta*x2, +dx3/dt = gama*x2 - delta*x3, +dx4/dt = (gama*sigma*x2*x4 - delta*sigma*x3*x4) / (x3), +y1 = x1 diff --git a/benchmarking/IdentifiableFunctions/SIAN/llw1987 b/benchmarking/IdentifiableFunctions/SIAN/llw1987 new file mode 100644 index 000000000..042afeb8e --- /dev/null +++ b/benchmarking/IdentifiableFunctions/SIAN/llw1987 @@ -0,0 +1,4 @@ +dx1/dt = p2*u1(t) - p1*x1, +dx2/dt = -p3*x2 + p4*u1(t), +dx3/dt = p2*x2*u1(t) - p3*x3 + p4*u1(t)*x1 - x3*p1, +y1 = x3 diff --git a/benchmarking/IdentifiableFunctions/experiments.jl b/benchmarking/IdentifiableFunctions/experiments.jl index a741baba5..72dada132 100644 --- a/benchmarking/IdentifiableFunctions/experiments.jl +++ b/benchmarking/IdentifiableFunctions/experiments.jl @@ -994,6 +994,14 @@ begin Base.global_logger(ConsoleLogger(Logging.Info)) end +dennums, ring = + StructuralIdentifiability.initial_identifiable_functions(Pivastatin, p = 0.99); +fracs = StructuralIdentifiability.dennums_to_fractions(dennums); + +rff = StructuralIdentifiability.RationalFunctionField(dennums); +gb = StructuralIdentifiability.groebner_basis_coeffs(rff); +StructuralIdentifiability.dennums_to_fractions(gb.dennums) + ode = StructuralIdentifiability.@ODEmodel( x1'(t) = x1 + x2^2 + a^2, x2'(t) = x2 + a * d^3, @@ -1003,6 +1011,43 @@ ode = StructuralIdentifiability.@ODEmodel( @time new_ode, new_vars, algebraic_relations = StructuralIdentifiability.reparametrize_global(Bilirubin2_io) +################## +################## +################## + +ode = StructuralIdentifiability.@ODEmodel( # define the ODE system + x1'(t) = -a * x1(t) + b * x2(t), + x2'(t) = -b * x2(t), + y(t) = x1(t) +) + +l1 = StructuralIdentifiability.lie_derivative(x1, ode) +StructuralIdentifiability.lie_derivative(l1, ode) + +ioeqs = StructuralIdentifiability.find_ioequations(ode) +StructuralIdentifiability.states_generators(ode, ioeqs) +StructuralIdentifiability.find_identifiable_functions(ode, with_states = true) + +StructuralIdentifiability.reparametrize_global(ode) + +ff1 = [x1, a * b, a + b, b * x2 + b * x1] +ff2 = [a * b, a + b, x1, -a * x1 + b * x2, a^2 * x1 - a * b * x2 - b^2 * x2] + +a = StructuralIdentifiability.check_constructive_field_membership( + StructuralIdentifiability.RationalFunctionField(ff2[1:(end - 1)]), + [ff2[end] // one(ff2[end])], +) + +StructuralIdentifiability.fields_equal( + StructuralIdentifiability.RationalFunctionField(ff1), + StructuralIdentifiability.RationalFunctionField(ff2), + 0.99, +) + +################## +################## +################## + ### # TODO ode = StructuralIdentifiability.@ODEmodel( @@ -1011,6 +1056,8 @@ ode = StructuralIdentifiability.@ODEmodel( y(t) = x1 ) +StructuralIdentifiability.find_identifiable_functions(ode, with_states = true) + @time new_ode, new_vars, algebraic_relations = StructuralIdentifiability.reparametrize_global(ode) @@ -1155,6 +1202,18 @@ rels2 rel3 = StructuralIdentifiability.linear_relations_between_normal_forms(rff, 2) length(rel3) +R, (a, b) = QQ["a", "b"] +f = [a*b // R(1), (a + b) // (R(1))] +StructuralIdentifiability._runtime_logger[:id_inclusion_check_mod_p] = 0.0 +rff = StructuralIdentifiability.RationalFunctionField(f); + +f2 = [f[2] // f[1], f[2] + 1] +rff2 = StructuralIdentifiability.RationalFunctionField(f2); + +a = StructuralIdentifiability.check_constructive_field_membership(rff2, [f[1] // R(1)]) + +StructuralIdentifiability.fields_equal(rff, rff2, 0.99) + R, (a, b, c) = QQ["a", "b", "c"] f = [a*b // R(1), (b*c + a*b) // (a*b)] StructuralIdentifiability._runtime_logger[:id_inclusion_check_mod_p] = 0.0 diff --git a/benchmarking/IdentifiableFunctions/results/cholera/logs b/benchmarking/IdentifiableFunctions/results/cholera/logs new file mode 100644 index 000000000..72f4a348d --- /dev/null +++ b/benchmarking/IdentifiableFunctions/results/cholera/logs @@ -0,0 +1,3 @@ + +Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks. +Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffb1bc416e8 -- \ No newline at end of file diff --git a/benchmarking/IdentifiableFunctions/results/generalizedLoktaVolterra (1o)/logs b/benchmarking/IdentifiableFunctions/results/generalizedLoktaVolterra (1o)/logs new file mode 100644 index 000000000..e69de29bb diff --git a/benchmarking/IdentifiableFunctions/results/generalizedLoktaVolterra (2o)/logs b/benchmarking/IdentifiableFunctions/results/generalizedLoktaVolterra (2o)/logs new file mode 100644 index 000000000..e69de29bb diff --git a/benchmarking/IdentifiableFunctions/results/p53/logs b/benchmarking/IdentifiableFunctions/results/p53/logs new file mode 100644 index 000000000..e69de29bb diff --git a/benchmarking/IdentifiableFunctions/run_benchmarks.jl b/benchmarking/IdentifiableFunctions/run_benchmarks.jl index fddbaf63e..bd59d8177 100644 --- a/benchmarking/IdentifiableFunctions/run_benchmarks.jl +++ b/benchmarking/IdentifiableFunctions/run_benchmarks.jl @@ -87,14 +87,14 @@ function parse_commandline() "--skip" help = "Skip specified benchmark models." arg_type = Vector{String} - default = ["NFkB", - "JAK-STAT 1", - "LeukaemiaLeon2021", - "MAPK model (5 outputs bis)", - "QWWC", - "TumorHu2019", - "TumorPillis2007", - "cLV1 (1o)"] + default = ["NFkB", ] + # "JAK-STAT 1", + # "LeukaemiaLeon2021", + # "MAPK model (5 outputs bis)", + # "QWWC", + # "TumorHu2019", + # "TumorPillis2007", + # "cLV1 (1o)"] "--models" help = """ Run specified benchmark models. diff --git a/src/ODEexport.jl b/src/ODEexport.jl index d2b2d9b64..aa4f8d63d 100644 --- a/src/ODEexport.jl +++ b/src/ODEexport.jl @@ -213,8 +213,9 @@ function print_for_COMBOS(ode::ODE) for (y, g) in ode.y_equations push!(eqs, "$(varstr[y]) = " * _lhs_to_str(g)) end + sort!(eqs) - result = result * join(eqs, "; ") + result = result * join(eqs, ";\n") result = replace(result, "//" => "/") result = replace(result, "_" => ",")