查看原文
其他

文章发表:ggmsa - 多序列比对和相关数据的可视化探索工具

周烺 YuLabSMU 2022-09-20

6月份的文章最后提到的7月份是否有文章,现在有了。再期待一下8月份吧。这是今年毕业的硕士生发表的文章。

背景

多序列比对(Multiple Sequence Alignment, MSA)中保守区和可变区的识别对加快理解基因功能的进程至关重要。随着序列-结构-功能关系在分子生物学研究中日益受到重视,简单的显示核苷酸或蛋白质序列已不能满足研究需求。因此,我们设计了R包ggmsa,它提供了一套全面的方法用于分析和可视化比对序列。ggmsa实现了序列标识(Sequence logo)、序列束(Sequence bundle)、堆叠序列可视化法(Stacked sequence alignment visualization)和核苷酸比较图(Nucleotide comparative plots)等可视化方法通过这些可视化方法,ggmsa实现了从多个角度准确揭示不同序列特征,从而帮助用户探索和解释序列数据。


可视化应用

示例1. 探索序列保守模式

我们为用户提供了3不同的方法来对多序列比对进行可视化,A图中Sequence logo方法用于观测独立位点上的残基或者核苷酸的频率。Sequence bundle方法将序列以半透明线条的形式展示,通过线条轨迹可以观测到每个位点与相邻位点的关系,即残基间依赖性。B图展示了传统的Stacked MSA 方法, 序列比对主体通过字母和配色展示,上下可以叠加不同的注释。在设计Stacked MSA plot时,我们参考了图形语法,可以通过“+”叠加不同的注释图层。此示例可以使用ggmsa() + geom_seqlogo() + geom_msaBar()快速实现。


在Stacked MSA plot中有种特殊的注释可以同时展示RNA序列和对应的二级结构:ggmsa() + geom_helix()。根据输入的二级结构的文件,属于配对碱基的位点会通过弧线连接起来。

 

 

示例2. DNA序列重组可视化

使用ggmsa中的核苷酸比较图谱可以挖掘DNA序列中的重组信号,通过比较怀疑序列和参考序列,可以分别计算出一定窗口内的差异核苷酸数目和相同核苷酸数目。通过可视化后,可用于探索潜在的重组信号。此方法这在《DNA序列重组可视化方法》中也介绍过。

 


示例3.基因组比对的可视化

MAF(Multiple Alignment Format)格式的基因组比对文件是由一系列的“Block”组成的,每个Block都相当于一个多序列比对,并且里面包含原始基因组坐标以及序列正负链等额外的信息(详细介绍见:https://genome.ucsc.edu/FAQ/FAQformat#format5)。我们为此类基因组比对文件设计了新的可视化方法:上面板展示各基因组的原始基因片段位置,下面板的展示各物种比对到参考基因组的片段位置。如此,可以观测到比对片段在原始基因组位置中是否是连续的,以及比对片段的正负链来源。


示例4.使用图形整合探索MSA和相关的数据的关联性

在可视化上,将MSA和相关的分子数据整合,可以观测到序列比对与不同功能特征的相关性。ggmsa可以与ggtree包和ggtreeExtra包联动,形成Tree-MSA-Extra形式的复杂图形结构。


这里我们演示了两种图形整合例子,A图使用Tree-MSA-Locus图形结构展示各物种TP53序列比对与局部基因组关系,核心代码为ggtree() + geom_facet(geom_msa) + geom_facet(geom_motif)。B图使用Tree-MSA-Phenotype图形展示了特定基因序列与表型间关联,核心代码为ggtree() + geom_fruit(geom_msa) + geom_fruit(geom_boxplot) + geom_fruit(geom_boxplot)。两者主要的差别是Tree-MSA-Extra中的“Extra”图层。在这里,用户需要根据自己数据类型选择适合的图层,作为“Extra”整合到Tree-MSA中。只要是ggtree::geom_facet和ggtreeExtra::geom_fruit支持的图层,均可以作为“Extra”添加到图形中。

 


结论

ggmsa不仅涵盖了当前序列可视化工具的主要功能,还实现了现有工具无法实现的新特性比如针对重组信号的核苷酸比较图谱、针对基因组比对可视化方法ggmaf()。ggmsa包还与ggtreeggtreeExtra等工具形成了可联动的软件生态有效的拓展了MSA可视化的应用范围ggmsa作为一个序列可视化工具,主旨是的通过不同可视化方法帮助用户挖掘隐藏在数据中的序列特征,并辅助用户做出最终决策。

最后,文章涉及的所有序列可视化对应代码均放在补充文件中(https://github.com/YuLab-SMU/supplemental-ggmsa)。我们也非常欢迎大家在Github上提出反馈意见(https://github.com/YuLab-SMU/ggmsa/issues)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存