Ода не решает уравнения правильно - PullRequest
1 голос
/ 14 марта 2019

Я совершенно новичок в 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,, но я не понимаю, что яя делаю неправильно

Пожалуйста, помогите.

Спасибо.

...