Я совершенно новичок в R и решении уравнений и тому подобном, но у меня есть университетская задача, которая включает дифференциальные уравнения и R, и я вообще не могу это сделать правильно ...
```{r}
library(deSolve)
```
```{r}
model9 <- function(t, y, parms) {
with(as.list(y, parms), {
Ptbs1 <- 1/(1+(TALe/Kd1))
#Ptbs8 <- 1/(1+(TALe/Kd8))
dy <- numeric(6)
dy[1] <- a.tale*Pbad - gamma.mRNA*RiboTALe.mRNA
dy[2] <- kon*RiboTALe.mRNA*theo-koff*RiboTALe.mRNAw
dy[3] <- b.tale*RiboTALe.mRNAw - gamma.protein*TALe
dy[4] <- a.gfp*Ptet*Ptbs1-gamma.mRNA*GFP.mRNA # CONSIDERAR PTBS8 LUEGO
# dy[4] <- a.gfp*Ptet*Ptbs8-gamma.mRNA*GFP.mRNA
dy[5] <- b.gfp*GFP.mRNA-gamma.protein*GFP.int-beta*GFP.int
dy[6] <- beta*GFP.int-gamma.lvatag*GFP
list(dy)})
}
```
# Incognitas
```{r}
y <- c(RiboTALe.mRNA = 0,
RiboTALe.mRNAw = 0,
GFP.mRNA = 0,
GFP.int = 0,
GFP = 0,
TALe = 0)
```
# Parametros
```{r}
parms <- c(Cobad <- (10*10^{-6}),
Cotet <- (10*10^{-6}),
nbad <- 2.8,
ntet <- 1,
Kdbad <- (9*10^{-5}),
Kdtet <- (3.83*10^{-9}),
K1bad <- 9*10^{-3},
K1tet <- 350,
Kd1 <- 240*10^{-9},
Kd8 <- 1.3*10^{-9},
K2bad <- 37.5/(10*10^{-6}),
K3bad <- 3.4/(10*10^{-6}),
K2tet <- 160/(10*10^{-6}),
koff <- 0.3*10^{-9},
kon <- 1*10^{-3},
gamma.lvatag <- 2*10^{-4},
gamma.mRNA <- 1.7*10^{-3},
gamma.protein <- 5.6*10^{-5},
a.gfp <- 0.03,
a.tale <- 0.01,
b.gfp <- 0.06,
b.tale <- 0.02,
beta <- 6.7*10^{-4},
Lbad <- 0.01,
Ltet <- 25,
theo <- 0,
C1 <- (Cobad*(Lbad^nbad))/((Kdbad^nbad)+(Lbad^nbad)),
C2 <- (Cotet*(Ltet^ntet))/((Kdtet^ntet)+(Ltet^ntet)),
Cf1 <- Cobad - C1,
Cf2 <- Cotet - C2,
Pbad <- (K1bad+K2bad*C1)/(1+K1bad+K2bad*C1+K3bad*Cf1),
Ptet <- K1tet/(1+K1tet+2*K2tet*Cf2+(K2tet^2)*(Cf2^2)) )
```
```{r}
times <- seq(from = 0, to = 3600, by = 1)
```
```{r}
out <- ode(y = y, times = times, func = model9, parms = parms)
```
```{r}
plot(out)
```
Это моделирование биологической системы с участием различных молекул, РНК и т. Д. Идея состоит в том, что, когда параметр «theo» равен нулю, не должно быть никакого изменения TALe, но если вы построите все это, TALeувеличивается.
С другой стороны, если «theo» больше 0, я получаю сообщение об ошибке:
Ошибка в lsoda (y, times, func, parms,...): обнаружен недопустимый ввод перед выполнением каких-либо шагов интеграции - см. письменное сообщение
Идея состоит в том, чтобы получить результаты, как здесь: http://2013.igem.org/Team:UC_Davis/Modeling,, но я не понимаю, что яя делаю неправильно
Пожалуйста, помогите.
Спасибо.