【问题标题】:How to use as.DNAbin{ape} with DNA sequences stored in a dataframe?如何将 as.DNAbin{ape} 与存储在数据框中的 DNA 序列一起使用?
【发布时间】:2023-03-17 00:50:01
【问题描述】:

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

这里有一些示例数据:

x

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

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

谢谢

【问题讨论】:

    标签: r dna-sequence ape-phylo


    【解决方案1】:

    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 
    

    【讨论】:

    • 非常感谢,这行得通。只是很小的编辑(太小了,我不能这样做:在介绍段落中应该说as.DNAbin而不是as.DNA
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2011-01-30
    • 2016-10-02
    • 1970-01-01
    • 2016-03-30
    相关资源
    最近更新 更多