Metagenomics standard operating procedure v2

http://www.360doc.com/content/20/0823/10/71250389_931761136.shtml

https://github.com/LangilleLab/microbiome_helper/wiki/Metagenomics-standard-operating-procedure-v2

Note that this workflow is continually being updated. If you want to use the below commands be sure to keep track of them locally.

Last updated: 9 Oct 2018 (see revisions above for earlier minor versions and Metagenomics SOPs on the SOP for earlier major versions)

Important points to keep in mind:

The […]

肠型分析学习

肠型,Enterotype,是2011年在这篇文章中提出的,即将过去的2018年又有20多们肠道微生物的大佬对肠型的概念进行了回顾和确认。一直比较好奇怎样来用代码分析肠型,今天找到了这个教程,放在这:

这是那篇原始的文章:Arumugam, M., Raes, J., et al. (2011) Enterotypes of the human gut microbiome, Nature,doi://10.1038/nature09944 在谷歌上一搜,作者竟然做了个分析肠型的教程在这,学习一下:http://enterotyping.embl.de/enterotypes.html 这是2018年大佬们的共识文章:这是国人翻译的这篇文章,http://blog.sciencenet.cn/blog-3334560-1096828.html 当然,如果你只需要获得自己的结果或者自己课题的结果,不需要跑代码的,有最新的网页版分型,更好用,网址也放在这,同样也是上面翻译的那篇文章里提到的网址:http://enterotypes.org/ 只需要把菌属的含量比例文件上就能很快得到结果。

下面我就边学习边做来尝试着来个分析,并把代码放在这里备忘。其实作者已经整理好了代码,我学习一下,争取实现对手上的数据进行分析。

首先下载测试数据, wget http://enterotyping.embl.de/MetaHIT_SangerSamples.genus.txt wget http://enterotyping.embl.de/enterotypes_tutorial.sanger.R 跑跑示例数据,排排错

我表示对R语言还只是一知半解的状态,所以,先跑下,然后能用上自己的数据, 当个工具用就暂知足啦。我是黑苹果10.11的系统,运行这个软件提示少了Xquartz,于是装了个,windows和linux应该不需要。原代码中还提示『没有”s.class”这个函数』,百度了一下发现有个老兄的新浪博客说了是这个包,于是加了句library(ade4)就ok了。 Xquartz的下载地址Mac 10.6+:https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg

 

#Uncomment next two lines if R packages are already installed #install.packages(“cluster”) #install.packages(“clusterSim”) library(cluster) library(clusterSim) #BiocManager::install(“genefilter”) library(ade4)#Download the example data and set the working directory […]

Pandas and Sklearn

pandas isnull函数检查数据是否有缺失 pandas isnull sum with column headers

 

for col in main_df: print(sum(pd.isnull(data[col])))

I get a list of the null count for each column:

0 1 100

What I’m trying to do is create a new dataframe which has the column header alongside the null count, e.g.

col1 | 0 col2 | 1 col3 […]

DBS model training

phenotype gproNOG.annotations bitscores

This is the complete workflow used to generate a random forest model using output data from an hmmsearch of your protein coding genes against eggNOG gamma proteobacterial protein HMMs. Before running this notebook, run the parse_hmmsearch.pl script to get a tab-delimited file containing bitscores for all isolates.

