首页 > 其他分享 >03 CD-HIT基因聚类、去冗余

03 CD-HIT基因聚类、去冗余

时间:2023-05-11 17:15:13浏览次数:55  
标签:03 HIT 基因簇 CD 聚类 序列 冗余

1、简介

CD-HIT是一个用于宏基因组分析的工具,它可以用于聚类和减少高通量测序(HTS)数据集的复杂性。在各种 HTS 平台上生成大量的序列数据,并对生物体中的微生物进行分类和注释时,该工具显得尤为重要。

在宏基因组分析中使用 CD-HIT,可以将高通量序列数据按照相似性信息进行分类,通过去除冗余序列来减少数据存储和计算复杂度。CD-HIT利用快速比对技术将非常相似的序列汇聚在一起,并生成一个代表性的序列集合。这样做可以在保留重要信息的同时,节省时间和计算资源。

在将 CD-HIT 应用到宏基因组分析中时,用户首先需要准备一个包含所有HTS Reads序列的FASTA文件,然后打开命令行终端窗口输入适当的参数,来运行CD-HIT。该工具还提供了许多其他选项,可以根据特定的需求进行定制,以便最大化其效果。

2、原理

CD-HIT是一种常用的聚类软件,广泛应用于宏基因组分析中。其原理如下:

  1. 序列预处理: 将输入序列进行长度排序,去除低质量的序列(默认阈值为50%),并删除冗余序列。

  2. 简化序列描述:由于同一个物种的不同基因可能在很大程度上重叠,所以使用一个较短的序列代表整个基因簇。

  3. 序列比较:对于每个输入序列,与前一个已经被选为代表的序列做BLAST比对,然后将相似性高于设定阈值(默认为90%)的序列加入该基因簇中,不断循环直到所有序列都寻找到了归属基因簇。

  4. 压缩基因簇:对于每个基因簇,选择具有最长序列的代表作为该基因簇的标记性序列,并扩展其它序列。

  5. 输出结果: 在输出文件中,包括每个基因簇的标记性序列、基因簇成员序列数量以及各基因簇之间的相似度等信息。

综上所述,CD-HIT算法通过BLAST比对和序列压缩的方法实现宏基因组数据的聚类,极大减少了输入序列的数量,并在较短时间内快速处理大量基因组学数据,从而实现高通量的宏基因组分析。

3、何为聚类、何为冗余

聚类是将具有相似特征的数据对象归类到同一组中的过程。在生物信息学中,聚类通常用于对DNA或RNA序列进行聚合和分类,以尽可能地减少基因集合的复杂性。

冗余是指存在重复或相似的信息。在生物信息学中,冗余通常是指两个或多个序列(例如蛋白质序列或核酸序列)之间存在高度相似或完全相同的区域。

举例说明,假设你有一个包含100个DNA序列的样本库,每个序列长度为1500 bp。使用CD-HIT对这些序列进行聚类,并减少复杂性后得到了50个非冗余的序列。这意味着在过去,你最初的100个序列中存在50个或更多的冗余区域。通过聚类和减少冗余部分,您现在只需要研究50个唯一序列,而不是100个。这大大简化了数据分析过程,提高了结果的可信度。

4、特点

CD-HIT是一种用于聚类分析的工具,它可以在大规模数据集中找到高度相似性的序列,并将它们组织成一个或多个簇。以下是CD-HIT的一些特点:

  • 速度快:CD-HIT采用一种名为"word counting"的快速算法来比较序列相似性,因此能够快速处理大规模序列。

  • 可扩展性好:CD-HIT支持多线程并行处理,可以运行在分布式计算机集群上,因此可以轻松地扩展到云计算平台上进行更大规模的分析。

  • 精度高:CD-HIT使用了高度优化的蛋白质序列比对算法,并通过设置聚类阈值和去冗余策略来控制簇大小和精度。簇越小,则聚类越准确,但同时计算量也会增加。

  • 支持多种文件格式:CD-HIT支持多种序列文件格式,例如FASTA、GenBank、EMBL等。这使得用户可以方便地导入自己的序列数据并进行聚类分析。

  • 提供丰富的输出信息:CD-HIT可以生成包括聚类数量、序列数量、簇大小等在内的多种统计信息,以及每个聚类簇的代表序列,这使得进一步的序列分析变得更加容易。

