semijoin: Semijoin condition

View source: R/gmql_select.R

semijoinR Documentation

Semijoin condition

Description

This function is used as support to the filter method to define semijoin conditions on metadata

Usage

semijoin(.data, is_in = TRUE, groupBy)

Arguments

.data

GMQLDataset class object

is_in

logical value: TRUE => for a given sample of input dataset '.data' in filter method, if and only if there exists at least one sample in dataset 'data' with metadata attributes defined in groupBy and these attributes of 'data' have at least one value in common with the same attributes defined in at least one sample of '.data' in filter method, FALSE => semijoin condition is evaluated accordingly.

groupBy

condition_evaluation function to support methods with groupBy or JoinBy input paramter

Value

semijoin condition as list

Examples


## This statement initializes and runs the GMQL server for local execution 
## and creation of results on disk. Then, with system.file() it defines 
## the path to the folders "DATASET" and "DATASET_GDM" in the subdirectory 
## "example" of the package "RGMQL" and opens such folders as GMQL datasets 
## named "data" and "join_data", respectively

init_gmql()
test_path <- system.file("example", "DATASET", package = "RGMQL")
test_path2 <- system.file("example", "DATASET_GDM", package = "RGMQL")
data <- read_gmql(test_path)
join_data <-  read_gmql(test_path2)

## This statement creates a new dataset called 'jun_tf' by selecting those 
## samples and their regions from the existing 'data' dataset such that:
## Each output sample has a metadata attribute called antibody_target 
## with value JUN.
## Each output sample also has not a metadata attribute called cell
## that has the same value of at least one of the values that a metadata 
## attribute equally called cell has in at least one sample 
## of the 'join_data' dataset.
## For each sample satisfying previous conditions, only its regions that 
## have a region attribute called pValue with the associated value 
## less than 0.01 are conserved in output

jun_tf <- filter(data, antibody_target == "JUN", pvalue < 0.01, 
    semijoin(join_data, FALSE, conds("cell")))


DEIB-GECO/RGMQL documentation built on Feb. 17, 2024, 10:39 p.m.