3

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

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 

在这里,只显示了对齐的一部分?你知道任何绘制或打印对齐的现有函数吗?

4

1 回答 1

11

您可以在 下找到有关如何提取对齐模式和主题序列的信息和详细信息?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"
    

    似乎是最近才alignedPattern添加alignedSubject的。Biostrings或者你可以做

    seq <- c(aligned(pattern(alg)), aligned(subject(alg)))
    

    但请注意,这将修剪全局对齐的序列(请参阅详细信息)。

  4. 有一个不错的 R/Bioconductor 包DECIPHER,它提供了一种XStringSet在 Web 浏览器中可视化数据的方法。它会自动在底部添加颜色编码和共有序列。在你的情况下,你会做

    library(DECIPHER)
    BrowseSeqs(seq)
    

    在此处输入图像描述

于 2018-09-17T12:45:16.733 回答