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:
drugfindR streamlines transcriptomic signature analysis by:
The package integrates with standard differential expression analysis outputs from tools like edgeR and DESeq2.
🎉 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.
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")
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")
drugfindR offers two analysis approaches:
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
)
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
)
Identify candidate drugs that reverse or mimic a disease signature by comparing your expression data against LINCS chemical perturbagen signatures.
Discover genes and compounds with similar or opposite functional effects to a gene of interest using knockdown and overexpression signatures.
| 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 |
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.2516.
doi:10.5281/zenodo.338354715
GPL-3 + file LICENSE