28、cd-hit去除冗余序列

转载:http://blog.sina.com.cn/s/blog_670445240101nidy.html

网址:http://cd-hit.org ;http://www.bioinformatics.org/cd-hit/ ;

下载:http://www.bioinformatics.org/cd-hit/

CD-HIT  去冗余,也可以叫做相似序列的聚类。

简介:CD-HIT stands for Cluster Database at High Identity with Tolerance. The program (cd-hit) takes a fasta format sequence database as input and produces a set of ‘non-redundant‘ (nr) representative sequences as output. In addition cd-hit outputs a cluster file, documenting the sequence ‘groupies‘ for each nr sequence representative.

输入的文件是fasta格式的序列文件,通过序列比对聚类(Cluster)的方法去除冗除、相似的序列,最后输出一个非冗除(non-redundant,nr)的  *.fa 序列文件。 另外,还有一个序列比对的结果* .fa.clstr。

基本思路是首先对所有序列按照其长度进行排序,然后从最长的序列开始,形成第一个序列类,然后依次对序列进行处理,如果新的序列与已有的序列类的代表序列的相似性在cutoff以上则把该序列加到该序列类中,否则形成新的序列类。之所以快主要是两个方面的原因:一个是使用了word过滤方法,即如果两条序列之间的相似性在80%(假设序列长度为100),那么它们至少有60个相同的长度为2的word,至少有40个相同的长度为3的word,至少有20个相同的长度为4的word。基于这个原则,在处理新的序列的时候,如果新的序列与已有序列的相同word的长度不能满足这些要求则不需要进行比对了,这极大的降低了时间消耗;另外一个速度快的原因是使用了index table,可以很快的计算序列之间相同word的数目。

#当序列相似性在80%时,有20个位点是有差异的,极端的情况就是这20个位点对应的长度为2的字符串都不一样,因此是40个不一样,当有更多的不一样时,两条序列的相似性不可能在80%;同理,如果这20个位点对应的长度为4的字符串都不一样,则有80个不一样。

cd-hit现在已经形成了一个软件包,可以对单个数据集进行去冗余,包括DNA/RNA序列和蛋白序列,也可以对两个数据集进行比较。它的使用也很简单,下载软件包后解压缩,进入该文件夹,"make"就可以了。其使用也简单,如下:

./cd-hit -i inputfile -o outputfile -c threshold -n wordLength

尽管很好用也很快,但是也需要注意其缺点:

1 它不能保证同一个序列类中的序列的相似性都在threshold之上,因为每次比对都是用新序列与序列类的代表序列进行,这就有可能使得序列类中除了代表序列外其他序列之间的相似性在threshold之下。比如A是代表序列,B与A的相似性大于0.95,C与A的相似性也大于0.95,但是这并不能保证B与C的相似性也大于0.95.

2 它不能保证一个序列类的病毒与另外一个序列类中的病毒的相似性也在threshold之上,原因还是在于用代表序列代表了整个序列类。

3 基于word filter的方法使得使用每个长度的word能够处理的冗余性水平有限,如使用长度为2的word只能够得到相似性在50%以上的序列,长度为3的word只能够得到相似性在66.7%以上的序列类,类似的,长度为5的word只能够得到相似性在80%以上的序列。在实际应用的时候需要注意选择的word长度与threshold的匹配。

时间: 2024-12-10 04:38:03

28、cd-hit去除冗余序列的相关文章

(一)建筑物多边形化简系列之去除冗余点

制图综合和建筑物数据处理等都涉及到建筑物多边形的化简.制图综合中,由于比例尺的变小,建筑物在小比例尺地图上所占面积变小,这意味着建筑物图形的形状精度也有一定的损失,为了更好地表示原有建筑物的特征(面积.图形和方向),需要对建筑物多边形进行化简.另外,从遥感影像提取的建筑物矢量数据需要经过图形化简等一系列操作才能作为可使用的数据. 由于本人最近在进行建筑物数据处理的项目,遇到了较多的问题,同时也收获了很多知识.所有打算写一个建筑物处理的系列博客. 首先明确,矢量数据结构中,建筑物多边形是由一些列环

word表格转html后去除冗余代码

