Skip to contents

drugfindR provides R-based programmatic access to the iLINCS (Integrative LINCS) database for drug repurposing and functional genomics research. The package enables systematic analysis of gene expression signatures against comprehensive databases of:

  • Gene Knockdown (KD) signatures
  • Gene Overexpression (OE) signatures
  • Chemical Perturbagen (CP) signatures

Overview

drugfindR streamlines transcriptomic signature analysis by:

  • Querying LINCS signatures without web platform dependencies
  • Processing custom transcriptomic data for concordance analysis
  • Identifying candidate repurposable drugs based on signature similarity
  • Discovering functional relationships between genes and compounds
  • Enabling high-throughput batch processing of multiple signatures

The package integrates with standard differential expression analysis outputs from tools like edgeR and DESeq2.

Bioconductor Acceptance

🎉 drugfindR has been accepted into Bioconductor!

The package will be available in Bioconductor Release 3.23 (accessible via the main release channel). Additionally, drugfindR is available now from the Bioconductor devel channel and will be fully integrated within one week.

Installation

Install from the Bioconductor devel channel (available now):

if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}
BiocManager::install("drugfindR", version = "devel")

Or wait for Bioconductor Release 3.23 and install from the stable release channel:

if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}
BiocManager::install("drugfindR")

Alternative Installation Methods

Install from r-universe:

install.packages("drugfindR",
    repos = c(
        "https://cogdisreslab.r-universe.dev",
        "https://cran.r-project.org"
    )
)

Or install the development version from GitHub:

if (!requireNamespace("devtools", quietly = TRUE)) {
    install.packages("devtools")
}
devtools::install_github("CogDisResLab/drugfindR")

Quick Start

drugfindR offers two analysis approaches:

1. High-Level Convenience Functions

For rapid analysis with sensible defaults, use the wrapper functions:

library(drugfindR)

# Investigate a transcriptomic signature for candidate drugs
results <- investigateSignature(
    expr = my_diffexp_data,
    outputLib = "CP", # Query chemical perturbagens
    filterThreshold = 1.5, # Filter by absolute log fold change
    geneColumn = "gene_symbol",
    logfcColumn = "logFC",
    pvalColumn = "PValue"
)

# Investigate a specific gene target
target_results <- investigateTarget(
    target = "TP53",
    inputLib = "KD", # Use knockdown signatures
    outputLib = "CP", # Find related chemical perturbagens
    filterThreshold = 0.5
)

2. Modular Pipeline Functions

For customized workflows and fine-grained control:

# Step 1: Prepare your signature
signature <- prepareSignature(diffexp_data,
    geneColumn = "gene",
    logfcColumn = "logFC",
    pvalColumn = "PValue"
)

# Step 2: Filter by thresholds
filtered_up <- filterSignature(signature, direction = "up", threshold = 1.5)
filtered_dn <- filterSignature(signature, direction = "down", threshold = 1.5)

# Step 3: Query concordant signatures
concordants_up <- getConcordants(filtered_up, ilincsLibrary = "CP")
concordants_dn <- getConcordants(filtered_dn, ilincsLibrary = "CP")

# Step 4: Generate consensus results
consensus <- consensusConcordants(concordants_up, concordants_dn,
    paired = TRUE,
    cutoff = 0.2
)

Primary Use Cases

Drug Repurposing from Transcriptomic Data

Identify candidate drugs that reverse or mimic a disease signature by comparing your expression data against LINCS chemical perturbagen signatures.

Target Validation and Functional Analysis

Discover genes and compounds with similar or opposite functional effects to a gene of interest using knockdown and overexpression signatures.

Documentation

Key Functions

Function Purpose Reference
investigateSignature() All-in-one signature analysis docs
investigateTarget() Analyze a specific gene target docs
prepareSignature() Format signatures for iLINCS docs
filterSignature() Apply thresholds to signatures docs
getConcordants() Query iLINCS for matches docs
consensusConcordants() Generate consensus results docs

Citation

If you use drugfindR in your research, please cite:

Imami AS, Sahay S, Creeden JF, McCullumsmith RE (2024).
drugfindR: Investigate iLINCS for candidate repurposable drugs.
R package version 0.99.1302.
doi:10.5281/zenodo.338354715

Getting Help

License

GPL-3 + file LICENSE