转载: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的匹配。

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

  1. cd-hit 去除冗余序列

    最近一篇NG中使用到的软件,用来去除冗余的contigs,现简单记录. CD-HIT早先是一个蛋白聚类的软件,其主要的特定就是快!(ps:不是所有快的都是好的) 其去除冗余序列的大概思路就是: 首先对 ...

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

    word可以另存为html文件,通过这个功能,可以快速实现网页展示word内容,特别是表格的编辑,它包含tr.td.th.rowspan.colspan等内容,直接写比较繁琐. 但word转换过来的h ...

  3. cd hit使用

    ~~和唐老师一个实验室的人开发的~~ CD-HIT is a very widely used program for clustering and comparing protein or nucl ...

  4. 去除冗余 – 精简您的CSS样式代码

    讲讲常见的一些没有必要使用CSS代码情况,而这些不起作用可以去掉的CSS代码可能是我们经常忽视的.越是对CSS理解不够,越容易出现这些问题. 二.一些常见不必要CSS样式 1.与默认CSS样式一致 我 ...

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

    在平时的项目开发中,我们会引入一些框架,比如:Bootstrap,但是在项目中通常我们只使用它的一小部分,还有部分是冗余的.更有甚有时候需求更改,带来DOM结构的更改,这时候我们可能无暇关注CSS样式 ...

  6. 使用gulp-uncss精简css,去除冗余代码

    写html页面的时候,多修改几次就会出现很多无用的css代码,下面使用gulp-uncss来精简css文件,去掉没用的css代码 1.首先找个目录创建一个gulp项目在命令行输入:npm init   ...

  7. 【动态规划去除冗余】NOIP2010-乌龟棋

    [题目大意] [思路] 最简单的思路是五维数组,但是当前走到的步数由已经取到的卡片决定,所以只需要四维.本来想要改一个滚动数组的,但是好像没有滚起来,算了(ノ`Д)ノ. 在学校要晚自习到21:15,回 ...

  8. 38、EST序列拼接流程

    转载:http://fhqdddddd.blog.163.com/blog/static/18699154201241014835362/ http://blog.sina.com.cn/s/blog ...

  9. 36、EST-SSR标记开发

    转载:http://fhqdddddd.blog.163.com/blog/static/1869915420124131096557/ MISA工具提供批量识别和定位简单重复序列(SSR),EST序 ...

随机推荐

  1. 【leetnode刷题笔记】Maximum Depth of binary tree

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  2. mysql高可用研究(二) 主从+MHA+Atlas

    关于Atlas的详细介绍请访问:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md 为什么要使用Atlas?应用程序直连数据库不好吗? ...

  3. MyBatis入门级Demo

    1.创建Java工程MyBatisTest001,导入jar包(mybatis-3.2.1/mysql-connector-java-5.1.24-bin); 2.创建User表,数据库(MySql) ...

  4. HDU 4336 Card Collector:期望dp + 状压

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意: 一共有n种卡片.每买一袋零食,有可能赠送一张卡片,也可能没有. 每一种卡片赠送的概率为p ...

  5. Android Studio 技巧备忘

    1.日志输入匹配 在日志输入框,点击Edit Filter Configuration 输入syso,并匹配规则 这样就过滤出自己想要的日志

  6. TinkPHP 简单知识摘要

    1.Session处理 赋值:session('name','value'); //设置session 与 $_SESSION['think']['name'] = 'value';相等 取值:$va ...

  7. Hibernate错误及解决办法

    1.Hibernate 报错:this project is not a myeclipse hibernate project . assuming hibernate 3 cap res:项目名上 ...

  8. cssParser

    //cssParser.h #include<iostream> using namespace std;struct MyAttribute{ MyAttribute*  next; s ...

  9. 数据交换格式XML和JSON对比

    1.简介: XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组 ...

  10. mysql删除重复数据方法

    create table tmp SELECT * from lhb t where t.id not in (select max(id) from lhb group by code,date,r ...