smgogarten / GWASTools

Classes for storing very large GWAS data sets and annotation, and functions for GWAS data cleaning and analysis
https://bioconductor.org/packages/GWASTools
16 stars 6 forks source link

Can not use GdsGenotypeReader to read a gds file #16

Closed wangshuang2024 closed 9 months ago

wangshuang2024 commented 9 months ago

hello, @smgogarten. I have trouble with GdsGenotypeReader. my gdsfile can successfully opened by "seqOpen" [gdsfile <- seqOpen("C:\Users\Desktop\chr8.gds")] . However, when I used "GdsGenotypeReader" , I got some error waring. geno <- GdsGenotypeReader(gdsfile) [Error in index.gdsn(object@handler, varname) : No such GDS node "snp.id"!] or geno <- GdsGenotypeReader(filename = "chr8.gds") [Error in openfn.gds(filename = filename, allow.fork = allow.fork) : The file 'C:\Users\Desktop\chr8.gds' has been created or opened.]

My variant id name changed like this.

head(seqGetData(gdsfile,"annotation/id")) [1] "chr8_700009_ACCCGCACACGCGCACAGACCCTCACAGGCGCACAGG_A" [2] "chr8_700114_C_G" [3] "chr8_700138_C_CGCACAGGCGCACAGACCCGCACACGCGCACAGGCCCGCACACGCGCACAGGCCG" [4] "chr8_700153_A_G" [5] "chr8_700209_GCGCACACACCCGCACACGCGCACAGGCC_G" [6] "chr8_700216_C_G" So, how to solve this problem. Thanks for your kind.

smgogarten commented 9 months ago

You should be able to use one or the other of seqOpen or GdsGenotypeReader to open a GDS file, not both, because they work with two different file formats. Try the SeqVarTools package for similar functions to those available in GWASTools, but designed for SeqArray GDS files. The SNPRelate and GENESIS packages will work with both file types.