Hello,
Is there any way to get an up-to-date version of the GWAS catalog starting from an existing file? Currently the version accessible with data(ebicat38)
is outdated (January 2016) and the function makeCurrentGwascat()
only accepts a URL as argument, not an existing file.
I'm preparing some training material where students won't be able to rely on internet connection so I need a way to create a gwasloc
object from a file on the hard drive. The file in question is exactly the same that gets downloaded and parsed by makeCurrentGwascat()
, i.e.: https://www.ebi.ac.uk/gwas/api/search/downloads/alternative
Thank you!
Code illustrating the problem:
> library(gwascat) Loading required package: Homo.sapiens Loading required package: AnnotationDbi Loading required package: stats4 Loading required package: BiocGenerics Loading required package: parallel Attaching package: ‘BiocGenerics’ The following objects are masked from ‘package:parallel’: clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from ‘package:stats’: IQR, mad, sd, var, xtabs The following objects are masked from ‘package:base’: anyDuplicated, append, as.data.frame, cbind, colMeans, colnames, colSums, do.call, duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, is.unsorted, lapply, lengths, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rowMeans, rownames, rowSums, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which, which.max, which.min Loading required package: Biobase Welcome to Bioconductor Vignettes contain introductory material; view with 'browseVignettes()'. To cite Bioconductor, see 'citation("Biobase")', and for packages 'citation("pkgname")'. Loading required package: IRanges Loading required package: S4Vectors Attaching package: ‘S4Vectors’ The following object is masked from ‘package:base’: expand.grid Loading required package: OrganismDbi Loading required package: GenomicFeatures Loading required package: GenomeInfoDb Loading required package: GenomicRanges Loading required package: GO.db Loading required package: org.Hs.eg.db Loading required package: TxDb.Hsapiens.UCSC.hg19.knownGene gwascat loaded. Use data(ebicat38) for hg38 coordinates; data(ebicat37) for hg19 coordinates. > packageVersion("gwascat") [1] '2.10.0' # this version is out of date, see date in 'Extracted' > data(ebicat38) > ebicat38 gwasloc instance with 22714 records and 36 attributes per record. Extracted: 2016-01-18 Genome: GRCh38 Excerpt: GRanges object with 5 ranges and 3 metadata columns: seqnames ranges strand | DISEASE/TRAIT SNPS P-VALUE <Rle> <IRanges> <Rle> | <character> <character> <numeric> [1] 11 [41798900, 41798900] * | Post-traumatic stress disorder rs10768747 5e-06 [2] 15 [34768262, 34768262] * | Post-traumatic stress disorder rs12232346 2e-06 [3] 8 [96500749, 96500749] * | Post-traumatic stress disorder rs2437772 6e-06 [4] 9 [98221544, 98221544] * | Post-traumatic stress disorder rs7866350 1e-06 [5] 15 [54423444, 54423444] * | Post-traumatic stress disorder rs73419609 6e-06 ------- seqinfo: 23 sequences from GRCh38 genome # this fails because I'm not connected > makeCurrentGwascat() running read.delim on http://www.ebi.ac.uk/gwas/api/search/downloads/alternative... Error in open.connection(file, "rt") : cannot open the connection # this also fails because the function expects a URL, not a file > makeCurrentGwascat("gwas.catalog.txt") running read.delim on gwas.catalog.txt... Error in url(table.url) : URL scheme unsupported by this method
Thanks. Yes, this would probably work but it's not very elegant - especially considering this is training material for students.
I wonder wheter it would not be easier and more straightforward to follow to simply create a GRanges object at that point?
I see three options: write a wrapper function for your students, parse the gwascat file yourself and provide your students directly with the 'GRanges' object, or contact the package maintainer to request further functionality.