如何用MEGA7做序列比对?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用MEGA7做序列比对?相关的知识,希望对你有一定的参考价值。

参考技术A 先准备好需要比对的序列,可以是DNA序列,也可以是Protein序列;

进入MEGA7软件首页,点击Align------Edit/Bulid Alignment-------Creat a new alignment-------OK,之后会弹出来一个对话框:

我这里的是rRNA 的16S序列,因此选DNA;如果你的得是氨基酸序列,那选不就选Protein嘛。然后软件会弹出来一个新窗口用来输入你准备好的序列文件,步骤是:点击Data------Open-------Retrieve Sequences from File,之后软件会弹出本地文件选择框,在界面上找到你的序列文件,点击"打开",你的序列就会显示在屏幕上了,打这里,你已经完成了序列的导入了,是不是很简单呢?你以为完了吗,等等,我们还没有呢做比对呢,咱们继续哈。。。

咱们现在屏幕上的序列还是散乱排列的,建树之间需要把他们对齐了,操作也很简单,点击Alignment---------Align by Muscle,同样会弹出一个对话框,问你是否要用所以的序列进行比对?(下图2),我这里是要用所有的,直接点击OK啦,但如果你的序列多了,也可以回到序列界面选择其中的序列,再来点击比对。 之后会弹出比对参数的对话框(下图3),具体每个条目是什么意思大家自行了解哈,我这里用的是默认值。

比对结果就如下图所示啦:

点击Data------Export Alignment有3种格式可供选择,选择你要的格式就好啦。

这样就完成了序列的比对了,我也是初来乍的新手呀,欢迎大家交流心得~~~3QU!!!...........

---------------------------------------------------------------------------------------------------------I am a line !----------------------------------------------------------------------------------------------

受全局 DNA 序列比对启发的字符串比对

【中文标题】受全局 DNA 序列比对启发的字符串比对【英文标题】:string alignment inspired by global DNA sequence allignment 【发布时间】:2022-01-23 05:50:01 【问题描述】:

我想做类似的事情:

library(Biostrings)
s1 <-DNAString("ACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGTTTTCACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGTTTTCAAGAAGACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGTTTTCAAG")
s2 <-DNAString("GTTTCACTACTTCCTTTCGGGTAAGTAAATATATGTTTCACTACTTCCTTTCGGGTAAGTGTTTCACTACTTCCTTTCGGGTAAGTAAATATATAAATATATAAAAATATAATTTTCATCAAATATATAAATATATAAAAATATAATTTTCATCAAATATATAAAAATATAATTTTCATC")
pairwiseAlignment(s1,s2)

但使用这样的字符串:

x123 x4531 等

而不是 DNA 字母字符。有没有人知道在 R 甚至 Python 中实现这一目标的包。谢谢!

【问题讨论】:

你能澄清你的字符串是什么意思吗?您是否正在寻找使用任意字母而不是核苷酸/氨基酸的对齐器/字符串比较方法? 请提供你想要的函数的输出 错配总是会产生同样的影响,还是你想要一个像评分矩阵一样的花朵? 感谢@Chris_Rands。请参阅我对您的回答的评论。 【参考方案1】:

Biopython's Align 模块可以接受您选择的字母,例如

>>> from Bio import Align
>>> aligner = Align.PairwiseAligner()
>>> aligner.mode = "global"
>>> aligner.alphabet
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> aligner.alphabet += "1234567890"
>>> alignments = aligner.align("X123Y", "B12XYXYXYX")
>>> print(alignments[0])
X-123-Y-----
--||--|-----
-B12-XYXYXYX

【讨论】:

谢谢。唯一的问题是我需要的不仅仅是字母表中的字符来捕获 100 个字符串。 @cs0815 可以修改aligner.alphabet 包含其他字符吗? 谢谢。我今天将仔细研究一下。我的理解是,字母表只有“1 个字符元素”——不幸的是,我有 100 个唯一字符(又名字符串),例如:abcd123 和 abcd1234,因此每个元素有几个字符。我还能在这个用例中使用 aligner.alphabet 吗?谢谢!

以上是关于如何用MEGA7做序列比对?的主要内容,如果未能解决你的问题,请参考以下文章

如何用sql语言比对两张表中是不是有重复身份证号

如何进行序列比对?如何进行序列拼接

转录组测序3-序列基因组比对

序列比对及算法模式的选择

受全局 DNA 序列比对启发的字符串比对

mega怎么合并序列