create_variant_query_func: Create a function to query variants

View source: R/create_variant_query_func.R

create_variant_query_funcR Documentation

Create a function to query variants

Description

Create a function that will connect to a SQLite database of founder variant information and return a data frame with variants for a selected region.

Usage

create_variant_query_func(
  dbfile = NULL,
  db = NULL,
  table_name = "variants",
  chr_field = "chr",
  pos_field = "pos",
  id_field = "snp_id",
  sdp_field = "sdp",
  filter = NULL
)

Arguments

dbfile

Name of database file

db

Optional database connection (provide one of file and db).

table_name

Name of table in the database

chr_field

Name of chromosome field

pos_field

Name of position field

id_field

Name of SNP/variant ID field

sdp_field

Name of strain distribution pattern (SDP) field

filter

Additional SQL filter (as a character string)

Details

Note that this function assumes that the database has a pos field that is in basepairs, but the selection uses start and end positions in Mbp, and the output data frame should have pos in Mbp.

Also note that a SQLite database of variants in the founder strains of the mouse Collaborative Cross is available at figshare: \Sexpr[results=rd]{tools:::Rd_expr_doi("10.6084/m9.figshare.5280229.v3")}

Value

Function with three arguments, chr, start, and end, which returns a data frame with the variants in that region, with start and end being in Mbp. The output should contain at least the columns chr and pos, the latter being position in Mbp.

Examples

# create query function by connecting to file
dbfile <- system.file("extdata", "cc_variants_small.sqlite", package="qtl2")
query_variants <- create_variant_query_func(dbfile)
# query_variants will connect and disconnect each time
variants <- query_variants("2", 97.0, 98.0)

# create query function to just grab SNPs
query_snps <- create_variant_query_func(dbfile, filter="type=='snp'")
# query_variants will connect and disconnect each time
snps <- query_snps("2", 97.0, 98.0)

# connect and disconnect separately
library(RSQLite)
db <- dbConnect(SQLite(), dbfile)
query_variants <- create_variant_query_func(db=db)
variants <- query_variants("2", 97.0, 98.0)
dbDisconnect(db)

rqtl/qtl2 documentation built on March 20, 2024, 6:35 p.m.