我试图完成一个非常简单的任务,即读取未定相的fasta文件并使用猿进行定相,然后使用pegas计算田岛的D,但是#my数据似乎并不合适正确阅读。输入和输出为#follows:
library("ape")
library("adegenet")
library("ade4")
library("pegas")
DNAbin8c18 <- read.dna(file="fasta8c18.fa", format="f")
我不需要附加任何数据,因为我刚刚生成了文件,但由于data()命令在手册中,我执行了
data(DNAbin8c18)
得到了
警告信息:在数据中(DNAbin8c18):未找到数据集'DNAbin8c18'
我知道data()只能在某些情况下使用,所以这可能不是什么大问题。我查看了已加载的内容
DNAbin8c18
817452 DNA sequences in binary format stored in a matrix.
All sequences of same length: 96
Labels:
CLocus_12706_Sample_1_Locus_34105_Allele_0 [BayOfIslands_s08...
CLocus_12706_Sample_2_Locus_31118_Allele_0 [BayOfIslands_s08...
CLocus_12706_Sample_3_Locus_30313_Allele_0 [BayOfIslands_s09...
CLocus_12706_Sample_5_Locus_33345_Allele_0 [BayOfIslands_s09...
CLocus_12706_Sample_7_Locus_37388_Allele_0 [BayOfIslands_s09...
CLocus_12706_Sample_8_Locus_29451_Allele_0 [BayOfIslands_s09... ...
More than 10 million nucleotides: not printing base composition
所以看起来数据应该没问题。因此,我尝试了我想做的事情
tajima.test(DNAbin8c18)
得到了
错误:无法分配大小为2489.3 Gb的矢量
很多人使用我拥有的SNP和使用FASTA文件完成了同样的测试,但是我的太大了,或者你能看到另一个问题吗?
可以通过以下链接下载数据文件 https://drive.google.com/open?id=0B6qb8IlaQGFZLVRYeXMwRnpMTUU
我还将此问题的早期版本和数据一起发送到r-sig-genetics邮件列表,但我还没有收到回复。
任何想法都会非常感激。
艾拉
答案 0 :(得分:1)
感谢您的评论。的确,你是对的。开发人员只是通过以下非常有用的评论给我发了电子邮件。 问题是你的数据太大(序列太多)而tajima.test()需要计算所有成对距离的矩阵。您可以通过尝试进行检查:
dist.dna(DNAbin8c18, "N")
您的一种可能性是随机抽取一些观察结果,并重复多次,例如:
tajima.test(DNAbin8c18[sample(n, size = 1000), ])
这可能是:
N <- 1000 # number of repeats
RES <- matrix(N, 3)
for (i in 1:N)
RES[, i] <- unlist(tajima.test(DNAbin8c18[sample(n, size = 10000), ]))
您可以调整N和&#39; size =&#39;有一些不太长的东西跑。然后你可以看一下RES列的分布。