word可以另存为html文件,通过这个功能,可以快速实现网页展示word内容,特别是表格的编辑,它包含tr.td.th.rowspan.colspan等内容,直接写比较繁琐. 但word转换过来的html默认是带有很多格式代码,那么如何去除这些冗余代码,只保留主内容呢? 本来是打算从网上找工具的,但发现没有现成的,一般都是推荐用工具的文本替换来去除,这样不能复用.因此,本人采用nodejs写了一小段代码,来去除冗余代码. 主要思路是: nodejs读取html文件的文本内容 用substrin

(14/24) css进阶:(入门)去除冗余的css

在平时的项目开发中,我们会引入一些框架,比如:Bootstrap,但是在项目中通常我们只使用它的一小部分,还有部分是冗余的.更有甚有时候需求更改,带来DOM结构的更改,这时候我们可能无暇关注CSS样式,会造成很多冗余的CSS.我们得想办法消除冗余的CSS,如果靠人工去剔除,吃力又容易出错,因此,此节我们来学习一下用webpack如何消除未使用的CSS. PurifyCSS 使用PurifyCSS可以大大减少CSS冗余,消除框架中未使用的CSS,初步达到按需引入的效果. 1.如何在webpack中

cd hit使用

~~和唐老师一个实验室的人开发的~~ CD-HIT is a very widely used program for clustering and comparing protein or nucleotide sequences. CD-HIT was originally developed by Dr. Weizhong Liat Dr. Adam Godzik's Lab at the Burnham Institute (now Sanford-Burnham Medical Res

一个利用正则表达式进行代码重构,去除冗余代码的例子

refact之前:大量的重复代码 refact之后:用map消除了重复代码. 现在的分支里每次执行检查都要先 var usRegx = /XXXX/. 实际上通过字面量定义了一个正则表达式对象,开销比定义一个String大.其实没必要每次都定义,可以把map定义在controller的一个全局属性上. 执行这段代码就可看出字符串常量和正则表达式字面量的性能差异: var N = 100000000; console.time("normal string"); for( var i =

38、EST序列拼接流程

转载:http://fhqdddddd.blog.163.com/blog/static/18699154201241014835362/ http://blog.sina.com.cn/s/blog_4476400f0100iq0x.html EST----对EST序列进行冗余查找,利用CD_HIT软件聚类,快速批量去除冗余序列 est-trimer(去掉帽子和尾巴,去掉太短而不可信的) RepeatMaster(去掉转座子等重复) seqclean(去除载体,线粒体叶绿体等序列) CAP3(

vsearch 去除重复序列和singleton 序列

在16S数据分析中,为了减少聚类的时间,提高准确度,需要去除重复序列,而singleton序列因为没有其他的序列作为验证,可信度不是很高,也需要去除,通常情况下使用usearch 完成这2项任务,但是usearch 64位是收费的,而32为的usearch 在64位的red hat 上测试时,去除重复序列时报错了,libgomp: Thread creation failed: Resource temporarily unavailable 百度之后了解到是由于进程数达到上限,修改了上限后还是

扩增子分析解读3格式转换 去冗余 聚类

本节课程,需要完成扩增子分析解读1质控 实验设计 双端序列合并和2提取barcode 质控及样品拆分 切除扩增引物 先看一下扩增子分析的整体流程,从下向上逐层分析 分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们提取barcode,质控及样品拆分,切除扩增引物,经历了两节课6步数据处理才拿到我们扩增的高质量目的片段(貌似基因组/RNA-Seq测序结果直接就是这个阶段了,可以直接mapping) 接下来我们将这些序列去冗余.聚类为OTU.再去除嵌合体,这样就可以获得

扩增子分析解读4去嵌合体 非细菌序列 生成代表性序列和OTU表

本节课程,需要先完成 扩增子分析解读1质控 实验设计 双端序列合并 2提取barcode 质控及样品拆分 切除扩增引物 3格式转换 去冗余 聚类 先看一下扩增子分析的整体流程,从下向上逐层分析 分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们制作了Usearch要求格式的Fasta文件,对所有序列进行去冗余和低丰度过滤,并聚类生成了OTU. 接下来我们对OTU进一步去除嵌合体,并生成代表性序列和OTU表. 什么是chimeras(嵌合体)? 嵌合体序列由来自两条或