RajLabMSSM / echotabix

echoverse module: Tabix indexing and querying.
0 stars 0 forks source link

Handle multiple chromosomes in one `query_granges` #3

Open bschilder opened 2 years ago

bschilder commented 2 years ago

Would be useful to automatically handle situations where query_granges spans multiple chromosomes. Could add an extra loop at the level of query or query_vcf/query_table.

Otherwise, stuff like this can happen:

 query_dat <- rbind(echodata::BST1[1:50,], 
                        echodata::LRRK2[1:50,], fill=TRUE)
     annot_dt <- echoannot::IMPACT_query(query_dat=query_dat,
                              populations="EUR")
     testthat::expect_equal(dim(annot_dt),c(13,1419))
Constructing GRanges query using min/max ranges across one or more chromosomes.
+ as_blocks=TRUE: Will query a single range per chromosome that covers all regions requested (plus anything in between).
========= echotabix::query =========
query_dat is already a GRanges object. Returning directly.
Inferred format: 'table'
Querying tabular tabix file using: Rsamtools.
Checking query chromosome style is correct.
Chromosome format: 1
Retrieving data.
 Error: scanTabix: '4' not present in tabix index
path: https://zenodo.org/record/7062238/files/IMPACT707_EUR_chr12.annot.bgz?download=1
index: https://zenodo.org/record/7062238/files/IMPACT707_EUR_chr12.annot.bgz.tbi?download=1