CD-Hit 生信 碱基序列去除冗余的方法

1.CD-Hit介绍

官方介绍:

CD-HIT是一个非常广泛使用的程序,用于蛋白质或核苷酸序列的聚类和比较。最初由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发,CD-HIT速度非常快,可以处理非常大的数据库。有助于显著减少许多序列分析任务中的计算和手动工作,并有助于理解数据结构和纠正数据集中的偏差。CD-HIT包有CD-HIT、CD-HIT-2D、CD-HIT-EST、CD-HIT-EST-2D、CD-HIT-454、CD-HIT-PARA、PSI-CD-HIT、CD-HIT-OTU、CD-HIT-LAP、CD-HIT-DUP和十几个脚本。
CD-HIT(CD-HIT-EST)将相似的蛋白质(dna)聚集成满足用户定义的相似性阈值的簇。

CD-HIT-2D(CD-HIT-EST-2D)比较2个数据集,并确定db2中与阈值以上的db1相似的序列。

CD-HIT-454从焦磷酸测序读取中识别自然和人工复制品。

CD-HIT-OTU将rRNA标签聚集到OTU中

CD-HIT-DUP从单个或成对的Illumina读取中识别重复项

CD-HIT-LAP识别重叠读取

其他程序和脚本的用法可以在CD-HIT用户指南中找到。CD-HIT目前由在J Craig Venter学院的李博士的团队维护(http://weizhongli-lab.org/)。

CD-Hit聚类算法:

是一种贪婪的增量聚类方法,首先对输入的序列根据序列的长短进行排序,并从最长到最短的顺序处理它们。将最长的序列自动的分为第一类并作为第一类的代表序列,然后将剩下的序列与在其之前发现的代表性序列进行比较,根据序列相似性将其归为其中的一类或成为新的一个聚类的代表序列,如此遍历所有序列完成聚类过程。 在默认方式中,序列仅和每一个聚类中的代表性序列(为这类中的最长序列)进行比较而不和这个类中的其他序列进行比对。 在准确模式下,序列会和每个聚类中的所有序列进行比较然后决定是成为新的一类还是归为其中的一类中。

2.下载 

下载地址:https://github.com/weizhongli/cdhit 

3.windows系统下安装,并使用CD-Hit去除冗余

 CD-Hit一般在linux系统下使用,如果要在windows系统下使用的话,首先要下载安装CygwinCygwin是一个在windows平台上运行的类UNIX模拟环境,具体安装方法见:(1条消息) Windows:安装cygwin教程_去向前方的博客-CSDN博客_cygwin 

CD-Hit 生信 碱基序列去除冗余的方法_第1张图片

 安装完成后在cygwin终端进入cd-hit-v4.8.1-2019-0228,进入目录后执行make zlib=no,然后在执行./cd-hit -h,如果执行成功则说明CD-Hit安装成功,可以使用。

CD-Hit 生信 碱基序列去除冗余的方法_第2张图片

进行去除冗余运算:首先要进入cd-hit的目录,如我的是D:\个人\cd-hit\cd-hit-v4.8.1-2019-0228,相应的输入代码

cd D:\个人\cd-hit\cd-hit-v4.8.1-2019-0228

进入文件后,运算make命令,输入代码

make zlib=no

成功运行make命令就可以进行去除冗余的计算了

./cd-hit -i d:/个人/论文RNA/iLoc-mRNA_localtool/Win/example.fasta -o d:/new.fasta -c 0.8 -aS 0.8 -d 0

这儿是去除80%的冗余。代码不建议复制粘贴

完成示意图:

CD-Hit 生信 碱基序列去除冗余的方法_第3张图片

 

4.CD-Hit的缺点

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

你可能感兴趣的:(生信,机器学习,生物信息学)