28、cd-hit去除冗余序列

CD-HIT是一款用于去除序列数据库中冗余序列的工具,可通过聚类方法筛选出代表性序列,并输出非冗余序列文件及比对结果。适用于DNA/RNA及蛋白质序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

转载于:https://www.cnblogs.com/renping/p/7418718.html

CD-HIT是一款广泛应用于生物信息学领域的工具,用于从大量序列数据集中去除高度相似的序列,保留代表性的非冗余序列集。它能够高效处理蛋白质和核酸序列,并提供多种参数设置选项以满足不同需求。 ### CD-HIT的工作原理 CD-HIT通过设定一个相似度阈值(例如90%),将所有输入序列两两比对,在簇内选择最长的一个作为代表序列。对于新加入的每个序列,程序会检查其是否已经存在于某个现有的簇中;如果该序列与其他成员之间的相似程度超过了预设阈值,则此序列入入相应的簇而不作为新的代表;反之则创建一个新的簇并以此序列为新的代表。 ### 安装与基本命令行操作 首先需要下载安装适合您系统的版本 [在这里](http://weizhong-lab.ucsd.edu/cd-hit/) ,解压后按照说明文档配置环境变量路径以便直接调用cdhit命令: ```bash # 假定已成功添加到PATH环境下 cd-hit -i input.fasta -o output_clustered.fasta -c 0.6 # 设置截断长度比例为默认值0.8, 相似度阈值为60% ``` 其中`input.fasta`表示待处理的数据文件名,“output_”则是输出结果前缀,默认生成两个主要的结果文件:`.fasta`, `.clstr`. ### 参数解释 - `-i`: 输入FASTA格式的文件; - `-o`: 输出经过筛选后的代表性序列集合; - `-c`: 序列间最小允许的一致性百分比(即相似度),取值范围[0~1]之间的小数形式; - 其他常用选项还包括但不限于控制内存占用、线程数目等细节调整。 ### 实际应用场景示例 假设我们有一组蛋白序列想要去除非特异性部分并且只留下彼此差距较大的样本作进一步研究分析。可以利用如下的指令组合完成初步清理工作: ```shell script cd-hit \ -i proteins_sequences.fa \ -o cleaned_proteins_set.faa \ -c 0.75 \ -M 40000 \ -T 8 ``` 这里指定了更高的相似度标准(c=0.75), 同时限制了最大可用RAM大小(M)以及并发运行的核心数量(T).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值