COVID-19基于代理的模拟器
项目描述
关于Covasim
Covasim 是一种用于进行 COVID-19 分析的随机性基于代理的模拟器。这包括感染人数和医院需求高峰等指标的前景预测。Covasim 还可用于探索不同干预措施的可能影响,包括社交距离、学校关闭、检测、接触追踪、隔离和疫苗接种。
描述 Covasim 的原始科学论文可在 http://paper.covasim.org 获得。推荐的引用为:
Covasim:COVID-19 动力和干预的基于代理模型。Kerr CC, Stuart RM, Mistry D, Abeysuriya RG, Rosenfeld R, Hart G, Núñez RC, Cohen JA, Selvaraj P, Hagedorn B, George L, Jastrzębski M, Izzo A, Fowler G, Palmer A, Delport D, Scott N, Kelly S, Bennette C, Wagner B, Chang S, Oron AP, Wenger E, Panovska-Griffiths J, Famulare M, Klein DJ (2021)。 PLOS 计算生物学 17 (7): e1009149. doi: https://doi.org/10.1371/journal.pcbi.1009149。
在此处描述了 Covasim 的免疫模块(包括疫苗和变种)。
对 SARS-CoV-2 免疫记忆、变异和疫苗的机制建模。Cohen JA, Stuart RM, Núñez RC, Wagner B, Chang ST, Rosenfeld K, Kerr CC, Famulare M, Klein DJ (待审稿;发布于 2021-06-01)。 medRxiv 2021.05.31.21258018; doi: https://doi.org/10.1101/2021.05.31.21258018。
Covasim 网络应用可在 https://app.covasim.org 获得,其存储库在此处可获得 这里。
Covasim 由 疾病建模研究所 开发,并由 哥本哈根大学、Burnet 研究院、GitHub 和 微软 等机构提供额外支持。
有关问题或评论,请联系 info@covasim.org,或在项目的 GitHub 页面上。有关 Covasim 的完整信息可在 文档 中找到。
背景
Covasim 已被十几个国家的分析所使用,旨在为政策决策提供信息(包括在美国、英国和澳大利亚),以及作为研究项目的一部分。一些使用 Covasim 编写的关键论文包括:
通过检测-追踪-隔离控制 COVID-19。Kerr CC, Mistry D, Stuart RM, Rosenfeld R, Hart G, Núñez RC, Selvaraj P, Cohen JA, Abeysuriya RG, George L, Hagedorn B, Jastrzębski M, Fagalde M, Duchin J, Famulare M, Klein DJ (2021)。 Nature Communications 12:2993. doi: https://doi.org/10.1038/s41467-021-23276-9。
确定英国重新开放学校的最佳策略、检测和追踪干预措施的影响以及第二波 COVID-19 流行的风险:一项建模研究。Panovska-Griffiths J, Kerr CC, Stuart RM, Mistry D, Klein DJ, Viner R, Bonnell C (2020-08-03)。 Lancet Child and Adolescent Health S2352-4642(20) 30250-9. doi: https://doi.org/10.1016/S2352-4642(20)30250-9。
估计和减轻越南重新开放国际边界与 COVID-19 流行反弹相关的风险:一项建模研究。Pham QD, Stuart RM, Nguyen TV, Luong QC, Tran DQ, Phan LT, Dang TQ, Tran DN, Mistry D, Klein DJ, Abeysuriya RG, Oron AP, Kerr CC (2021-04-12)。 Lancet Global Health S2214-109X(21) 00103-0; doi: https://doi.org/10.1016/S2214-109X(21)00103-0。
更完整的论文列表可在 papers.rst 中找到。
如果您撰写了使用 Covasim 的论文或报告,我们非常乐意了解!请在此处给我们写信。
要求
Python 3.9-3.11(64 位)。(注意:不支持 Python 2.7 和 Python 3.12,后者是因为在撰写时 Numba 不支持 Python 3.12。)
我们建议,但不是必需,在虚拟环境中安装Covasim。更多信息,请参阅Anaconda等文档,例如:Anaconda。
快速入门指南
使用
pip install covasim
进行安装。如果一切正常,以下Python命令应该会显示一个图表:import covasim as cv sim = cv.Sim() sim.run() sim.plot()
完整安装说明
如果您想下载源代码而不是使用
pip
包,请按照以下步骤操作:克隆一个仓库副本。如果您打算修改代码,我们建议您首先将其分支。
(可选)创建并激活一个虚拟环境。
导航到仓库的根目录,并使用以下任一选项使用Covasim Python包进行安装:
对于常规安装(推荐)
pip install -e .
安装Covasim和可选依赖项(请注意,这可能失败,因为它依赖于非标准包)
pip install -e .[full]
然后应该可以通过
import covasim as cv
导入模块。
使用示例
在
examples
文件夹中有几个示例。以下是如何运行它们的示例:python examples/simple.py
此示例使用默认参数值创建一个图形。
python examples/run_sim.py
此示例显示了一个稍微详细一点的示例,包括创建干预措施并将数据保存到磁盘。
python examples/run_scenarios.py
此示例显示了一个更复杂的示例,包括运行干预情景、绘制不确定性并进行卫生系统分析。
该文件夹中的其他示例来自教程。
模块结构
所有核心模型代码都位于
covasim
子目录中;标准用法是import covasim as cv
。下面将描述data
子目录。该模型由两个核心类组成:包含健康状态信息的
Person
类,以及包含运行、计算结果、绘图等方法Sim
类。covasim
文件夹的结构如下,大致按照模块导入的顺序,从最基本到最复杂:version.py:版本、日期和许可证信息。
requirements.py:一个简单的模块,用于检查导入是否成功,并在导入失败时关闭功能。
utils.py:选择随机数的函数,许多基于Numba,以及其他辅助函数。
misc.py:杂项辅助函数。
settings.py:Covasim的用户自定义选项(例如,默认字体大小)。
defaults.py:Covasim使用的默认颜色、图表等。
parameters.py:用于创建参数字典和加载输入数据的函数。
plotting.py:绘图脚本,包括用于Web应用程序的Plotly图表(在Covasim的其他类中定义,因此首先定义)。
base.py:用于Covasim的基本类
ParsObj
,以及BaseSim
和BasePeople
类的基本方法和相关函数。people.py:用于处理每个个人的状态更新的
People
类。population.py:用于创建人群的函数,包括年龄、接触等。
interventions.py:用于添加干预措施和动态修改参数的
Intervention
类,以及由此派生的每个具体干预措施的类。immunity.py:包含
strain
类,以及用于计算减弱免疫力和中和抗体的函数。sim.py:执行大部分繁重工作的 Sim 类,包括初始化模型、运行和绘图。
run.py:运行模拟的函数(例如并行运行和 Scenarios 及 MultiSim 类)。
analysis.py:用于在模拟运行时执行分析的 Analyzers 类,用于计算模型与数据拟合的 Fit 类,TransTree 类,以及其他用于分析模拟的类和函数。
Covasim 包内的 data 文件夹包含从根目录下的 data 文件夹加载流行病学数据的脚本,以及不同国家和家庭规模的人口分布数据。
其他文件夹
请参阅每个子文件夹中的说明文件以获取更多信息。
Bin
此文件夹包含 Covasim 的命令行界面 (CLI) 版本;示例用法
covasim --pars "{pop_size:20000, pop_infected:1, n_days:360, rand_seed:1}"
注意:CLI 当前与 Windows 不兼容。您需要将此文件夹添加到您的路径中,以便从其他文件夹运行。
Data
自动抓取数据的脚本(包括人口统计数据和 COVID 流行病学数据),以及数据文件本身(这些文件不属于存储库)。
教程
此文件夹包含九个教程的 Jupyter 笔记本,这些教程引导您使用 Covasim,从绝对基础到高级主题,如校准和创建自定义人群。
示例
此文件夹包含简单 Covasim 用法的演示,其中大多数示例来自教程。
邮轮
Covasim 早期应用于钻石公主号邮轮。
校准
校准模拟的示例,包括 Optuna(也在教程中介绍)和 Weights and Biases。
测试
集成、开发和单元测试。虽然(目前)未精心整理,但这些文件夹包含许多用法示例。有关更多信息,请参阅测试文件夹中的 README。
免责声明
此存储库中的代码由 IDM、Burnet 研究所、哥本哈根大学和其他合作者开发,以支持我们共同进行的 COVID 研究。我们已将其公开提供,并采用 MIT 许可证,以提供他人对我们研究更好理解的途径,以及为他们的工作构建的机会。请注意,Covasim 依赖于许多用户安装的 Python 包,这些包可以通过 pip install 自动安装。我们不保证代码按预期工作,或我们将提供支持、解决发现的问题或接受拉取请求。您欢迎创建自己的分支并修改代码以适应自己的建模需求,如 MIT 许可证所述。有关更多信息,请参阅贡献和行为准则 README。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。