R如何可视化成对对齐

问题描述 投票:1回答:1

如何可视化两个序列的完全对齐?

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 

这里只显示了一部分对齐?您知道绘制或打印路线的任何现有功能吗?

r ggplot2 bioinformatics sequence-alignment
1个回答
6
投票

您可以在?pairwiseAlignments下找到有关如何提取对齐模式和主题序列的信息和详细信息。

以下是基于您提供的示例数据的示例:

  1. 将成对对齐存储在PairwiseAlignmentsSingleSubject对象中 alg <- pairwiseAlignment(s1,s2)
  2. 提取对齐的图案和主题序列,并将它们合并到DNAStringSet对象中。 seq <- c(alignedPattern(alg), alignedSubject(alg))
  3. 您可以使用as.character访问完整序列 as.character(seq) [1] "ACTTCACCAGCTCCCTGGCGGTAAGTTGATCAAAGGAAACGCAAAGT--TTTCAC--------TTCACCAGCTCCCTGGCGGTAAGTTGATC---AAAGG---AAACGCAAAGTTTTCAAGAAGACTTCACCAGCTCCCTGGCGGTAAGTTG-ATCAAAGG---AAACGCAAAGTTTTCAAG" [2] "GTTTCACTACTTCCTTTCGGGTAAGTAAAT-ATATGTTTCACTACTTCCTTTCGGGTAAGTGTTTCACTACTTCCTTTCGGGTAAGTAAATATATAAATATATAAAAATATAATTTTCATCAA-ATATATAAATATATAAAAATATAATTTTCATCAAATATATAAAAATATAATTTTCATC" 似乎alignedPatternalignedSubject最近被添加到Biostrings。或者你可以做 seq <- c(aligned(pattern(alg)), aligned(subject(alg))) 但请注意,这将修剪全局对齐的序列(请参阅details)。
  4. 有一个很好的R / Bioconductor包DECIPHER,它提供了一种在Web浏览器中可视化XStringSet数据的方法。它会在底部自动添加颜色编码和共识序列。在你的情况下,你会这样做 library(DECIPHER) BrowseSeqs(seq) enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.