View source: R/create_gene_query_func.R
create_gene_query_func | R Documentation |
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",
name_field = "Name",
strand_field = "strand",
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) |
name_field |
Name of field with gene name |
strand_field |
Name of field with strand (+/-) |
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: \Sexpr[results=rd]{tools:::Rd_expr_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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.