5、输入文件与输出文件

CD-HIT 是一个有效的聚类算法,用于减小序列蛋白质数据集的大小。它可以基于多个序列对它们进行比较、分组并生成一份汇总报告。对于宏基因组分析,CD-HIT 是非常有用的工具。

输入文件:

  • CD-HIT 的输入文件是 fasta 文件格式的一系列氨基酸序列文件或核苷酸序列文件(.fa 或 .fasta)。
  • 输入文件应该由用户提供合理的阈值,以设置序列相似性和连接密度的界限。
  • 如果您正在使用的是 CD-HIT-EST(特别用于 EST 数据的版本),则输入文件格式应为 .clstr 格式。

输出文件:

  • CD-HIT 的输出文件命名规则是:输入文件名称_设定阈值_c序列名称.fasta/clstr
  • c 序列名称是 CD-HIT 所选的每个群集中代表性序列的名称。
  • 目标输出文件分为两个类型:结果报告文件 (.clstr) 和精简谷 (.fasta) 文件。

其中,结果报告文件 (clustering file, .clstr) 包含了这些信息:

  • 每个簇中聚类的序列列表,以及代表性序列的名称、长度、所在簇的编号和在该簇中的编号。
  • 每个簇的序列数目和代表性序列的长度。
  • 基于 CD-HIT 的阈值,所产生的聚类数和不同聚类中代表性序列之间平均的精细度。

6、基本命令

 

cd-hit-est -i dna_all.fa -o out.fa -c 0.95 -G 0 -aS 0.9 -g 0 -M 0 -T 20

  • -i:输入文件名,dna_all.fa为fasta格式的DNA序列文件。
  • -o:输出文件名,out.fa为输出的去冗余后的fasta格式的DNA序列文件。
  • -c:相似度阈值(切比雪夫距离),本例中设为0.95,即两个序列相似度达到95%时被认为是同一个基因家族的成员。
  • -G,-g:法定N/长序列限制。本例中都为0,即没有长度限制。
  • -aS:全局序列比对参数。本例中设为0.9,即聚类时使用全局序列比对,且序列相似度需要达到90%以上才能归到同一簇中。
  • -M:内存限制。本例中为0,即自动设置内存大小。
  • -T:并行线程数。本例中为20,即同时使用20个CPU线程处理任务,提高处理速度。

###############################################################

conda install cd-hit -c bioconda


##cd-hit-est -i all2.fa -o out.fa -c 0.95 -G 0 -aS 0.9 -g 0 -M 0 -T 0

cd-hit-est -i dna_all.fa -o out.fa -c 0.95 -G 0 -aS 0.9 -g 0 -M 0 -T 20

perl out2_pro.pl ###筛选出对应的蛋白序列

################################################################

7、结果分析

 

这是一个CD-HIT的聚类结果中的一行,其中各列代表的信息如下:

  • 列1:B1W10_1_dna_k127_19_1,表示序列的名称或ID。
  • 列2:3,表示该序列所在的簇或聚类中心的标识符。
  • 列3:821,表示该序列的长度。
  • 列4:1,表示在该簇中的序列数量,本例中为1个。
  • 列5:ID=3_1;partial=11;start_type=Edge;rbs_motif=None;rbs_spacer=None;gc_cont=0.656,表示序列的附加信息,以分号分隔。
  • ID=3_1:表示该序列在原始FASTA文件中的ID。
  • partial=11:表示该序列为其原始序列的部分序列(partial),且起始位置为第11个碱基。
  • start_type=Edge:表示该序列相对于整个基因组的位置为边缘(Edge)。
  • rbs_motif=None;rbs_spacer=None:表示该序列中的可能的启动子或RBS序列(rbs_motif)和其Spacer序列(rbs_spacer)不存在。
  • gc_cont=0.656:表示该序列的GC含量为0.656。

 

 

