convertFilter,AnnotationFilter,EnsDb-method {ensembldb} | R Documentation

## Convert an AnnotationFilter to a SQL WHERE condition for EnsDb

### Description

`convertFilter` converts an `AnnotationFilter::AnnotationFilter` or `AnnotationFilter::AnnotationFilterList` to an SQL where condition for an `EnsDb` database.

### Usage

    ## S4 method for signature 'AnnotationFilter,EnsDb'
    convertFilter(object, db, with.tables = character())

    ## S4 method for signature 'AnnotationFilterList,EnsDb'
    convertFilter(object, db, with.tables = character())

### Arguments

`object` | `AnnotationFilter` or `AnnotationFilterList` objects (or objects extending these classes).
`db` | `EnsDb` object.
`with.tables` | optional `character` vector specifying the names of the database tables that are being queried.

### Value

A `character(1)` with the SQL where condition.

### Note

This function might be used in direct SQL queries on the SQLite database underlying an `EnsDb` but is more thought to illustrate the use of `AnnotationFilter` objects in combination with SQL databases. This method is used internally to create the SQL calls to the database.

### Author(s)

Johannes Rainer

### Examples

    library(EnsDb.Hsapiens.v86)
    edb <- EnsDb.Hsapiens.v86

    ## Define a filter
    flt <- AnnotationFilter(~ gene_name == "BCL2")

    ## Use the method from the AnnotationFilter package:
    convertFilter(flt)

    ## Create a combination of filters
    flt_list <- AnnotationFilter(~ gene_name %in% c("BCL2", "BCL2L11") &
        tx_biotype == "protein_coding")
    flt_list

    convertFilter(flt_list)

    ## Use the filters in the context of an EnsDb database:
    convertFilter(flt, edb)

    convertFilter(flt_list, edb)

[Package ensembldb version 2.18.4 Index]