我对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)
```
这是涉及不同分子,RNA等的生物系统的建模。 这个想法是,当参数“ theo”等于零时,TALe应该没有变化,但是如果将所有这些都绘制出来,TALe就会增加。
另一方面,如果“ theo”大于0,则会收到错误消息:
lsoda中的错误(y,times,func,parms等):检测到非法输入 采取任何整合步骤之前-请参阅书面消息
想法是要获得如下所示的结果:http://2013.igem.org/Team:UC_Davis/Modeling,但我没有弄错我在做什么。
请帮助。
谢谢。