欢迎光临散文网 会员登陆 & 注册

尔云间生信代码|基于LDA(线性判别分析)算法的微生物biomarker的筛选

2022-10-09 15:58 作者:尔云间  | 我要投稿


近年来发展起来的宏基因组学技术避开传统的微生物分离培养方法直接从环境样品中提取总DNA, 通过构建和筛选宏基因组文库来获得新的功能基因和生物活性物质, 宏基因组文库既包括了可培养的, 又包括了未可培养的微生物遗传信息, 因此增加了获得新生物活性物质的机会。特定生物种基因组研究使人们的认识单元实现了从单一基因到基因集合的转变,宏基因组研究将使人们摆脱物种界限,揭示更高更复杂层次上的生命运动规律。


在目前的基因结构功能认识和基因操作技术背景下,细菌宏基因组成为研究和开发的主要对象。细菌宏基因组、细菌人工染色体文库筛选和基因系统学分析使研究者能更有效地开发细菌基因资源,更深入地洞察细菌多样性。但是宏基因组研究的实验数据中往往含有成千上万种微生物,如何准确的筛选出不同实验条件或环境条件下的关键生物标志物,指导后续的实验和功能挖掘成为了一个重要的研究方向。


本代码通过基于宏基因组的微生物丰度数据(物种丰度或OUT丰度),结合原始生物样本的信息,利用非参数检验及LDA(Linear Discriminant Analysis,线性判别分析)的算法,筛选出在不同实验条件下显著差异的微生物,并估算出其相对差异的分数(LDA score),以此来代表该物种在某种实验环境下的相对丰度。


通过结合原始样本信息,既可以得出在不同条件下的显著的biomarker(生物标志物),帮助后续的数据分析。用户不需要设置复杂的模型参数,只需要指定微生物的丰度矩阵以及对应的样本信息即可,样本信息文件中可包含多种实验分组条件。代码会匹配根据用户指定的分组计算出显著的生物标志物,最多同时可以指定两个分组条件一起计算。计算完成之后,会输出biomarker的分数矩阵,同时对分数矩阵使用直方图进行可视化,展示biomarker。


使用方法:

Rscript run_LDA.R [-h] [-v] [-q] [-k float number] [-w float number]

[-l float number] [-g string] [-b string] [-o string]

Abundance File Meta File

参数说明:

usage: 

run_LDA.R [-h] [-v] [-q] [-k float number] [-w float number]

[-l float number] [-g string] [-b string] [-o string]

Abundance File Meta File

positional arguments:Abundance File        Species/OTU Abundance File to be used

Meta File             Samples Metadata file

optional arguments:-h, --help            show this help message and exit-v, --version         Print software Version [default]-k float number, --kruskal.threshold float numberThe p-value for the Kruskal-Wallis Rank Sum Test(default 0.05).-w float number, --wilcox.threshold float numberThe p-value for the Wilcoxon Rank-Sum when 'blockCol'is present (default 0.05).-l float number, --lda.threshold float numberThe effect size threshold (default 2.0).-g string, --group.var stringColumn name in meta data file indicating groups,usually a factor with two levels (default "GROUP")-b string, --block.var stringOptional column name in meta data file indicatingblocks, usually a factor with two levels (default"GROUP")-o string, --output.prefix string

prefix for output file(default "lda_result")


操作步骤:

1、打开命令行界面,输入“Rscript run_LDA.R -h”查看软件详细的帮助文档,确定该程序所需的输入文件和关键参数的设置。

2、用户根据帮助文档中的参数说明内容,对参数进行设置。这里,必须输入参数有2个,分别是Abundance File,表示物种的丰度矩阵文件,以物种或OTU为行,样本为列,保存为csv文件;Meta File 表示各个样本的meta信息文件,第一列为样本名,后面每一列为样本的某一种分组或实验类型,也保存为csv文件。需要确保Abundance File中出现的样本名,在Meta File 中必须能够找到。-g,表示选取Meta矩阵中的某一列作为分组依据,进行LDA分析。其余参数为可选参数,在用户没有显式指定的情况下,将采用默认值运行。具体说明如下:-h,输出软件帮助文档;-v,输出软件版本号;-k,kruskal.threshold,kruskal 非参数检验的p值,只有小于此阈值的微生物会被保留下来;-w, wilcox.threshold, wilcox非参数检验的的p值,只有小于此阈值的微生物会被保留下来;-l, lda.threshold, lda score的回归系数阈值,绝对值大于此阈值的会被保留;-b,第二个分组变量的列名;-o,结果输出文件的前缀。参数符号的string,number提示该参数的数据类型。

3、完成参数提交后,按下确认键,整个程序即正式开始进入执行。每步执行内容都会给出提示。程序执行完毕后,界面会显示” Finished LDA "结束语。

结果展示:

共输出一个表格csv格式文件,一个pdf格式的图片文件

1、lda_result_plot.pdf

该图表示在用户指定的分组中显著差异的大于设定阈值的biomarker。LDA score分值越大,差异越大,表示在该组中丰度显著高于其他组。不同的颜色用于区分不同的分组。


2、lda_result.csv

该表格表示各个差异物种的具体LDA分数值,共有三列,第一列是具体的物种或OUT名称,第二列是具体的LDA Score,是对原始LDA score去log10之后的数值, 第三列是该物种显著富集的分组。


特别说明:本代码经申请软件著作权,仅转让使用权,不转让所有权

如需代码及示例数据等文件,请扫码聊天框回复 “代码”领取!

写在文末:

如果您近期想做生信方面的文章而苦于没有思路,或者不知道如何来入手生信分析,或者兑具体的某一个图有作图需求,都可以扫码咨询小云,我们有专业的技术团队,生信热点思路设计、生信分析、热点方向生信挖掘等,如有需要,可扫码下方二维码了解详情


尔云间生信代码|基于LDA(线性判别分析)算法的微生物biomarker的筛选的评论 (共 条)

分享到微博请遵守国家法律