python分子化学模拟_python简单实现gillespie模拟
由于專業(yè)需求,需要做主方程的隨機(jī)模擬。在網(wǎng)上并沒(méi)有找到適合的Python實(shí)現(xiàn),遂自己寫了一個(gè),分享一下源碼。至于gillespie算法本身就不介紹了,有需要的讀者自然會(huì)懂,沒(méi)需要的讀者不建議去懂。
源碼#
其實(shí)基本的gillespie模擬算法很簡(jiǎn)單,也很好實(shí)現(xiàn),下面就是一個(gè)參考例子:
使用#
為了方便使用,我對(duì)反應(yīng)進(jìn)行了封裝?,F(xiàn)在,只需要根據(jù)反應(yīng)式就可以直接進(jìn)行模擬了,無(wú)須額外的編程操作。比如比較簡(jiǎn)單的基因表達(dá)模型:
$$\begin{aligned}DNA &\xrightarrow{\quad 20\quad} DNA + m\\
m &\xrightarrow{\quad 2.5\quad} m + n\\
m &\xrightarrow{\,\quad 1\,\,\quad} \phi\\
n &\xrightarrow{\,\quad 1\,\,\quad} \phi
\end{aligned}$$
這里$m,n$分別代表mRNA和蛋白質(zhì)的數(shù)目,$\phi$是空,意味著降解或者“無(wú)中生有”。其中第一個(gè)反應(yīng)可以簡(jiǎn)化為$\phi \xrightarrow{\quad 20\quad} m$,所以實(shí)際上是兩種反應(yīng)物$m,n$的四個(gè)反應(yīng)式。
然后就可以統(tǒng)計(jì)畫圖:
結(jié)果為:
蛋白質(zhì)隨時(shí)間的變化(軌線)
蛋白質(zhì)的統(tǒng)計(jì)分布
更詳細(xì)的轉(zhuǎn)載事宜請(qǐng)參考:《科學(xué)空間FAQ》
如果您還有什么疑惑或建議,歡迎在下方評(píng)論區(qū)繼續(xù)討論。
如果您覺(jué)得本文還不錯(cuò),歡迎分享/打賞本文。打賞并非要從中獲得收益,而是希望知道科學(xué)空間獲得了多少讀者的真心關(guān)注。當(dāng)然,如果你無(wú)視它,也不會(huì)影響你的閱讀。再次表示歡迎和感謝!
打賞
微信打賞
支付寶打賞
因?yàn)榫W(wǎng)站后臺(tái)對(duì)打賞并無(wú)記錄,因此歡迎在打賞時(shí)候備注留言。你還可以點(diǎn)擊這里或在下方評(píng)論區(qū)留言來(lái)告知你的建議或需求。
如果您需要引用本文,請(qǐng)參考:
蘇劍林. (2018, Jun 07). 《python簡(jiǎn)單實(shí)現(xiàn)gillespie模擬 》[Blog post]. Retrieved from https://kexue.fm/archives/5607
總結(jié)
以上是生活随笔為你收集整理的python分子化学模拟_python简单实现gillespie模拟的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 申领发票为什么一直是申领中
- 下一篇: 笔记本 DDR5 内存迎来单条 48GB