在R中使用pegas执行tajD测试的问题

时间:2017-09-11 15:57:52

标签: r bioinformatics

我正在尝试从SNP数据(~4000SNP)计算tajD。我有fasta和vcf文件,最初尝试使用我的fasta文件。在帮助下,我得到的结论是,我有一个脚本可以从文件中进行采样,但我需要将fasta文件拆分为不同的群体。我害怕这样做(虽然我必须给出我现在得到的错误),所以我分阶段我的vcf文件,并希望使用它。我使用R包pegas,我收到以下错误。

> rm(list=ls(all=T))
> library("ape")
> library("ade4")
> library("adegenet")
> library("pegas")

> b8c18FromVcf <- read.vcf("b8c18_2phased.vcf")

文件显然尚未访问: 扫描文件b8c18_2phased.vcf  3.194102 / 3.194102 Mb 完成。 阅读4074/4074位点。 完成。

获得单倍型

> b8c18haplos <- haplotype(b8c18FromVcf)

分析个人没有。 186/186

来自haplos的

tajD

> tajd <- tajima.test(b8c18haplos)

警告讯息: 在tajima.test(b8c18haplos):Tajima测试需要至少4个序列

我会在这里附加我的分阶段和非分阶段文件的链接。 https://drive.google.com/open?id=0B6qb8IlaQGFZTmQ1YXRVbnFSRzA https://drive.google.com/open?id=0B6qb8IlaQGFZQm9HZjZSUkE3NEU

有什么想法吗?

最后,我想知道是否有办法在tajD命令中对群体进行子集化。我在同一个vcf文件中有7个群体,我应该分别计算每个群体的tajD。如果没有,什么是用于子集化vcfs的最佳工具。我已经对此进行了大量的谷歌搜索,但似乎都不是直截了当的。

谢谢,

1 个答案:

答案 0 :(得分:0)

Pegas的开发人员回应我说Tajima的D需要DNA序列。它不能使用vcf文件执行,即使它是分阶段的。