标签:03,HIT,基因簇,CD,聚类,序列,冗余
From: https://www.cnblogs.com/wzbzk/p/17391618.html

相关文章

  • JC1503 Object-OrientedProgramming
    UniversityofAberdeenSchoolofNaturalandComputingSciencesDepartmentofComputingScience2022–2023Programmingassignment–IndividuallyAssessed(noteamwork)Deadline:22:00,16thMay2023(SCNUlocaltime)Title:JC1503–Object-OrientedProgrammingN......
  • kubernetes学习笔记27:etcd性能
    理解etcd性能:etcd集群架构图,包含raft层,storage层(storage层包含treeindex层和boltdb底层持久化存储key-value层),它们每一层都可能造成性能损失,raft层需要网络同步数据,网络io节点之间的rtt和带宽都会影响etcd性能,另外wal也会受到磁盘io的写入速度影响。storage层,磁盘iofdatasync延迟......
  • win7 安装 ubuntu 双系统 详解 easybcd 工具 不能进入 ubuntu 界面
    1、首先准备需要的工具:EasyBCD2.1、precise-desktop-amd64.iso,到网上下载2、在下载的同时就要在win平台下,独立一块空闲分区(我的是100G空闲)。如果没有的话,用分区魔术师删除一个不需要的的分区,并格式化3、用到了EasyBCD工具,打开界面4、5、6、弹出一个文本文档把下面的英文复制进去......
  • vue3 Type 'never[]' is missing the following properties from type 'Ref ': value,
      加个value就可以了基本在vue3里面类似的错都可以用这种方法......
  • OpenPCDet复现过程记录
    0、前言OpenPCDet项目之前我就复现过,一个很优秀的项目,这几天又需要用到这个项目,再次复现遇到了不少问题,特此记录复现的流程1、环境准备1.1、前置条件以下是我安装的版本CUDA11.3CUDNN8.2.1CUDA和CUDNN安装可以参考这篇文章https://blog.csdn.net/qq_50195602/articl......
  • 算法学习day13栈与队列part03-239、347
    packageLeetCode.StackAndQueuepart03;importjava.util.ArrayDeque;/***239.滑动窗口最大值*给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。*你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。*返回滑动......
  • ubuntu apt 安装报错:Media change: please insert the disc labeled 'Ubuntu 20.04.5
    前言如果你在Ubuntu上使用apt安装软件包时遇到"Mediachange:pleaseinsertthedisclabeled..."的错误消息,这通常是因为apt源列表中包含CD/DVD源,但你的系统中没有插入相应的安装介质(CD或DVD)。解决检查/etc/apt/sources.list文件中,是否出现CD/DVD源。类似d......
  • Eclipse won't launch because `reload maven project has encountered a proble m`
    关于eclipse因为maven无法启动的问题,参考以下两个网页http://www.91linux.com/html/2016/eclipse_1018/15540.htmlhttp://stackoverflow.com/questions/31080665/eclipse-wont-launch-because-reload-maven-project-has-encountered-a-proble-m不需要删除整个.metadata如果删除......
  • 03人月神话阅读笔记
    《人月神话》还谈到了软件项目开发中的技术挑战和管理挑战。在技术层面,作者关注了软件开发中的设计过程和测试过程,提出了许多技巧和工具,以促进软件开发的质量和效率。在管理层面,作者讨论了如何管理开发和测试过程,以及如何管理软件的开发周期。在这个过程中,作者强调了测试的重要性,......
  • Codeforces Round 683 (Div. 1, by Meet IT) ABCDF题解
    F和D都在ABC上做过类似的,但是没打好,道心破碎。。。。A.Knapsack若物品质量在[(w+1)/2,w]之间做完了否则一直贪心加voidsolve(){intn;llw;cin>>n>>w;intc=n;for(inti=1;i<=n;i++){cin>>a[i];if(a[i]>w)c--;}if(!c){......