/PLSKO

Package and codes used in paper: PLSKO: a robust knockoff generator for multiple biological data types in variable selection with controlled false discovery rate

Primary LanguageHTMLMIT LicenseMIT

PLSKO

R package and source codes used in paper, 'PLSKO: a robust knockoff generator to control false discovery rate in omics variable selection'(https://www.biorxiv.org/content/10.1101/2024.08.06.606935v1)

Installation

You can install the development version of the package from GitHub using the following code:

# install.packages("devtools")
devtools::install_github("guannan-yang/PLSKO/PLSKO", quiet = TRUE)

If warnings of installing dependencies appears, please install the dependencies manually by running the following code:

# install.packages(c("knockoff","progress", "parallel", "doParallel", "foreach"))
#
# if (!require("BiocManager", quietly = TRUE))
#     install.packages("BiocManager")
# BiocManager::install("mixOmics")

Vignette

View the vignette

Knockoff Steps and Functions Pipeline

Basic Input

  • Input: predictor matrix X
    Dimensions: n x p

  • Input: response vector y
    Length of n

  • Input: Target False Discovery Rate (FDR) Level
    Threshold: q ∈ (0, 1]

  • Output: knockoff.result object with Selected variables

Main functions included in this package

Pipeline Functions Provided^
Main Steps of Knockoff framework Function Auxiliary Function Output (Class) plsko_filter(), plsAKO() ko_filter(), AKO_with_KO()
Step 1: Knockoff Variable Generation plsko() r_criterion()
(for ncomp estimation)
A n x p matrix of knockoff variables ✔️ (Bring your own
knockoff vars)
Step 2: Importance Score Calculation (W) (import from pkg Knockoff) - A vector of p or a n_ko x p matrix ✔️ ✔️
Step 3: Knockoff Filtering and Variable Selection KO_with_W()
AKO_with_W()
- A list (class "knockoff.result" or "AKO.result") with components:
statistic, selected, ako.selected
✔️ ✔️

View the Knockoff Framework Diagram

Additional Notes:

  • ^The workflow includes generating knockoff variables, importance score calculation, and filtering.