如何可视化两个序列的完全比对?
library(Biostrings)
s1 <-DNAString("ACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGTTTTCACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGTTTTCAAGAAGACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGTTTTCAAG")
s2 <-DNAString("GTTTCACTACTTCCTTTCGGGTAAGTAAATATATGTTTCACTACTTCCTTTCGGGTAAGTGTTTCACTACTTCCTTTCGGGTAAGTAAATATATAAATATATAAAAATATAATTTTCATCAAATATATAAATATATAAAAATATAATTTTCATCAAATATATAAAAATATAATTTTCATC")
pairwiseAlignment(s1,s2)
输出:
Global PairwiseAlignmentsSingleSubject (1 of 1)
pattern: [1] ACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGT--TTTCAC---...CTTCACCAGCTCCCTGGCGGTAAGTTG-ATCAAAGG---AAACGCAAAGTTTTCAAG
subject: [1] GTTTCACTACTTCCTTTCGGGTAAGTAAAT-ATATGTTTCACTACTTCCTTTCGGGTA...TATATAAATATATAAAAATATAATTTTCATCAAATATATAAAAATATAATTTTCATC
score: -394.7115
在这里,仅显示了部分对齐方式?您是否知道任何绘制或打印路线的现有功能?
答案 0 :(得分:6)
您可以在?pairwiseAlignments
下找到有关如何提取对齐的模式和主题序列的信息和详细信息。
以下是基于您提供的示例数据的示例:
将成对对齐方式存储在PairwiseAlignmentsSingleSubject
对象中
alg <- pairwiseAlignment(s1,s2)
提取对齐的模式和主题序列,并将它们合并为DNAStringSet
对象。
seq <- c(alignedPattern(alg), alignedSubject(alg))
您可以使用as.character
as.character(seq)
[1] "ACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGT--TTTCAC--------TTCACCAGCTCCCTGGCGGTAAGTTGATC---AAAGG---AAACGCAAAGTTTTCAAGAAGACTTCACCAGCTCCCTGGCGGTAAGTTG-ATCAAAGG---AAACGCAAAGTTTTCAAG"
[2] "GTTTCACTACTTCCTTTCGGGTAAGTAAAT-ATATGTTTCACTACTTCCTTTCGGGTAAGTGTTTCACTACTTCCTTTCGGGTAAGTAAATATATAAATATATAAAAATATAATTTTCATCAA-ATATATAAATATATAAAAATATAATTTTCATCAAATATATAAAAATATAATTTTCATC"
似乎alignedPattern
和alignedSubject
是最近才添加到Biostrings
的。或者,您可以
seq <- c(aligned(pattern(alg)), aligned(subject(alg)))
,但请注意,这将修剪全局对齐的序列(请参见details)。
有一个不错的R / Bioconductor软件包DECIPHER
,它提供了一种在Web浏览器中可视化XStringSet
数据的方法。它会在底部自动添加颜色编码和共识序列。在您的情况下,您会这样做
library(DECIPHER)
BrowseSeqs(seq)