跳转到主要内容

自动构建抗生素耐药性相关突变目录的工具

项目描述

codecov

catomatic

Python代码,算法性地构建耐药性突变目录。

介绍

该方法基于以下逻辑:不引起耐药性的突变可以与引起耐药性的突变同时出现,如果一个突变单独存在时(单独)不引起耐药性,那么它也不会在非单独存在时对表型产生影响。

跨越指定基因的孤立突变按顺序遍历,如果它们的药物敏感性(与耐药性相比)的比例通过了指定的统计检验,则将其特征化为良性并从数据集中移除。只要存在孤立的可感突变,此步骤就会重复。一旦数据集已经“清洁”了良性突变,就会通过指定的测试来分类耐药突变,如果测试失败,则将其添加到目录中作为“未分类”。

构建可以依赖于特定突变的一致性敏感性(并且不执行显式表型分析,除了解锁可感变异之外),使用二项式检验,其中耐药性的比例与指定的背景率进行比较,或者使用费舍尔检验,其中耐药性的比例与计算的背景率进行比较。

尽管该方法完全基于算法,但有两个干预入口点。首先,可以将中性突变(如文献搜索中收集的突变——如果基因包含高频率的进化突变,这通常很有帮助,这些突变会增加噪声)作为“种子”加入方法中,其次,可以添加或覆盖目录中的分类和条目,尽管除非聚合,否则不推荐这样做。

因为该方法使用并理解GARC1语法,因此可以在事后向目录提供“规则”,例如为rpoB中的移码突变提供{rpoB@*_fs:R},这可以简单添加(并且相对于更精细的突变(如rpoB@44_ins)具有较低的预测优先级),或者可以替换任何符合该规则的突变,从而有效地聚合相关变异。

生成的目录可以作为字典返回,也可以作为Pandas数据框返回,可以导出为Piezo兼容格式,以便快速解析和耐药性预测。

在目录的“证据”列中记录了列联表、比例、p值和威尔逊置信区间。

带有示例参数的工作流程

Catalogue Diagram

安装

使用Conda

建议通过Conda管理Python环境和依赖关系。您可以通过以下步骤在Conda环境中安装Catomatic:

创建和激活环境

首先,确保您已安装Conda。然后,创建并激活一个新环境,并安装catomatic。

conda env create -f env.yml
conda activate catomatic
pip install .

运行catomatic

在基本层面,该方法需要两个输入数据框:一个包含“R”与“S”二元表型的每个样本一行数据的samples数据框,以及一个包含每个突变一行数据的mutations数据框。它们必须在UNIQUEID列上可连接。

如果导出为Piezo格式,则MUTATION列必须包含GARC1语法(即gene@mutation)。还必须提供一个指向wildcards.json文件的路径,该文件应包含json对象/字典中的Piezo占位符(示例文件位于/data/bdq_wildcards.json)。

如果播种或更新目录,突变语法必须与MUTATION列匹配。

CLI

安装后,通过命令行界面运行catomatic目录构建器的最简单方法是。需要指定 --to_piezo--to_json 标志来保存目录(如果使用--to_piezo,则需要额外的参数)。

BuildCatalogue --samples path/to/samples.csv --mutations path/to/mutations.csv --to_json --outfile path/to/out/catalogue.json

BuildCatalogue --samples path/to/samples.csv --mutations path/to/mutations.csv --to_piezo --outfile path/to/out/catalogue.csv --genbank_ref '...' --catalogue_name '...' --version '...' --drug '...' --wildcards path/to/wildcards.json

Python/Jupyter笔记本

如果您希望在笔记本中运行catomatic,例如,可以在导入后简单调用BuildCatalogue。

from catomatic.CatalogueBuilder import BuildCatalogue

#instantiate a catalogue object - this will build the catalogue
catalogue = BuildCatalogue(samples = samples_df, mutations = mutations_df)

#return the catalogue as a dictionary in order of variant addition
catalogue.return_catalogue()

#return the catalogue as a piezo-structured dataframe
catalogue.build_piezo(genbank_ref='...', catalogue_name='...', version='...', drug='...', wildcards='path/to/wildcards.json')

有关运行catomatic的更详细示例,请参阅examples/demo.ipynb

CLI参数

参数 类型 描述
--samples str 样本文件路径。必需。
--mutations str 突变文件路径。必需。
--FRS float 读支持阈值。可选。
--seed list 使用GARC语法的种子突变列表。可选。
--test str 要运行的统计测试类型:NoneBinomialFisher。可选。
--background float 二项式测试的背景突变率。如果使用test = Binomial,则为必需。可选。
--p float 统计测试的显著性水平。可选。默认为0.95
--strict_unlock bool 强制对分类执行严格解锁,这需要p < 0.05。可选。
--to_json bool 将目录导出为JSON格式。可选。
--outfile str 输出目录文件的路径。与 --to_json--to_piezo 一起使用。可选。
--to_piezo bool 将目录导出为 Piezo 格式。可选。
--genbank_ref str 目录的 GenBank 参考。如果 to_piezo = True 则必需。可选。
--catalogue_name str 目录名称。如果 to_piezo = True 则必需。可选。
--version str 目录版本。如果 to_piezo = True 则必需。可选。
--drug str 与突变相关的药物。如果 to_piezo = True 则必需。可选。
--wildcards str 包含通配符规则的 JSON 文件。如果 to_piezo = True 则必需。可选。
--grammar str 目录中使用的语法。可选。默认为 GARC1
--values str 目录中用于预测的值。可选。默认为 RUS

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

catomatic-0.1.1.tar.gz (5.1 kB 查看哈希)

上传时间

构建分布

catomatic-0.1.1-py3-none-any.whl (5.0 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面