【问题标题】:Tajimas D for sequences of different length不同长度序列的 Tajima D
【发布时间】: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)

【问题讨论】:

  • 您使用的是来自pegastajima.test 吗? adegenet 中没有一个。你的 DNA 序列应该在 DNA.bin 对象中对齐,所以它们应该都是相同的大小。尝试在问题中包含一些数据
  • @jeremycg:是的,我指的是 pegas 的 tajima.test。请立即检查已编辑的问题 :-) 我不明白您的句子“您的 DNA 序列应该在 DNA.bin 对象内对齐,因此它们的大小应该相同。”能详细点吗?

标签: r fasta dna-sequence


【解决方案1】:

田岛的 D 使用成对的核苷酸比较,因此要求您在运行前DNA is properly aligned。你的目前不在,所以你得到一个错误。大多数 DNA.bin 方法都假定您的 DNA 已对齐 - 这应该是您的第一步。

要对齐您的 DNA,请尝试使用 ape 中的 clustal 命令 - 您需要安装 clustal。我使用了clustal omega,因为我认为 R 不是进行 DNA 比对的最佳方式。

您将得到一个对齐的 DNA 序列,该序列现在适用于 Tajima 的 D(注意间隙,用于对齐序列):

x <- structure(c("55548", "43297", "35309", "34468", 
                 "AATTCAATGCTCGGGAAGCAAGGAAAGCT---GGGGACCAACTTCTCTTGGAGACATGAGCTTAGTGCAGTTAGATCGGAAGAGCA-----------------------",
                 "AATTCCTAAAACACCAATCAAGT----TG---------GTGTTGCTAATTTCAACACCAACTTGTTGAT------------CTTCACGTTCACAACCGTCTTCACGTT-",
                 "-----AATTCACCA-------------CCACCACTAGCATACCATCCACCT--CCATCACCACCACCGGTTAAGATCGGAAGAGCACACTCTGAACTGTAAACCCAGTC",
                 "AATTCTATTGGTCATCACAATGGTGGTCCGTGGCTCACGTGCGTTCCTTGTGCAGGTCAACAGGTCAAGTTAAGATCGGAAGA--------------------------"), .Dim = c(4L, 2L))

现在您的测试将运行:

   y <- t(sapply(strsplit(x[,2],""), tolower))
   my.dnabin <- as.DNAbin(y)
   tajima.test(my.dnabin)
$D
[1] -5.624054

$Pval.normal
[1] 1.865271e-08

$Pval.beta
[1] 0

【讨论】:

  • 非常感谢您帮助我了解 Tajimas D 可以通过序列对齐来计算! :-)
猜你喜欢
  • 2010-12-24
  • 2018-12-01
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
相关资源
最近更新 更多