miaSim: 一个能轻松模拟微生物群落动态变化的 R/Bioconductor 包
文章简介
这篇文章描述了一个 R 语言包 miaSim 的开发背景、使用介绍、案例研究和生态学意义。这个 R 语言包包含了多种常见的微生物群落动态变化模型(包括逻辑斯蒂模型、广义 Lotka-Volterra 模型、消费者-资源模型、Hubbell 中性模型、Ricker 模型、SOI 模型)。可以通过给定的初始状态,模拟出特定步长后的群落状态。此外,本研究中和已有研究的区别在于,不仅统一了各种模型的数据结构,使不同模型可以联用,而且对其中的随机性变化添加了参数控制、也可以模拟不同类型的环境扰动(通过调整扰动时长、频率、强度等,模拟出脉冲或压力),此外,本研究中通过案例分析,不仅证明了模型的可用性和易用性,而且探究了生态学中重要的资源阈值假说。这个研究中也配套开发了可视化的 Shiny App,进一步降低了微生物群落建模的门槛,无需编程,就能玩模型。
文章背后的故事
当时对博士学位论文的框架和结构有一定的思考,但不多:曾经想着,之前研究过了微生物群落对环境的响应规律、微生物群落在空间上的融合规律,再补一个微生物群落在时间上的动态变化规律, 就比较完满了,听起来时空变化都有覆盖到,比较全面。但汇报后并没有得到导师的反馈,也没考虑自己的专业和研究方向之间的差距,只是抱着热情和好奇心,对开发 R 语言包进行学习和探索,沉迷于技术和数学的美中。
这个研究是在我拿到国家的 CSC 资助,在比利时的鲁汶大学 KU Leuven 做的。当时我没看到后面的隐忧,只想着访学期间不做实验,不呆在 wet lab 里,所以就只做 dry lab 的 in silico 实验,做完开发,写好小论文,再整理论文毕业,什么也不耽误,没想到这个研究一做就是一年多,不断精进打磨,这边功能弄好了,又要加新的计算模型,测试最近发表的论文的数据,改开源文档和测试单元……做了这个研究,我就更像一名程序员了,这个项目也让我对「预估完成时间时要 double」有了切身体会。
还好在这个研究中,收获了很多自己的成长:独自生活面对长夜、合作开发开源项目、在一个多国文化交融的实验室交流、参加顶级生态学学术会议、在 top 100 大学和不同专业的学者交流、在异国他乡感受到战争和政治对百姓生活和学术交流的影响……现在想起来,都非常感谢联培期间整个 lab of microbial systems biology 的关怀,更感谢祖国、母校、课题组给我留学的机会。
另外,投稿第一次返回来的意见就是个 Minor Revision,这是我第一次见,Prof. Karoline Faust 也说非常罕见,体现出此研究之高质量(现在有点后悔,应该起手先投个更高影响因子的期刊的)。
如果继续用做饭打比方,那么这个研究应该是刚开始只想做个披萨,但我们加了很多很多不同的食材和香料,最终又重新调整了配方,做成了口感层次非常丰富的一块大千层饼。希望搞微生物生态模型的都快去尝尝!
miaSim 以及 miaSimShiny。此外,这里可以直接试用旧版本!
欢迎各位提出宝贵意见建议,友善交流哦!
发表回复