记一次数据分析--基因的聚类分析溯源--进化树构建
接着上一个视屏讲,很多人说代码的输出结果看不懂,今天详细聊一下
今天选择了11个沙门菌进行聚类分析,最终构建进化树
聚类(Cluster)分析顾名思义就是指将研究的对象进行分类,这是人们认识世界最基本的方法。生物学家通过分类,区分了动物和植物,物理学分成了力、热、声、电,化学分成了有机和无机。古老的分类学,人们主要靠经验和专业知识实现分类,随着人类对自然的认识不断加深,仅靠经验和专业知识已不能准确分类,于是最早把数学工具引进了植物分类,出现了种、属、科、目、纲、门和界的自大而小的阶梯结构,一定程度上反映了种系发生和进化的规律。后来随着多元分析的引进,从植物分类学中逐渐分离出一个专门进行聚类分析的分支。
聚类和分类的区别,简单来说聚类是尽量把类似的样本聚在一起,在机器学习中属于无监督学习(unsupervised learning);而分类通常需要已知具体可以分为某几类,属于监督学习(supervised learning)
很多新颖的聚类分析算法近些年也被不断开发出来。随着模型的逐渐优化,它们的功能越来越强大,也越来越接近真实情况。特别是近些年一些基于机器学习的聚类算法,它们具有准确性高,使用场景灵活和可嵌入性强等特点被大家所喜爱
算法我不太懂,今天也不讲算法(但算法才是核心技术,会用不算)
参考链接:https://www.jianshu.com/p/06ac100e087c
基于划分聚类算法:
k-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,
k-modes:K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度
k-prototypes:结合了K-Means和K-Modes两种算法,能够处理混合型数据
k-medoids:在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法
CLARA:CLARA算法在PAM的基础上采用了抽样技术,能够处理大规模数据
CLARANS:CLARANS算法融合了PAM和CLARA两者的优点,是第一个用于空间数据库的聚类算法
Focused CLARAN:采用了空间索引技术提高了CLARANS算法的效率
PCM:模糊集合理论引入聚类分析中并提出了PCM模糊聚类算法
2)基于层次聚类算法
3)基于密度聚类算法
4)基于网格的聚类算法
5)基于神经网络的聚类算法
自组织神经网络SOM:该方法的基本思想是--由外界输入不同的样本到人工的自组织映射网络中,一开始时,输入样本引起输出兴奋细胞的位置各不相同,但自组织后会形成一些细胞群,它们分别代表了输入样本,反映了输入样本的特征
6)基于统计学的聚类算法
下面我们直接开始
下方是视频教程链接
菌株是利用spades组装的,本来直接打算用MEGA进行多序列比对,然后构建进化树,看来是我天真了。因为每一株细菌组装会有多条contigs,甚至有的都有几百条,那这个比对的工作量就太大了。所以一定要选择一条参考基因组,利用和参考基因组之间的变异来看亲疏远近关系---即聚类
1.选择参考基因组
选择肠炎沙门菌H9812(PFGE种常用标准条带菌株)
ATCCBAA-664
如何获取参考基因组和基因注释?NCBI,genbank,refseq,GCA GCF这些傻傻分不清楚?
2.Snippy
是一款用于SNP检测的软件,可以通过分析得到核心SNP,进行比对构建进化树(参考下面文章)
用VCF文件去存储基因变异,什么是SNP?利用snippy去看基因的SNP
样本较多时,也可以自己写一个循环,代码分享在视屏里
3.将11个snippy菌株结果全部聚合在一起
(这里要把11样本snippy文件夹都输入进去)我们来看一下输出文件,默认文件名为core,--prefix可以指定输出文件名
core.aln:
这是一个核心基因组的比对文件,包含所有样本的核心基因组序列。
用于后续的系统发育树构建和进化关系分析。
core.full.aln:
包含所有样本的所有变异位点的比对文件,不仅仅是核心基因组部分。
详细展示了每个样本中变异位点的信息。
core.tab:
一个表格文件,详细列出了所有变异位点及其在各个样本中的状态。
该表格可以用于进一步的统计分析和变异注释。
core.vcf:
变异位点的 VCF(Variant Call Format)格式文件,广泛用于存储基因组变异信息。
该文件可以与其他生物信息学工具兼容,用于进一步的变异分析。
core.matrix.tsv:
变异矩阵文件,显示了每个样本在每个变异位点的状态。
可用于聚类分析和变异模式研究。
core.positions.gz:
压缩文件,包含所有变异位点的位置。
用于快速定位变异位点。
输出文件用途
系统发育树构建:使用 core.aln
文件构建病原体的进化树,分析样本之间的进化关系。
变异注释和统计:使用 core.tab
和 core.vcf
文件对变异进行注释,统计不同样本间的变异频率和模式。
聚类分析:使用 core.matrix.tsv
文件进行样本的聚类分析,研究样本之间的相似性和差异性。
快速定位和筛选变异位点:使用 core.positions.gz
文件快速定位特定的变异位点,用于进一步的实验验证和功能研究。
4.获得树文件
FastTree 是一个高效的构建最大似然(Maximum Likelihood)系统发育树的软件。它可以处理大量的序列数据,比传统的构树软件速度更快,FastTree 接受多序列比对(Multiple Sequence Alignment,MSA)的文件作为输入。core.aln,core.full.aln就是比对文件
命令选项
FastTree 提供了多种选项,可以根据需要调整:
-nt
:用于核苷酸序列。
-gtr
:使用 GTR 模型(默认模型为 Jukes-Cantor)。
-gamma
:应用伽马分布模型。
-slow
:启用更慢但更精确的算法。
-boot 1000
:进行 1000 次自举分析以评估树的可靠性。
5.figtree构建进化树
FigTree 是一个免费的用于可视化和编辑系统发育树的可视化软件工具,特别适用于分析由不同系统发育推断软件生成的树状结构数据。
主要特点:
支持多种树形文件格式:FigTree 支持常见的树形文件格式,如 Newick 格式,这是大多数系统发育推断软件(如 FastTree、RAxML、PhyML 等)生成的标准输出格式。
交互式可视化:FigTree 提供了一个直观的用户界面,可以轻松地查看和浏览系统发育树的结构。用户可以通过缩放、移动和旋转来探索树的不同部分。
树的布局选项:用户可以选择不同的树布局,包括矩形(Rectangular)、径向(Radial)等布局方式,以便更好地理解树的拓扑结构和分支关系。
节点和分支属性设置:可以根据需要设置和调整节点和分支的属性,包括颜色、形状、标签(如分支长度、支持值等),以及显示或隐藏特定的节点或分支。
导出功能:FigTree 允许用户将可视化的树保存为常见的图像格式(如 PNG、PDF、SVG 等),以便在文档或报告中使用。
创作不易,麻烦大家点赞关注!!!
您的关注是我不断前进的动力!!!