高通量数据处理的一些经验和建议_第1页
高通量数据处理的一些经验和建议_第2页
高通量数据处理的一些经验和建议_第3页
高通量数据处理的一些经验和建议_第4页
高通量数据处理的一些经验和建议_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高通量数据处理的一些经验和建议最近一年时间里收到很多同学和朋友关于454数据处理的询问,通过QQ,微信,人人网和邮件等各种途径,当然不少也是面对面的讨论。这些同学和朋友包括同组的,跨组的,同所的,跨所的,其他大学的,来自北京的、南京的、广州的、西安的,甚至也有国外的中国朋友。有些朋友我素未谋面,也不知长相如何,不知男女。有时候同一天能收到五六份邮件,问题之五花八门,有时已经超越了我所能够解答的范围。这些现象也反映了当前生物信息学的急剧变革,第二代测序技术就像Iphone问世一些,彻底席卷和重新定义了当前生态学研究的方法和手段。而几年前费用昂贵的第二代测序如今已“旧时王谢堂前燕,飞入寻常百姓家”,于是乎大潮裹挟之下的硕士生博士生们都想出来耍耍,扔个十几万块钱,希望能够轻松的收获几篇文章。科研论文的发表讲究“猎奇性”,大家都喜欢看到新奇的方法和漂亮的图表。但我认为这其实也是当今科研界的弊端之一,讲究创新和手段的先进,而忽视了研究的重要性。以微生物生态学的旗舰杂志ISMEJ为例,最近一年多发表的学术论文里,第二代测序技术已经是寻常方法,所谓第三代的单细胞测序技术也开始出现。研究生物信息学的来自美国科罗拉多的Rob Knight能够作为ISMEJ的高级主编,方法对于微生物生态学研究的重要性可见一斑。前几天读到阿伯丁大学的James Prosser教授在Nature上发表的一篇观点文章“Think before you sequence“,在这里面他讲到,第二代测序只不过是一个工具而已,我们的研究依旧要从扎扎实实的假设出发,设计实验来解决问题和验证假设。高通量测序并不能弥补实验设计的缺陷。我在阅读文章的过程中也发现,设计合理和完整的实验,即使使用传统的Sanger测序技术,依旧能够说明和解决问题,并能够发表到高档次期刊上。而如果使用第二代测序技术,但是数据处理有问题,数据质量控制不好,文章也很难得到发表,相当于花钱买罪受。我从2011年秋天开始学习454数据的处理,在学习的起始阶段,能够和师弟袁超磊一起探讨和交流,并且几乎阅读了ISMEJ上所有与第二代测序技术有关的文章,所以能够很快的上手。在此我也对师弟袁超磊表示正式的感谢,祝愿他在阿德雷德大学能吃上可口的饭菜。很多朋友的问题我未能一一解答,在此也表示歉意。我经历过学习454数据处理的漫长和痛苦的过程,我很清楚有时候一句话或者一段话很难解决所问的问题。去年我自己投出的文章经历了很多次的拒稿,十几位审稿人和生物信息学家对数据处理提出了建议,现在经过在悉尼和生物信息学专家的讨论,我也能够更加合理地看待数据处理的问题。摸着石头过河的一些经验和建议,在这里进行分享,希望正在摸索和思考中的你,觉得并不孤单。1. Mothur和QIIME那个软件更好?Mothur是美国密歇根大学的Patrick Schloss在2009年开发的数据处理平台,它的前身是Dothur软件,相信大家都听说过。这两个软件的发音分别为Mother和Daughter,是Dr Parick献给他的妻子和女儿的。另一个被广泛使用的数据处理平台是QIIME,也是美国科罗拉多Rob Knight等人于2009年开发出来的。截至今天,Mothur的方法文献已经被引用1229次,而QIIME被引用574次。这说明Mothur比QIIME有更广泛的群众基础。我刚开始学习使用的就是Mothur,我个人非常喜欢这个开源的数据处理平台,基本能够实现我的所有数据处理目的。Mothur软件无需安装,在Windos, Linix,和MacOS系统上都可以运行。我研究了Mothur每一个中间导出文件的格式和原理,所以我能够将这些中间产生的文件导入其他软件进行处理和做图,比如R语言。很多人不喜欢Mothur,都是因为Mothur不能够直接出图,必须依赖于其他软件。而这正式我所喜欢的原因,我现在也正在进一步学习R语言,R的做图功能是非常强大的,其实大家平时看到文章上那些非常漂亮的图,大都是R语言做出来的。所以,如果将Mothur和R结合,我认为是一个能正确处理数据并完美展现数据的途径。除了罗氏454数据处理之外,Mothur现在也有了针对Illumina数据的处理方式,大家从Mothur的网页上就可以读到Dr. Patick写的标准数据处理流程。现在QIIME携苹果电脑的时髦,也得到了很多人的青睐。这个软件我本人没有真正使用过,但是知道QIIME只能在MacOS和Linix系统上运行,当然也可以通过在Windos系统上安装Virtual Box来运行。这个软件出图的效果比较好,很多人把直接出的图用来发表文章。我所在的悉尼这边的研究所的生物信息学专家也是用QIIME来处理数据。我就这个软件问题和他讨论了好多次。基本来说,两个软件都可以帮助我们实现正确的数据处理,并不存在哪个更好的问题,只有个人在使用上的喜好。我希望你无论使用那个软件,都仔仔细细阅读软件网页上的教程,并熟悉所有的命令。自己一一试试各个命令,合理组合命令,这样才会通过修改命令来正确处理自己的数据。这个过程没人可以帮你,只有你自己能够救赎自己。2. 数据处理难学吗?这是一个我一直以来很想告诉所有人的问题。说实话,那两个软件都很好使用,有标准的处理流程在那里等着你,把所有数据处理下来绝对不超过十天时间。但是,为什么我们几个月甚至一年都拿不下来数据处理?因为数据处理的难点不在于软件的使用,而在于你对微生物生态学基本概念的了解。我认为我们需要在数据处理之前就应该特别清楚的是1)多样性的各种指标。数据条数的多少会直接影响多样性的计算结果,它们之间是正相关关系。所以计算多样性必须统一序列条数。而我们知道统一序列条数就会舍弃很多条数不足的样品,这个取舍就涉及到很多的经验问题,需要你阅读很多的文献来了解;2)多样性的表征方式。我研究多样性的时候,阅读了很多相关的文献,对Bray-Curtis指数,UniFrac等都非常了解。选择能够最好表现你多样性差异的指数,需要花很多很多的汗水。3)多元统计方法。这个又是更大的难点了,Mothur不会告诉你,QIIME也不会告诉你。你只有去阅读教材,阅读文章,才能弥补这些缺陷。不然你连那些命令都读不懂,还谈什么数据处理,修改命令。4)文章的构思。这又是更高一级的知识预储备了。在你的数据处理之前,请阅读所有高质量期刊上的相关文章,至少需要预估计,你可以出哪些图,做哪些分析。其实在数据处理的过程中已经是你不断验证假设和推翻假设的过程。希望你在数据处理之前踏踏实实地做好这些功课,不然你很难完美运行各个命令。另外,要仔细研究各个软件的原理,做到人机合一的效果。因为有时候软件并不能解决所有问题,比如在alignment的时候,有时候在部分区域比对效果不好,你需要使用合适的软件打开这些中间文件,手动进行删除,不然会影响后续的多样性计算。所以,你需要把自己练成一台机器。2010年我做过同位素超高速离心,尽管已经有很多文献可供参考,我当时还是研究了离心机的原理和等密度梯度离心的原理,所以自己就很清楚应当如何优化实验条件,获得最好的数据。3 细菌和古菌16S数据和功能基因数据处理的不同?如果你处理的是细菌16S数据,那么恭喜你,你应该很容易完成数据处理,因为Mothur和QIIME都包含了细菌16S比对和分类的数据库。因为细菌的研究已经非常多,所以分类的效果也很好,未知的类别一般也很少。如果是古菌16S的话,RDP,Greengenes,SILVA等数据库我都用过,分类效果都很差,但是不影响你的多样性分析。因为古菌的纯培养仍然很少,分类问题仍然是处于发展阶段。你基本也可以顺利按照标准流程完成数据处理。但是功能基因的话,就面临很大很大的难题。如果想测序功能基因的同学,一定要三思而后行,我自己在这方面进行了很多的尝试,虽然知道处理的方式,但是解释起来真的很难。就像我在上面所说的,如果你不了解Mothur和QIIME的文件格式,基本架构,我很难告诉你怎么去实现自己的目的。所以大家也可以看到,现在发表的关于功能基因测序的文章很少很少。大家基本都是DIY,都是一些很熟悉生物信息学的国外实验室发表的。希望你能认识到功能基因处理的难点1)第一步是比对alignment,一开始就做不了。因为没有可供使用的alignment reference数据库。我的经验是自己做一些,从NCBI上下载功能基因序列,然后自己通过MUSCLE或者ARB比对的很齐,然后作为参比序列;2)分类。这个更难,需要经过alignment之后,分成不同的OTU,然后从每个OTU中选择一个代表序列,通过BLAST进行分类。3)分OTU。对于细菌和古菌16S而言,97%代表species水平,但是功能基因就完全不一样。以氨氧化微生物研究为例,AOA的species-level OTU应当是87%,而AOB应当是80%,所以和16S数据完全不同。对于必须要做功能基因的同学,我建议可以考虑基因芯片(microarray)的方法。现在针对pmoA和amoA基因的基因芯片都已经开发的非常完善,国际合作也不是难题。Microarray通过设计的探针合理解决了分类的问题,价格比454测序也便宜,数据处理简单。所以我认为是一种更好的方式。以上所写,难免有错误之处。我以分享知识为乐趣,也祝各位同学和朋友数据处理顺利。Mothur 命令手册-Mothur命令中文解释(一)Align.check这个命令使你计算16S rRNA基因序列中潜在的错配碱基对数目。如果你对ARB(http:/www.arb-home.de/)的编辑窗口熟悉的话,这与计算,#,-和=这些符号的数目相同。用greengenes的二级结构图谱和esophagus dataset运行这个命令。要运行这个命令,你必须提供FASTA格式的序列文件。Align.seqs这个命令把用户提供的FASTA格式的候选序列文件对齐到用户提供的同样格式的模板序列。通用的方法是:1.采用kmer searching(/apps/mediawiki/kmer/index.php?title=Main_Page),blastn或suffix tree searching找到每个候选序列的最接近模板2.在候选序列文件和空位模板序列之间进行碱基配对,采用Needleman-Wunsch,Gotoh,或者blastn算法规则。3.重新在候选和模板序列对之间插入间隔(空位),采用NAST算法,这样候选序列就能与原始模板序列兼容。我们提供了一些16S和18S基因序列的数据库,这些是与greengenes和SILVA队列兼容的。然而,自定义的任何DNA序列的排列都可以用作模板,所以鼓励用户分享他们的排列供其他人使用。普遍来说,进行排列是很快的-我们能在3小时内将超过186000个的全长序列排序到SILVA排列中,而且质量像SINA aligner做的一样好。另外,这个速率可以由多个处理器加倍。Amova分子方差分析(Analysis of molecular variance)是一种传统方差分析的非参数模拟。这种方法被广泛应用在种群遗传学以检测关于两个种群的遗传多样性不是显著不同于由这两个种群的共同联合导致的多样性这样一个假设。Anosim参考文献:Clarke, K. R. (1993). Non-parametric multivariate analysis of changes in community structure. _Australian Journal of Ecology_ 18, 117-143. 群落结构变化的非参数多元分析澳大利亚生态学报Bin.seqs这个命令输出一个fasta格式的文件,其中序列根据它们所属的OTU进行排序。这样的输出也许对一个OTU生成特异性引物有帮助,用来对序列进行分类。Catchall这个命令使mothur与Linda Woodard,Sean Connolly和John Bunge开发的catchall程序连接。获取更多信息,请参看/catchall/index.html。catchall的可执行程序必须与你的mothur在同一个文件夹里。如果你是一个Mac或Linux用户,你必须也安装了mono,在catchall的网页中有一个关于mono的链接。Chimera.bellerophon采用Bellerophon方法生成一个挑选的优先嵌合序列的得分列表。Chimera.ccode采用Ccode方法。对每个词语,在查询序列和参考序列之间对比距离的差异,以及参考序列与它们自己。Chimera.check采用chimeraCheck方法.注意:从RDP模型中,这个方法不能决定一个序列是否是嵌合的,但是让你决定那些基于产生的IS值的序列。查看“查询的序列的左边到它的最近的匹配的距离+查询的右边到它最近的匹配的距离-整个查询序列到它最近的匹配的距离”,通过多个窗口Chimera.perseus这个命令读取并命名一个fasta文件,输出潜在的嵌合序列。Chimera.pintail采用Pintall 方法。在不同的窗口中查询一个序列,查看期望的差异与观察到的差异之间的不同Chimera.seqs这个命令已经被拆分为6个分离的命令。目前,mothur执行六种方法以确定一个序列是不是嵌合的。如果有一个你喜欢看到的算法可以实施,请考虑一下或者贡献给mothur项目,或者联系开发者,我们将会考虑我们能做什么。chimera.bellerophonchimera.pintailchimera.checkchimera.ccodechimera.slayerchimera.uchimeChimera.slayer这个命令读取一个fasta文件和参照文件,并输出潜在的嵌合序列。原始算法的开发者建议采用一个特殊的模版参照(例如,gold)。我们用silva参照文件提供silva-based 排列的数据库。你将需要在blast/bin文件夹中有megablast和formatdb可执行文件的拷贝,这里blast文件夹与mothur可执行程序相邻。megablast/formatdb的版本可以在这里/blast/executables/release/2.2.25/找到,或者它们就包含在mothur的程序版本中。Chimera.uchime这个命令读取一个fasta文件和参考文件,并输出潜在的嵌合序列。原始的uchime程序是由Robert C. Edgar编写的,并且贡献为公共所有。/uchime/Chop.seqs这个命令读取一个fasta文件,输出一个.chop.fasta,包含着修剪的整理的序列。它可以用于排序的和未排序的序列。Classify.otu这个命令用来为一个OTU得到一个共有序列分类.Classify.seqs这个命令允许用户使用多个不同的方法把他们的序列分配到他们选择的分类提纲(轮廓)中。当前的方法包括采用一个k-nearest邻近共有序列和Bayesian方法。分类提纲和参考序列可以在taxonomy outline(/wiki/Taxonomy_outline)的页面中获得。这个命令需要你提供一个fasta格式的输入文件和数据库序列文件,还要有一个为了参考序列的分类文件。Classify.tree这个命令用来为一个进化树的每个节点获得一个共有序列。Clear.memory这个命令从内存中删除保存的参考数据,你可以在已经用以下命令(align.seqs, chimera.ccode, chimera.check, chimera.pintail, chimera.slayer和classify.seqs)之一使用过保存参数之后使用chear.memory. Clearcut这个让mothur用户在mothur内部运行clearcut程序。chearcut程序是由Idaho大学的Initiative for Bioinformatics和Evolutionary Studies(IBEST)编写。了解更多clearcut相关信息,参看/clearcut/。注意,在版本1.13.0中,clearcut源码已经加进mothur,所以你不再需要clearcut的可执行程序。当然,如果你愿意,你仍可以从这里下载clearcut的可执行文件/wiki/Download_ClearcutCluster一旦一个距离矩阵读进mothur,cluster命令就能用来给OTUs分派序列。目前,mothur采用三个分簇方式。最近邻:从OTU的最相似序列,一个OTU内的每一个序列都最多x%的距离最远邻:一个OTU内的所有序列与OTU内的所有其它序列最多有X%的距离平均邻近:这个方法介于另外两个算法的中间水平如果您有一个算法,请考虑一下贡献给mothur项目。Cluster.classic这个命令可用于把序列分配到OTUs.它是cluster的dotur工具,目前mothur采用三个分簇方式。Cluster.fragments这个命令需要一个fasta格式的文件,也要提供一个命名的文件而且当一个序列被确定为一个更大的序列的一部分时,列出的与序列名相关的指明文件就会被合并。Cluster.split这个命令用来分配序列到OTUs并输出一个.list, .rabund, .sabund文件.它把大的距离矩阵拆分为小的部分。Collect.shared这个命令给计算器生成一个收集曲线,描绘出不同群落间的相似性或它们的共有丰度。Collectors curves描绘随着你样本增加的个体,丰富度和多样性的变化。如果Collectors curves变得与x轴平行,你可以合理的确信你在采样这个工作上做的很好,并且相信曲线上的最终值。否则,你需要继续抽样(采样),mothur能为collectors curves生成数据,就像sons做的那样。当时sons将数据呈现在sons文件中,实际上不可能被新手分析解读。mothur解决了许多这样的问题,因为mothur为每一个估计值产生分离的文件。Collect.singleCollect.single利用计算器(/wiki/Calculators)生成collectors curves,描述了丰度,多样性和样本的其他特征。Collectors curves描绘了你抽取额外的个体时丰度和多样性的变化。Consensus.seqs这个命令可以以两种方式使用:从fasta文件创建一个共有序列,或者由一个list文件为每个OTU创建一个共有序列。序列必须进行排列。Consensus.seqs的参数(特征,因素)是fasta, list, name和labelCooccurrence这个命令计算四个度量并且测试他们的显著性以评估是否样式的存在与否比起那些随机期待的有所不同。Corr.axes这个命令将会计算在shared/relabund文件中每一行(或列)的相关系数,记录在一个pcoa文件所显示的轴线上。Count.groups这个命令从一个特定的组(group)或者一套组算出序列,从下面这些文件类型:group或者shared文件.Count.seqs这个命令计算在一个name文件中的代表性序列所代表的序列的数目。如果提供了一个group文件,它也会提供使group计数崩溃。Create.database这个命令读取一个list文件,*.cons.taxonomy, *.rep.fasta, *.s和可选的group文件,并且创建一个数据库(database)文件.Degap.seqs这个命令读取一个fasta文件并输出一个.ng.fasta文件,它包含所有间隔字符都被移除后的序列。Deunique.seqs这个命令是unique.seqs的反向命令,从一个fasta和name文件创建一个fasta文件。Deunique.tree这个命令把冗余序列标识符重新插入一个唯一的系统树。Dist.seqs这个命令将计算两个排序的DNA序列间不正确的成对距离。这个方法比通用的DNADIST更好,因为这些距离不是存储在RAM(随机存储器)中,它们直接打印到一个文件。而且,通过它可以忽略可能不感兴趣的“大的”距离。这个命令将产生一个列格式的距离矩阵,这个矩阵与read.dist命令中的“列选项”相互兼容。这个命令也能生成一个phylip格式的距离矩阵。它有多个如何操纵gap比较和末端gap的选项。Dist.shared这个命令将会生成一个phylip格式的距离矩阵,描述多个组的差异性。这个命令将会计算任何一个描述群落成员或结构相似性的计算子(calculator)。F这个命令读取一个fastq文件,并创建一个fasta和quality文件。Filter.seqsfilter.seqs从基于一个由用户定义标准的排列删除列。例如,生成的与参照排列相对的排列经常有一些列的每一个字符是“.”或者“-”。这些列不会包含用于计算距离,因为他们本身没有信息。通过删除这些列,计算大量的距离这一过程就会加快。同样,人们也喜欢用温和的或强制的屏蔽方式(比如Lane mask)屏蔽他们的序列来移除可变区域。这类屏蔽只在深层次系统进化分析时鼓励使用,而在精细水平的分析比如需要计算OTUs中不建议。Get.coremicrobiome这个命令决定可变数目的样本中的OTUs的片段,为了不同的最小相关丰富度。Get.current这个命令允许你找出mothur已经为每个类型保存为current的一些文件,你也可以清空current文件。Get.group这个命令允许你为储存在内存中的多个样本的OTU数据获得一个已有的不同群组的目录。这个特征应该在为其它命令使用group选项时有帮助。Get.groups这个命令从一个特定group或一套groups选择序列。group来自以下文件类型:fasta,name,group,list,taxonomy.Get.label这个命令是你为当前储存在内存中的每行OTU数据获得一个标签的目录。这个特征应该在为其他命令使用label选项时有帮助。Get.lineage这个命令读取一个taxonomy文件和一个分类(taxon),并产生一个新的文件只包含有来自分类的序列。你也许也会把一个fasta, name, group, list或者align.report 文件包括到这个命令中,mothur将会为那些只包含有选定序列的文件生成新的文件。Get.otulist这个命令解析一个list文件并且为每一个包含两列的距离创建一个.otu文件。第一列是OTU数目,第二列是那个OTU中的序列的列表(list)。Get.oturepbin.seqs命令能为所有序列报告OTU号码(即编号),get.oturep命令生成一个fasta格式的序列文件,为每个OTU只包含一个代表性序列。为每个OTU的定义生成一个.rep.fasta和.s文件。Get.otus这个命令选择出包含有来自一个特定group或一副groups的序列的OTUs.Get.rabund这个命令将生成一个rabund文件,它基于你输入到mothur的OTU数据。Get.relabund这个命令计算一个样本中的每个OTU的相对丰富度。它将输出一个.relabund文件。Get.sabund这个命令将产生一个sabund文件,基于你读入mothur的OTU数据。例如,如果你读入一个list文件,get.sabund将产生对应的sabund文件。Get.seqs这个命令把一个序列名字的列表(list)和一个fasta,name,group,list或align.report文件生成一个新的文件,只包含在list中出现的文件。这个命令也许用于和list.seqs命令结合以帮助显示一个序列结合。Get.sharedseqs这个命令取一个list和group文件并为每个距离输出一个*.shared.seqs文件。这对于那些情况有用,即你或许对于确定特殊groups中特定的或共有的序列感兴趣。这样接下来你就可以分类。这些是mothur H-Z的目前所有命令的说明的翻译,第二部分。(使用Ctrl+F搜索你所查命令)参看/wiki/Category:Commands 页面上查阅的所有命令我查了一下网上的中文教程,似乎没有。现在国内使用Mothur的人还很少,不过国外有不少做生态的都用到mothur了。毕竟有很多都是命令行操作。前天我还搜到了一个印度人在网上发的询问帖子,想问哪里有关于mothur的简单教程呢,他说mothur官方网站的教程有点难,看不太懂。今天这些命令里有三个可能会比较常用,一个是help,就类似于Linux中的man命令,也就是你在windows中常见的帮助文件。还有两个,sffinfo和pipeline.pds,在处理sff文件时会用上。其中sffinfo就能将sff文件转化为fasta格式的文件,fasta是mothur处理的文件中最常见的格式。由于最近我要处理一个sff文件,所以特别关注了与sff有关的命令,呵呵。Hcluster这个命令可以用来给OTUs分配序列,并输出一个.list, .rabund, .sabund和.sorted.dist文件。它不会像cluster命令那样把距离矩阵(distance matrix)保存在RAM(随机存储器)中,允许大距离文件被处理。Hcluster对小文件的处理比cluster要慢,但在大文件上更有竞争力。目前,hcluster实行4种成簇方式:1.最近相邻:一个OTU内的每个序列与OTU中最相似的序列有最多X%的距离。2.最远相邻:一个OTU内的所有序列与OTU内的其它序列有最多X%的距离。3.平均相邻:这个方法介于其他两种方法之间的水平4.重量相邻:Heatmap.bin这个命令从一个*.list或*.shared文件提供的数据生成一个heat map。heatmap中的每一行呈现一个不同的OTU,每个组中的OTU的颜色根据那个组内那个OTU的丰富度在黑与红之间形成成比例。这个命令会生成一个SVG文件(图片格式),它可以在GIMP或Adobe Illustrator中被进一步修改。有一些选项用于为每个采取不同方法的OTU相对丰度按比例绘制或排列。Heatmap.sim这个命令将会产生一个表明多个样本之间成对相似性的heatmap,采用了多个对比群落成员和结构的calculators(/wiki/Calculators)Helphelp命令将会输出mothur中有效命令的表单。或者,如果你想要针对一个特定命令的帮助信息,用help作为选项,比如 mothur read.list(help),就会输出read.list的帮助信息。Homova分子方差的同质性(Homogeneity of molecular variance)是一个为方差同质的Bartletts test的非参数模拟,这已经被用于种群遗传学,检测以下假设:两个或多个种群的基因多样性是同类的或同质的(Stewart and Excoffier,1996);这个测试还没有用于微生物生态学文献。Indicator这个命令可以三种方式运行:1.用一个shared或relabund文件和一个design文件2.用一个shared或relabund文件和一个tree文件3.用一个shared或relabund,tree文件和design文件Indicator命令输出一个.indicator.summary文件和一个.indicator.tre文件,如果给了一个tree。新的tree在每个内部的节点包含了标签。标签是节点号码,所以你可以把tree关联到summary文件。Summary文件为每个OTU的每个节点列出了indicator的值。Libshuff这个命令像以前在s-libshuff和libshuff程序中那样实施libshuff方法。libshuff法是一个描述两个或更多群落是否拥有相同结构的通用测试,采用Cramer-von Mises检测统计。这个检测统计值的显著性表明了群落(偶然)拥有同样结构的可能性。因为每个成对的对比需要两个显著测试,所以为多个对比进行一个矫正(比如Bonferronis correction)。List.seqs这个命令将会写出在一个fasta,name,group,list或align.report文件中发现的序列名字。这对于使用get.seqs,remove.seqs命令和生成group文件时有用。Make.biommake.biom命令让你把你的shared文件转换为一个biom文件。关于biom格式:/documentation/biom_format.htmlMake.fastq这个命令读取一个fasta和一个quality文件并创建一个fastq文件。Make.group这个命令读取一个fasta文件或一系列fasta文件,并创建一个group文件。Make.shared这个命令读取一个list和group或biom文件,并为每个group创建一个.shared和一个rabund文件。MantelMantel命令计算两个矩阵的mantel相关系数。Sokal, R. R., & Rohlf, F. J. (1995). Biometry, 3rd edn. New York: Freeman.Merge.files这个命令将把多个文件连结(使连续)起来并把结果输出到一个新文件。这对于合并多个fasta格式的序列文件,454 quality文件,group文件,name文件或其它等等是有用的。Merge.groups这个命令读取一个shared文件和一个design文件并把shared文件中同样也在design文件中分组的groups合并。Metastats这个命令基于White.J.R.,Nagarajan.N.和Pop.M.开发的Metastats程序。统计方法用来检测客观宏基因组样本的差异丰度特征。Mgcluster该命令解释暂无,需要blast参数,官方网站有使用方法。/wiki/MgclusterNmds这个命令是Sarah Goslee在R(/)中所写nmds代码的模型化。采用非矩阵多维尺度分析功能,使用的Borg & Groenen的优化算法。Normalize.shared这个命令创建一个.norm.shared文件。Otu.association这个命令计算一个shared/relabund文件中的OTUs的相关系数。Otu.hierarchy这个命令把不同距离上的OTUs关联起来。Pairwise.seqs这个命令将计算序列之间不正确的成对距离。这会生成一个列格式的距离矩阵,与read.dist中的列选项兼容。这个命令也能产生一个phylip格式的距离矩阵,关于如何操作gap对比和末端gaps有多个选项。Parse.list这个命令读取一个list文件和group文件,并为group文件中的每个group生成一个list。Parsimony这个命令采用parsimony方法(aka P-test),以前在TreeClimber中使用过,现在在MacClade和UniFac网站中也有。这个Parsimony方法是一个通用的检测,用来描述两个或更多群落是否拥有同样的结构。检测统计值的显著性只表明群落随机具有相同结构的可能性。这个值不表明相似度水平。Pca运行这个命令需要一个shared或relabund文件。Pcoa需要一个plylip格式的距离矩阵文件。Pcr.seqs这个命令将根据用户自定义的选项修剪输入的序列。Phylo.diversity这个命令需要输入一个tree文件。两个文件将被输出:phylo.diversity和(如果你设置rarefy=T).rarefaction。Phylotype这个命令可根据他们的分类用于给OTUs分配序列,输出一个.list,.rabund和.sabund文件。Pipeline.pds这个命令被设计用于指导你使用mothur(完成)通过你的分析。为了展示这个命令的各种特性,我们将使用Pats Pipeline Files(点击下载/w/images/0/0f/Pipeline.tutorial.zip)Pre.cluster这个命令执行一个移除序列这个目标的假单链接算法,之所以移除这些序列,由于焦磷酸测序过程的错误。这个算法的一个版本是由Sue Huse开发,将在接下来的环境微生物学一篇论文中发表。基本的理念是丰富的序列比稀少序列更可能产生一些错误序列。考虑到这些,这个算法根据它们的丰富度给序列排名。然后大略读过序列表单在原始序列的一些阈值内以寻找更稀少的序列。在阈值内的那些序列与更大的序列合并。最初的Huse方法在一个距离矩阵上完成这个任务,然而现在我们基于原始序列做这个。我们的方法的优点是这个算法在排列的序列上完成而不是距离矩阵。因为通过pre-clustering你移除了大量的序列使距离计算更为快速。Quitquit 命令没有选项,可带或不带括号调用。Rarefaction.shared这个命令将产生使用,无需更换方法重新取样的样品间稀疏曲线。生态学家用稀薄(rarefaction)的传统方式是没有内随机样本的抽样秩序,而样本之间。举例来说,如果我们想知道OTU在人类结肠癌的数量,我们可以从结肠内,不同地点取样和测定一堆16S rRNA基因序列。通过确定个OTU在每个样品的数量,并比较这些样品的组成,就有可能确定你们在单个范围内的生物多样性的采样的好坏。 mothur有能力观察到的物种数量的样品间稀疏曲线生成数据。对于本教程,你应该下载并解压缩Patient70Data.zip(/w/images/b/b2/Patient70Data.zip)Rarefaction.single这个命令将会产生样本内的rarefaction曲线,采取无需更换方法的重新采样。Rarefaction曲线提供一个对比不同样品中的观察到的丰度的方法。大体来说,如果你没有采的许多个体作样本你将期望已经观察了你平均获得的OTUs的数目。尽管有一个公式可产生rarefaction曲线(参看/wiki/Rarefaction),但mothur使用随机步骤。它也能帮你评估你的样本密度(强度)。如果一个rarefaction曲线变得与X轴平行,你可以合理相信你的采样工作做的很好,而且相信观察到的丰富度水平。否则,你需要继续采样。Rarefaction实际上对多样性的测量比它对丰度的测定更好。Read.dist注意:从mothur1.18.0开始,read.list命令不复存在。你可以直接输入你的距离矩阵文件的名称到命令行中来使用它们。Read.tree注意:从mothur1.18.0开始,这个命令不复存在,你可以直接输入文件名字到命令行来使用它们。Remove.groups这个命令从一个特定的group或一套groups中移除序列。你可以输入一下这些文件类型:fasta, name, group, list, taxonomy和shared。 Remove.lineage这个命令读取一个taxonomy文件和一个taxon,并生成一个新的文件,只包含不在taxon中的序列。你也可以把一个fasta,name,group,list,或align.report文件包括到这个命令中,mothur将会为每个生成新的“只包含不在taxon中的序列”的文件。Remove.otus这个命令删除这样的OTUs,它们含有“来自特定group或一套groups的序列”。Remove.rare这个命令读取以下文件类型之一:list,rabund,sabund或者shared文件,它输出一个删除了稀有OTUs的新文件。Remove.seqs这个命令把一个list中的序列名称和一个fasta, name, group, list或align,report文件生成一个新的文件,不包含list中的序列。这个命令与list.seqs连结对于显示序列集群(collection)有帮助。Reverse.seqs提供一个fasta格式的文件,reverse.seqs将生成一个包含有它们互补序列的文件。Screen.seqs这个命令使你保留满足特定用户所定标准的序列。而且,它能使你剔除那些不符合来自names,group或align.report文件的标准的序列。Sens.spec说明暂无。Seq.error这个命令读取一个查询的alignment文件和一个参考的alignment文件,并创建.(后面未说明)Set.current这个命令使你为mothur的使用设置current文件,你也可以清空current文件。Set.dir这个命令使你重新指向mothur创建的output文件,或者设置mothur将要查找input文件的所在目录。如果它不能在input位置找到你的文件你也可以设置一个缺省的(或默认的)位置供mothur查找。这使你把你的参考文件保留在一个位置。Set.logfile你或许想给你的logfile(日志文件)起一个特定的名字或者附加一系列的logfiles。set.logfile可以使你做这件事。Sffinfo这个命令从一个.sff文件释放读取序列。Shhh.flows这个命令是Chris Quince的PyroNoise算法的Pat Schloss翻译,使用的mothur的bells和whistles的合并从C到C+。基于Qunice提供的测试数据资料组的处理,shhh.flows把同样或相似的输出结果给AmpliconNoise. 这个命令采用期望最大算法以纠正流程图,确认每个流程图的理想化形式。并且把流程图转译到DNA序列。我们的测试表明当使用trim.flows命令把Titanium数据消减到450flows时,shhh.flows为任何其他已有的方法提供质量最高的数据。对比之下,当我们使用Quince建议的最小/最大数目(360/720)flows时,错误率没有那么大。这较大提高的错误率不是来自计算花费。然而,在trim.seqs的特征采取分钟的顺序,shhh.flows可以采取小时的次序。没有多个处理器或MPI时不建议对较大数据资料组运行shhh.flows命令。你可以为你的操作系统获得合适版本的MPI(/).你也需要一个lookup文件告诉shhh.flows对一个给定同源多聚长度观察到一个强度值的可能性。你可以在这儿(/wiki/Lookup_files)获得mothur兼容的文件,你将需要把这些文件与你的数据或mothur可执行程序放在一起。Shhh.seqs这个命令是基于mothur的,对Chris Quinces序列表示程序SeqNoise的重新编写。Sort.seqs这个命令把来自fasta,name,group,quality,flow或taxonomy文件的序列放在同样的次序(order)下。Split.abund这个命令读取一个fasta文件,和一个list或一个names文件,把序列分割为稀有和丰富groups.Split.groups这个命令读取一个fasta和group文件,并为group文件中的每个group生成一个fasta文件。Sub.sample这个命令用来作为一个使你的数据标准化的路径,或者从你的原始set创建一个小的set。它把以下这些文件类型作为输入:fasta, list, shared, rabund和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论