由于专业需求,需要做主方程的随机模拟。在网上并没有找到适合的Python实现,遂自己写了一个,分享一下源码。至于gillespie算法本身就不介绍了,有需要的读者自然会懂,没需要的读者不建议去懂。

源码#

其实基本的gillespie模拟算法很简单,也很好实现,下面就是一个参考例子:

使用#

为了方便使用,我对反应进行了封装。现在,只需要根据反应式就可以直接进行模拟了,无须额外的编程操作。比如比较简单的基因表达模型:

$$\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和蛋白质的数目,$\phi$是空,意味着降解或者“无中生有”。其中第一个反应可以简化为$\phi \xrightarrow{\quad 20\quad} m$,所以实际上是两种反应物$m,n$的四个反应式。

然后就可以统计画图:

结果为:

蛋白质随时间的变化(轨线)

蛋白质的统计分布

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

打赏

微信打赏

支付宝打赏

因为网站后台对打赏并无记录,因此欢迎在打赏时候备注留言。你还可以点击这里或在下方评论区留言来告知你的建议或需求。

如果您需要引用本文,请参考:

苏剑林. (2018, Jun 07). 《python简单实现gillespie模拟 》[Blog post]. Retrieved from https://kexue.fm/archives/5607

python分子化学模拟_python简单实现gillespie模拟相关推荐

  1. python分子化学模拟_#分子模拟#MDTraj分子模拟python包(一)

    MDTraj是分子动力学模拟的一个python包,相对于MDAnalysis个人觉得操作性更强,更加Python范一些.其能够进行不同模拟软件的轨迹转换,常规计算,分析等等一体化.今天我们介绍其安装方 ...

  2. python爬取图片实例_Python简单爬取图片实例

    都知道Python的语法很简单易上手,也很适合拿来作爬虫等等,这里就简单讲解一下爬虫入门--简单地爬取下载网站图片.html 效果 就像这样自动爬取下载图片到本地:python 代码: 其实很简单,咱 ...

  3. python计算化学浓度_python 计算化学

    信息举报 时间:2021-02-11 本页为您甄选多篇描写python 计算化学,python 计算化学精选,python 计算化学大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.80 ...

  4. python提取数组元素_python简单获取数组元素个数的方法

    python简单获取数组元素个数的方法 更新时间:2015年07月13日 17:54:46 作者:pythoner 这篇文章主要介绍了python简单获取数组元素个数的方法,实例分析了Python中l ...

  5. python辅助脚本教程_Python简单实现阴阳师挂机脚本

    标签:map   代码   通过   rom   中心   des   对象   atp   脚本 参考大佬们的博客,凑出了阴阳师的简单挂机脚本,对各个博主进行感谢,鞠躬.jpg 实现原理: 对各个按 ...

  6. python读取大文件目录_python简单读取大文件的方法

    python简单读取大文件的方法 更新时间:2016年07月01日 10:42:14 作者:holybin 这篇文章主要介绍了python简单读取大文件的方法,通过非常简单的方式实现对GB级别大文件的 ...

  7. python游戏挂机脚本_Python简单实现阴阳师挂机脚本

    参考大佬们的博客,凑出了阴阳师的简单挂机脚本,对各个博主进行感谢,鞠躬.jpg 实现原理: 对各个按钮等需要点击的地方进行截图,然后对整个屏幕截屏,通过模板匹配得到截图在截屏中的坐标位置,进行点击 实 ...

  8. python图像验证码识别_python 简单图像识别--验证码

    python  简单图像识别--验证码 记录下,准备工作安装过程很是麻烦. 首先库:pytesseract,image,tesseract,PIL windows安装PIL,直接exe进行安装更方便( ...

  9. python语句块标记_Python简单语句

    简单语句由(逻辑上的)一行组成. 1.表达式语句 表达式也可以是语句.如果表达式是函数调用或者文档字符串的话尤其有用. 例如: "This modue contains SPAM-relat ...

最新文章

  1. 面向对象笔记2 原型链 解释
  2. 华为阅读下载的文件在哪里找_华为手机还要天天清理内存?1键关闭这2个设置,手机用到2035年...
  3. css3实现头像旋转360度
  4. 中正则表达式详解_python :正则表达式/re库 超级详细de注释解释
  5. c语言给定一个字符串匹配,使用C语言解决字符串匹配问题的方法
  6. 2018.09.17-2018.09.23
  7. 个人技术博客--团队Git规范(参考西瓜学长)
  8. 阿里云mysql写入性能_如何评价阿里云新一代关系型数据库 PolarDB?
  9. 拉线分切质量在线检测系统
  10. c语言宠物店管理系统,宠物店信息管理系统的设计课程设计报告精选.doc
  11. 关于音频芯片MICIN和LINEIN,HPOUT和OUT的区别
  12. 约翰诺依曼在1940年发明了计算机英语,冯诺依曼元胞自动机
  13. JavaSE StringBuffer StringBuilder 数组常见操作 Arrays 基本数据类型包装类
  14. Arthas线上代码诊断神器-定位问题
  15. 3DMAX安装未完成,某些产品无法安装的解决方法
  16. 量子有什么特性计算机,量子是什么、量子具有什么特性、又有什么作用?
  17. MacBook上有哪些适合运营人用的高效的软件工具和使用技巧
  18. 锚定物决定成败?四国央行数字货币对比
  19. python中变量无须先创建和赋值而直接使用_python综合练习1
  20. n2n内网穿透及代理服务

热门文章

  1. nginx php fpm socket,php-fpm 使用 socket 方式和 nginx 通讯,(速度优化)
  2. eclipse项目导出错误处理
  3. VLAN与trunk配置
  4. Zara带你快速入门WPF(4)---Command与功能区控件
  5. 剥开比原看代码(八):比原的Dashboard是怎么做出来的?
  6. App Store 扣费 知识产权 备忘
  7. angularjs 弹出框 $modal传值
  8. linux 系统如何防止攻击
  9. 向量除法——标量乘法的逆运算
  10. D-query SPOJ - DQUERY (主席树)