R:(Pegas)单倍型问题-(错误:';h';必须属于单倍型';类)

R:(Pegas)单倍型问题-(错误:';h';必须属于单倍型';类),r,bioinformatics,vcf-variant-call-format,R,Bioinformatics,Vcf Variant Call Format,我最近开始查看单倍型数据,我正在处理来自1000基因组项目的数据,并试图用R中的Pegas包对其进行操作。到目前为止,我已经做到了: library(pegas) a <- "ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502" b <- "ALL.chrY.phase3_integrated_v1b.20130502.genotypes.vcf.gz" url <- paste(a, b, sep = "

我最近开始查看单倍型数据,我正在处理来自1000基因组项目的数据,并试图用R中的Pegas包对其进行操作。到目前为止,我已经做到了:

library(pegas)
a <- "ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502"
b <- "ALL.chrY.phase3_integrated_v1b.20130502.genotypes.vcf.gz"
url <- paste(a, b, sep = "/")
download.file(url, "chrY.vcf.gz")
(info <- VCFloci("chrY.vcf.gz"))
SNP <- is.snp(info)
X.SNP <- read.vcf("chrY.vcf.gz", which.loci = which(SNP))
h <- haplotype(X.SNP, 6020:6030)
net <- haploNet(h)
plot(net)
它显然分配了19个单倍型。数据的呈现方式一定有问题。有什么建议吗?关于Pegas以及如何使用Pegas处理VCF文件的资料也很少。有谁知道一个好的资源(网页或书籍)来获取关于如何从VCF文件处理单倍型的信息吗?它甚至不必是Pegas的,任何R库都可以,或者Python。。。什么都可以


感谢您的帮助,Peter

这是一个预期的结果:目前haploNet()仅适用于由DNA seqs(类“DNAbin”)生成的类“单倍型”。read.vcf()的输出属于类“locis”,而haplotype()是处理这两个类的通用函数

如果您只使用SNP,您可以通过以下方式避免这种情况:

class(h) <- NULL
h <- as.DNAbin(h)

class(h)我知道这是一篇老文章,但如果其他人也提出同样的问题,我已经找到了解决这个问题的方法。使用打包“vcfR”,您可以使用read.vcfR()读入vcf,然后使用vcfR2DNAbin()将其转换为DNAbin。在DNAbin上使用haplotype()会导致类“haplotype”而不是“haplotype.loces”。

我建议直接联系软件包作者(上的联系信息)。无论出于何种原因,
haplotype.loces
对象和
haplotype
对象和
haploNet
想要后者,但
read.vcf
返回触发位点版本。感谢您的回答!我尝试了上面列出的解决方案,但它似乎没有正确读取haplotype.loces对象<编码>>h
11个二进制格式的DNA序列存储在矩阵中。
所有长度相同的序列:19个标签:
Base composition:
`a c g t`
NaN
它似乎是按行而不是按列读取序列。
class(h) <- NULL
h <- as.DNAbin(h)