最近一篇NG中使用到的软件,用来去除冗余的contigs,现简单记录。

CD-HIT早先是一个蛋白聚类的软件,其主要的特定就是快!(ps:不是所有快的都是好的)

其去除冗余序列的大概思路就是:

首先对所有序列长度进行排序,从最长的开始,形成一个序列类,然后依次对序列进行处理,如果下一条序列和代表的序列相似性在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个不一样。

安装

点击该处进行下载https://github.com/weizhongli/cdhit/archive/V4.6.2.tar.gz

tar -zxf cdhit-4.6.2.tar.gz
cd tar -zxf cdhit-4.6.2.tar.gz
make

其输入格式为fasta的格式

简单使用

cd-hit -i all.fasta -o new.fa -c 0.9 -aS 0.8 -d 0

参数

-i : 输入文件,fasta

-o: 输出文件

-c: 类似比对相似性高于0.9 则聚为一类,一般为0.9

-d: 当为0时,利用fasta文件完整名称

还有其它一些参数,可以利用下面进行理解

  • aL=Ra /R
  • AL = R - Ra
  • aS=Sa /S
  • AS = S - Sa
  • s=Sa /Ra
  • S=R/S
  • U=S1 +S2
  • uL = U / R
  • uS = U / S

输出

两个结果

  • 去冗余后的fasta文件
  • 说明文档,其内容大概如下

其中“>” cluster, '*' 该序列是这个cluster的代表序列,'%',相似性

欢迎扫码交流

最新文章

  1. windows 环境和linux环境下 ping命令的区别:
  2. CSS常用样式(二)
  3. Dos del参数与作用(/f/s/q)
  4. IIS-如果外网访问不到 域名
  5. useradd 和groupadd
  6. BZOJ 3224 普通平衡树(树状数组)
  7. Chosen中选择项的更新
  8. php类的方法
  9. 当DOCKER遇上ESXI
  10. 二探ListView
  11. nodejs+socket.io即时聊天实例
  12. HttpClient 用于解决测试时候乱码的问题
  13. 程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】
  14. linux 定时任务详解 按秒设定
  15. sap 内表
  16. SmartSql 快速使用指南
  17. 【ASP.NET】website转webapplication
  18. 【SQL】SQL中on条件与where条件的区别
  19. java基础---->java中Properties的使用
  20. Visual Studio 附加到进程调试

热门文章

  1. OO第三次博客作业--第三单元总结
  2. Noip模拟51 2021.9.12
  3. 嵌入式单片机之STM32F103C8T6最小系统板电路设计参考
  4. SpringBoot整合Easyexcel操作Excel,闲暇之余,让我们学习更多
  5. JAVA笔记 **__Netbeans常用快捷键
  6. docker+nginx搭建tomcat集群(附录)——nginx.conf文件
  7. 【java+selenium3】自动化cookie操作+图形验证码处理 (十五)
  8. Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件
  9. DDL数据定义语言
  10. JavaScript高阶函数之filter、map、reduce