java fit 16s,科学网—16s rRNA分析流程和工具的介绍 - 肖斌的博文

2023-12-28 04:20

本文主要是介绍java fit 16s,科学网—16s rRNA分析流程和工具的介绍 - 肖斌的博文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

“split_libraries.py” 和“split_libraries_fastq.py”实现数据拆分和数据过滤的双重目的。Mothur利用“Trim.seqs”。不过QIIME和Mothur都不能直接处理sff文件(454下机产生的数据格式),不过可各自利用“process_sff.py”和Sffinfo将sff格式转换为FASTA和QUAL文件。

数据过滤考虑的参数有:minimum average quality score allowed in a read、maximum number of ambiguous bases allowed、minimum and maximum sequence length、maximum length of homopolymer allowed、maximum mismatches inprimer or barcode allowed、whether to truncate reverse primer, and so on.

(2)Denoise and chimera checking

16s建库的pcr过程、测序过程均会导致序列出现错误,在分析过程过程中需要有效排除这种错误。测序误差矫正常用的工具有Denoiser(implemented in QIIME)、AmpliconNoise、Acacia、Pre.cluster(implemented in Mothur)。嵌合体查找的工具有ChimeraSlayer、UCHIME、Persus、DECIPHER,ChimeraSlayer、UCHIME、Persus在mothur中均可调用。在这些工具中,存在有待于优化的问题(these different methods often disagree with one another on the list of identified chimeras,probably because of their different mechanisms or algorithms. More efforts are required to evaluate these methods and coordinate their inconsistencies in chimera identification.)

328d5170a2a19271a5e955cef593521f.png

在分析中有个关于古细菌序列的情况需要注意:a very small proportion of archaeal sequences may be generated for 16S rRNA gene amplicon datasets amplified with bacteria-specific primers. These unexpected sequences should be identified after denoising and chimeraremoval, and are advised to be discarded before subsequent data normalization.

(3)Data normalization

测序深度不理想和不均匀的话会对alpha多样性及beta多样性均有影响。Uneven sequencing depth can affect diversity estimates in a single sample (i.e.,alpha diversity), as well as comparisons across different samples (i.e., beta diversity), thus data normalization is required. 对于此问题有两种处理策略,分别是relative abundance and random sampling (i.e., rarefaction),in addition, z-score亦用于normalization的过程中。但不同的方法均会有缺点。

(4)Picking OTUs and representative sequences

OTU的界定主要根据序列的一致性进行,(The OTUs are picked based on sequence identity, and various identity cutoffs of 16S rRNA gene have been used for different taxonomic ranks. For example, identity cutoffs recommended by MEGAN are 99 % for species, 97 % for genus,95 % for family, and 90 % for order level, respectively)。OTU界定时选择的工具与算法对后期分析有很大影响(The OTU picking strategy and algorithms have significant effects in the downstream data interpretation. )根据分析过程中是否使用数据库,OTU界定的策略可分为de novo、closed reference和open reference。在  OTU界定中有很多聚类的方法,There are many clustering or alignment tools available for OTU picking, such as Uclust, cd-hit, BLAST, mothur, usearch, and prefix/suffix. These tools are implemented in QIIME. Among them, the mothur method contains three clustering algorithms to pick de novo OTUs, namely, nearest neighbor, furthest neighbor, or average neighbor. 当序列聚类好后,代表了一个OTU,接下来就是从这个OTU找到代表序列,一种做法是a representative sequence can be a random, the longest, the most abundant(as default in QIIME), 另一种操作方法是the first sequence in an OTU cluster.  还有一种策略是the distance method in mothur identifies the   sequence with the smallest maximum distance to the other sequences as the representative sequence.

(5)Taxonomic assignment

taxonomic assignment的策略有:(1)word match,如RDP classfier,(2)best hit,(3)Lowest Common Ancestor,如MEGAN、SINA Alignment Service.

(6)Phylogenetic analysis

Phylogenetic relationships一般可以用树来表示,phylogenetic relationships主要是通过序列比对来实现的,序列比对的工具有ClustalW, MUSCLE, Clustal Omega, Kalign, T-COFFEE, COBLAT和FastTree. 目前针对16s rRNA NGS数据的分析工具都可以实现,如MEGA,RAxML,MRBAYES,PhyML,TreeView,Clearcut,FitTree. 其中RAxMLand PhyML are the most widely used programs for maximum-likelihood phylogenetic analysis, probably because they are specifically designed and optimized for such purpose.

(7)Alpha- and beta-diversity analyses

alpha多样性有众多指标可以表示,在mothur中有Shannon, Berger-Parker,Simpson, Q statistic; observed richness, Chao1, ACE, and jackknife。而在QIIME中,有phylogenetic diversity (PD)-whole tree, chao1, and observed species.

还有一种物种丰度的比较方法:rarefaction curve. QIIME中主要用“single_rarefaction.py”、 “multiple_rarefaction.py”,在mothur中主要用“Rarefaction.single”和“Rarefaction.shared”.

beta多样性计算主要反映不同样本之间的差异度,several distance metrics, such as Unifrac, Bray-Curtis, Euclidean,Jaccard index, Yue & Clayton, and Morisita-Horn, have been often employed. beta多样性计算根据是否考虑OTU的相对丰度,可分为定量指数和定性指数。

(8)Statistical and network analysis

在Two-sample/group中,多考虑t-test。在其中需要注意,Particularly for independent two-samplet-test, independence and equal variances (which canbe tested by F-test, Levene’s test, etc.) of two populations arerequired. In the case of non-normal distribution of data sets,nonparametric two-sample tests robust to data non-normality,such as Wilcoxon signed-rank test, and Mann-Whitney U testare applicable for significance testing of difference betweengroup medians.

在Multiple-sample/group tests中,ANOVA。

(9)Clustering and classification

clustering可以分析样品之间的亲疏关系。classfication的策略用来对样品进行类别判定。

(10)Ordination analysis

在样本的相似度和距离计算完后,可以利用principal component analysis (PCA), principal coordinates analysis(PCoA, also known as metric multidimensional scaling), Nonmetric multidimensional scaling (NMDS), canonical correspondence analysis (CCA), linear discriminantanalysis (LDA), and redundancy analysis (RDA)等构建样本间的关系。

(11)Network-based modeling

与基因表达、代谢分子、蛋白等数据一起分析共表达网路或者共表达模式(co-occurrence and co-exclusion patterns)

参考文章:JuF,ZhangT.16srRNAgenehigh throughputsequencingdataminingofmicrobiotadiversityandinteractions,ApplMicrobiolBiotechnol.2015,99(10):4119-4129

这篇关于java fit 16s,科学网—16s rRNA分析流程和工具的介绍 - 肖斌的博文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545055

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2