反応モデル

KABIRA2011-05-22

  • 最近考えてきたモデル(1, 2, 3)で気になること
    • コメントで指摘していただいていることも含めて考える
  • まだ空間を考えていない
  • 結合する分子を選ぶルールに関するものでは
    • 衝突する分子の数:結合しているものと結合していなものが競合するかどうか
    • 衝突する回数の時間的なゆらぎ:回数が単位時間あたり一定なのか、あるいは何かの分布(独立だからポアソン分布など?)に従うのかどうか
      • 分子数と衝突の数の関係については こちら(Wiki) のような関係も考えられるか
      • ただし上のWikiの記事だと空間的な要素が入っている
  • 階層をひとつずつ見る必要があるのだろうか
    • 点の上(空間を考えない局所のルール)
    • 空間上(点の積分
N0<-100  #分子数
tau<-1  #結合時間の半減期
T<-1000  #シミュレーション時間
X<-rep(0,N0)   #各分子が結合している時刻をおさめていく


k<-4   #時間の刻み幅のパラメータ
lambda0<-0.1  #衝突回数の分布のパラメーター
dt<-0.1*k  #シミュレーションの刻み幅


Nt<-T/dt  #シミュレーション回数

t<-0
v<-c()   #結合している分子の数をおさめる
for(nt in 1:Nt){
	
	Nfree<-sum(X<=t)  #遊離している分子の回数
	N<-Nfree+(N0-Nfree)/2  #今存在している分子の総数
	M<-sum(rpois(k,lambda=lambda0*N))   # 時間 dt*k におきる衝突回数
	
	if(M > 0){
	for (m in 1:M){		
		
		#結合している分子もしていない分子も衝突する
		select<-sample(union(which(duplicated(X)==FALSE),which(X == 0)),2,replace="FALSE")

		#結合していない分子同士が衝突すると結合する
		if(X[select[1]] < t && X[select[2]] < t){
		duration<-rexp(1,rate=1/tau)
		X[select]<-duration+t	
	}}}
	
t<-t+dt
v[nt]<-sum(X>t)
}

par(mfrow=c(1,2))
plot(v,type="l",xlab="time",ylab="Number of binding molecules",col=4,ylim=c(0,N0))
hist(v,breaks=N0,col=3,xlab="Number of binding molecules",xlim=c(0,N0))