r - 如何将 as.DNAbin{ape} 与存储在数据框中的 DNA 序列一起使用?

标签 r dna-sequence ape-phylo

我有一个数据框,其中一列包含基因座名称,另一列包含 DNA 序列。我正在尝试使用 as.DNAbin{ape}或类似的方法来创建 DNAbin 对象。

这里是一些示例数据:

x <- structure(c("55548", "43297", "35309", "34468", "AATTCAATGCTCGGGAAGCAAGGAAAGCTGGGGACCAACTTCTCTTGGAGACATGAGCTTAGTGCAGTTAGATCGGAAGAGCA", "AATTCCTAAAACACCAATCAAGTTGGTGTTGCTAATTTCAACACCAACTTGTTGATCTTCACGTTCACAACCGTCTTCACGTT", "AATTCACCACCACCACTAGCATACCATCCACCTCCATCACCACCACCGGTTAAGATCGGAAGAGCACACTCTGAACTCCAGTC", "AATTCTATTGGTCATCACAATGGTGGTCCGTGGCTCACGTGCGTTCCTTGTGCAGGTCAACAGGTCAAGTTAAGATCGGAAGA"), .Dim = c(4L, 2L))

如果我尝试y <- as.DNA(x) R 创建了一种 DNAbin 对象,其中有 4 个 DNA 序列(示例中的 4 行),长度为 2(我假设是两列),没有标签,当然碱基组合也不起作用。

文档不是很清楚,但是在使用了包的 woodmouse 示例数据之后,我认为我需要做的是创建一个矩阵,其中每个碱基作为一列,然后使用 as.DNAbin 。 IE。在上面的例子中,一个 4 x 84 矩阵(1 列用于位点名称,83 列用于序列?)。关于如何做到这一点有什么建议吗?或者有更好的主意吗?

谢谢

最佳答案

as.DNAbin 的第一个参数应该是包含 DNA 序列的矩阵或列表,或者“对齐”类的对象。所以,你的想法是对的。

鉴于x是原始帖子的结构,下面的代码准备矩阵y:

y <- t(sapply(strsplit(x[,2],""), tolower))
rownames(y) <- x[,1]

然后as.DNAbin(y)显示:

4 DNA sequences in binary format stored in a matrix.

All sequences of same length: 83 

Labels: 55548 43297 35309 34468 

Base composition:
    a     c     g     t 
0.289 0.262 0.205 0.244 

关于r - 如何将 as.DNAbin{ape} 与存储在数据框中的 DNA 序列一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21113626/

相关文章:

R - 不使用循环遍历不同的矩阵!帮忙简单一个代码

regex - R中的重叠匹配

r - 在 R 中规范化系统发育树

r - 在 R 中创建一个长度为 N 的相同数字的向量

r - Plotly:如何删除工具提示中的置信区间值(从误差栏中)?

r - 如何找到密码子的特定频率?

r - 将 DNAstringsets 列表折叠成单个 DNAStingset,以便应用 writeXStringSet() 并将其转换为 R 中的 fasta 文件

r - R引导错误中的Phylo相关图?

r - Windows 7 上内联函数的 doParallel 问题(适用于 Linux)