“`{r, read in data} # […]

微生物多样研究—差异分析

1. 随机森林模型

随机森林是一种基于决策树(Decisiontree)的高效的机器学习算法,可以用于对样本进行分类(Classification),也可以用于回归分析(Regression)。

它属于非线性分类器,因此可以挖掘变量之间复杂的非线性的相互依赖关系。通过随机森林分析,可以找出能够区分两组样本间差异关键OTU。

Feature Importance Scores表格-来源于随机森林结果

记录了各OTU对组间差异的贡献值大小。

注:一般地,选取Mean_decrease_in_accuracy值大于0.05的OTU,作进一步分析;对于组间差异较小的样本,该值可能会降至0.03。

2. 交叉验证分析

交叉验证(Crossvalidation),是一种统计学上将数据样本切割成较小子集的实用方法。先在一个子集上做分析,而其它子集则用来做后续对此分析的确认及验证。一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。

其中最常见的为k-foldercross-validation,它指的是将所有数据分成k个子集,每个子集均做一次测试集,其余的作为训练集。交叉验证重复k次,每次选择一个子集作为测试集,并将k次的平均交叉验证识别正确率作为结果。

所有的样本都被作为了训练集和测试集,每个样本都被验证一次。

对随机森林方法筛选出的关键OTU的组合进行遍历,以期用最少的OTU数目组合构建一个错误率最低高效分类器。

一般地,对随机森林分析筛选出的关键OTU,按照不同组合进行10倍交叉验证分析,找出能够最准确区分组间差异的最少的OTU组合,再做进一步的分析,如ROC分析等。

注:图中横坐标表示不同数量的OTU组合,纵坐标表示该数量OTU组合下分类的错误率。OTU组合数越少,且错误率越低,则该OTU组合被认为是能够区分组间差异的最少的OTU组合。

3. ROC曲线

接收者操作特征曲线(Receiveroperating characteristic curve,ROC 曲线)也是一种有效的有监督学习方法。ROC分析属于二元分类算法,用来处理只有两种分类的问题,可以用于选择最佳的判别模型,选择最佳的诊断界限值。

可依据专业知识,对疾病组和参照组测定结果进行分析,确定测定值的上下限、组距以及截断点(cut-offpoint),按选择的组距间隔列出累积频数分布表,分别计算出所有截断点的敏感性(Sensetivity)、特异性和假阳性率(1-特异性:Specificity)。以敏感性为纵坐标代表真阳性率,(1-特异性)为横坐标代表假阳性率,作图绘成ROC曲线。ROC曲线越靠近左上角,诊断的准确性就越高。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的AUC最大,则哪一种试验的诊断价值最佳。

注:图中横坐标为假阳性率false positive rate(FPR):Specificity,纵坐标为真阳性率true positive rate(TPR):Sensetivity。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少。ROC曲线下的面积值在1.0和0.5之间。在AUC>0.5的情况下,AUC越接近于1,说明诊断效果越好。AUC在 0.5~0.7时有较低准确性,AUC在0.7~0.9时有一定准确性,AUC在0.9以上时有较高准确性。AUC=0.5时,说明诊断方法完全不起作用,无诊断价值。AUC<0.5不符合真实情况,在实际中极少出现。

4. Wilcoxon秩和检验分析

Wilcoxonrank-sum test,也叫曼-惠特尼U检验(Mann–WhitneyU test),是两组独立样本非参数检验的一种方法。其原假设为两组独立样本来自的两总体分布无显著差异,通过对两组样本平均秩的研究来实现判断两总体的分布是否存在差异,该分析可以对两组样品的物种进行显著性差异分析,并对p值计算假发现率(FDR)q值。

注:mean分别为两组样品物种的平均相对丰度,sd分别是两组样本物种相对丰度的标准差。P值为对两组检验原假设为真的概率值,p<0.05表示存在差异,p<0.01表示差异显著,q值为假发现率。

5. 差异菌群Heatmap分析

以10倍交叉验证(10-foldcross-validation)估计泛化误差(Generalizationerror)的大小,其余参数使用默认设置。建模结果同时包含“基线”误差(Baselineerror)的期望值,即数据集中属于最优势分类的样本全部被错误分类的概率。每个OTU根据其被移除后模型预报错误率增加的大小确定其重要度数值,重要度越高,该OTU对模型预报准确率的贡献越大。

根据挑选出来的差异OTU,根据其在每个样品中的丰度信息,对物种进行聚类,绘制成热图,便于观察哪些物种在哪些样品中聚集较多或含量较低。

注:图中越接近蓝色表示物种丰度越低,越接近橙红色表示丰度越高。左边的聚类树是根据各物种间的spearman相关性距离进行聚类;上边的聚类树是采用样本间距离算法中最常用的Bray-Curtis算法进行聚类。

6. 两组样本Welch’s t-test分析

两组不同方差的样本可使用Welch’st-test进行差异比较分析,通过此分析可获得在两组中有显著性差异的物种[或差异基因丰度—适用于元(宏)基因组]。

注:上图所示为不同基因丰度(或物种)在两组样品中的丰度比例,中间所示为95%置信度区间内,物种丰度的差异比例,最右边的值为p值,p值<0.05,表示差异显著。

7. Shannon多样性指数比较盒状图

将不同分类或环境的多组样本的Shannon多样性指数进行四分位计算,比较不同样本组的组间Shannon指数差异。同时进行非参数Mann-Whitney判断样本组间的显著性差异

[…]

v2ray

https://github.com/Jrohy/multi-v2ray

 

Docker运行

默认创建mkcp + 随机一种伪装头配置文件:

docker run -d –name v2ray –privileged –restart always –network host jrohy/v2ray

自定义v2ray配置文件:

docker run -d –name v2ray –privileged -v /path/config.json:/etc/v2ray/config.json –restart always –network host jrohy/v2ray

查看v2ray配置:

docker exec v2ray bash -c “v2ray info”

warning: 如果用centos,需要先关闭防火墙

systemctl stop firewalld.service systemctl disable firewalld.service

alpha多样性

扩增子数据分析之多样性指数: alpha多样性

多样性指数(Diversity index)和计算公式可以见: wikipedia

Alpha多样性(Alpha Diversity)是对某个样品中物种多样性的分析,包含样品中的物种类别的多样性——丰富度(Richness)和物种组成多少的整体分布——均匀度(Evenness)两个因素,通常用Richness,Chao1,Shannon,Simpson,Dominance和Equitability等指数来评估样本的物种多样性。

丰富度指数

Richness, Chao1,Shannon三个指数是常用的评估丰富度的指标,数值越高表明样品包含的物种丰富度就越高。

Richness指数: 指样本中被检测到的OTU量; Chao1指数 : 通过低丰度OTUs来进一步预测样品中的OTUs数量; Shannon指数 : 计算考虑到样品中的OTUs及其相对丰度信息, 通过对数(如以2为底的shannon_2,以自然对数为底的shannon_e 以10为底的shannon_10)转换来预测样品中的分类多样性。

均匀度指数

Simpson,Dominance和Equitability三个指数是常用的评估均匀度的指标。

Simpson指数 : 表示随机选取两条序列属于同一个分类(如OTUs)的概率(故数值在0~1之间), 数值越接近1表示表明OTUs的丰度分部越不均匀; Dominancez指数 : 取值为1-Simpson,表示随机选取两条序列属于不同分类(如OTUs)的概率; Equitability指数: 根据Shannon指数值计算,当其值为1时表明样品中的物种丰度分布绝对均匀, 而其值越小这表明物种丰度分布呈现出越高的偏向。

汇总表:

指数 单位 计算方式 richness OTUs 样本中至少包含一条序列的OTU数目 chao1 OTUs N + S^2 / (2D^2),其中N为OTU个数, S为丰度为1的OTUs个数,D为丰度为2的OTUs数目; shannon_2 bits sum(f), 对所有OTU频率计算p*log(p,2)和, p为OTU的频率; shannon_e nats […]

TORMES and gapFinisher

TORMES: an automated pipeline for whole bacterial genome analysis Narciso M Quijada, David Rodríguez-Lázaro, Jose María Eiros, Marta Hernández Bioinformatics, Volume 35, Issue 21, 1 November 2019, Pages 4207–4212, https://doi.org/10.1093/bioinformatics/btz220 gapFinisher: A reliable gap filling pipeline for SSPACE-LongRead scaffolder output Juhana I. Kammonen , Olli-Pekka Smolander, Lars Paulin, Pedro A. B. Pereira, Pia Laine, Patrik […]

ClinVAP: A reporting strategy from variants to therapeutic options

https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btz924/5674039

 

ClinVAP: A reporting strategy from variants to therapeutic options

 

Abstract Motivation

Next-generation sequencing (NGS) has become routine in oncology and opens up new avenues of therapies, particularly in personalized oncology setting. An increasing number of cases also implies a need for a more robust, automated, and reproducible processing of long lists of […]

Vipie: web pipeline for parallel characterization of viral populations from multiple NGS samples

Background

Next generation sequencing (NGS) technology allows laboratories to investigate virome composition in clinical and environmental samples in a culture-independent way. There is a need for bioinformatic tools capable of parallel processing of virome sequencing data by exactly identical methods: this is especially important in studies of multifactorial diseases, or in parallel comparison of laboratory […]