Create a function to query genes
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.
create_gene_query_func( dbfile = NULL, db = NULL, table_name = "genes", chr_field = "chr", start_field = "start", stop_field = "stop", filter = NULL )
dbfile |
Name of database file |
db |
Optional database connection (provide one of |
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). |
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
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.
# 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.