【发布时间】:2015-10-23 11:51:15
【问题描述】:
我正在尝试在 R 中使用 adegent 来计算 Tajima 的 D。我有一个 DNA.bin 对象,其中包含来自不同人群的序列。由于其中的 SNP 和插入缺失,这些序列的长度不同。运行 tajima.test 函数时出现以下错误:
as.matrix.DNAbin(x) 中的错误: 列表中的 DNA 序列长度不同。
如何为不同长度的序列计算 Tajima 的 D?
这是我到目前为止所做的:
x <- structure(c("55548", "43297", "35309", "34468", "AATTCAATGCTCGGGAAGCAAGGAAAGCTGGGGACCAACTTCTCTTGGAGACATGAGCTTAGTGCAGTTAGATCGGAAGAGCA", "AATTCCTAAAACACCAATCAAGTTGGTGTTGCTAATTTCAACACCAACTTGTTGATCTTCACGTTCACAACCGTCTTCACGTT", "AATTCACCACCACCACTAGCATACCATCCACCTCCATCACCACCACCGGTTAAGATCGGAAGAGCACACTCTGAACTGTAAACCCAGTC", "AATTCTATTGGTCATCACAATGGTGGTCCGTGGCTCACGTGCGTTCCTTGTGCAGGTCAACAGGTCAAGTTAAGATCGGAAGA"), .Dim = c(4L, 2L))
y <- t(sapply(strsplit(x[,2],""), tolower))
my.dnabin <- as.DNAbin(y)
tajima.test(my.dnabin)
【问题讨论】:
-
您使用的是来自
pegas的tajima.test吗?adegenet中没有一个。你的 DNA 序列应该在 DNA.bin 对象中对齐,所以它们应该都是相同的大小。尝试在问题中包含一些数据 -
@jeremycg:是的,我指的是 pegas 的 tajima.test。请立即检查已编辑的问题 :-) 我不明白您的句子“您的 DNA 序列应该在 DNA.bin 对象内对齐,因此它们的大小应该相同。”能详细点吗?
标签: r fasta dna-sequence