create_gene_query_func: Create a function to query genes

Description Usage Arguments Details Value Examples

View source: R/create_gene_query_func.R

Description

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

Usage

1
2
3
4
5
6
7
8
9
create_gene_query_func(
  dbfile = NULL,
  db = NULL,
  table_name = "genes",
  chr_field = "chr",
  start_field = "start",
  stop_field = "stop",
  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

start_field

Name of field with start position (in basepairs)

stop_field

Name of field with stop position (in basepairs)

filter

Additional SQL filter (as a character string).

Details

Note that this function assumes that the database has start and stop fields that are in basepairs, but the selection uses positions in Mbp, and the output data frame should have start and stop columns in Mbp.

Also note that a SQLite database of MGI mouse genes is available at figshare: doi: 10.6084/m9.figshare.5286019.v7

Value

Function with three arguments, chr, start, and end, which returns a data frame with the genes overlapping that region, with start and end being in Mbp. The output should contain at least the columns Name, chr, start, and stop, the latter two being positions in Mbp.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# create query function by connecting to file
dbfile <- system.file("extdata", "mouse_genes_small.sqlite", package="qtl2")
query_genes <- create_gene_query_func(dbfile, filter="(source=='MGI')")
# query_genes will connect and disconnect each time
genes <- query_genes("2", 97.0, 98.0)

# connect and disconnect separately
library(RSQLite)
db <- dbConnect(SQLite(), dbfile)
query_genes <- create_gene_query_func(db=db, filter="(source=='MGI')")
genes <- query_genes("2", 97.0, 98.0)
dbDisconnect(db)

qtl2 documentation built on Oct. 18, 2021, 1:06 a.m.