Given a list of filters, this function builds a logical
condition to query database.
The output is used in get_dataset()
.
build_condition(regulondb, dataset, filters, operator, interval, partialmatch)
regulondb | A |
---|---|
dataset | dataset of interest |
filters | List of filters to be used. The names should correspond to the attribute and the values correspond to the condition for selection. |
operator | A string indicating if all the filters (AND) or some of them (OR) should be met |
interval | the filters with values considered as interval |
partialmatch | name of the condition(s) with a string pattern for full or partial match in the query |
A character(1)
with the sql logical condition to query the dataset
.
Carmina Barberena Jonás, Jesús Emiliano Sotelo Fonseca, José Alquicira Hernández, Joselyn Chávez
## Connect to the RegulonDB database if necessary if (!exists("regulondb_conn")) regulondb_conn <- connect_database() #> snapshotDate(): 2021-10-20 ## Build the regulon db object e_coli_regulondb <- regulondb( database_conn = regulondb_conn, organism = "E.coli", database_version = "1", genome_version = "1" ) ## Build the condition for ara build_condition( e_coli_regulondb, dataset = "GENE", filters = list( name = c("ara"), strand = c("forward"), posright = c("2000", "40000") ), operator = "AND", interval = "posright", partialmatch = "name" ) #> [1] "(name like '%ara%')AND(posright >= 2000 AND posright <= 40000) AND (name like '%ara%')AND(strand = 'forward')"