
Target2NP: Compound–Target Interactions
target2np.RmdThe Target2NP module provides access to a large-scale compound–target interaction database covering multiple experimental sources (BindingDB, HERB2, NPASS, BATMAN, etc.) as well as computational predictions from DrugCLIP (deep learning) and SEA (ChEMBL similarity). This vignette walks through the main workflows.
Experimental interactions
Search and filter
# Free-text search across all fields
hits <- search_target2np(search = "quercetin")
hits
# Exact-match by gene symbol
tp53 <- search_target2np(
search = "TP53",
search_field = "gene_symbol",
search_mode = "exact"
)
tp53
attr(tp53, "total")
# Combine filters
results <- search_target2np(
search = "curcumin",
search_field = "compound_name",
source_db = "BindingDB",
target_organism = "Homo sapiens",
activity_type = "IC50"
)
resultsAvailable filters and statistics
# What filter values exist?
opts <- fetch_target2np_filters()
opts$source_db
opts$target_organism
opts$activity_type
# Global database statistics
stats <- fetch_target2np_stats()
stats$total_records
stats$source_db_distributionRetrieve a single record
detail <- get_target2np(1)
detail$compound_name
detail$gene_symbol
detail$activity_value
detail$activity_units
detail$pmidBatch query
Look up interactions for multiple genes in one call (up to 50 identifiers):
batch <- batch_target2np(c("TP53", "BRCA1", "EGFR", "VEGFA"))
batch
attr(batch, "queries_matched")
attr(batch, "queries_not_found")
# UniProt-based batch
batch_up <- batch_target2np(
c("P04637", "P38398"),
id_type = "uniprot_id"
)Computational predictions
DrugCLIP deep-learning predictions
# High-confidence predictions for quercetin
dc_high <- search_target2np_drugclip(
search = "quercetin",
search_field = "compound_name",
confidence = "high"
)
dc_high
# Score-based filtering
dc <- search_target2np_drugclip(
search = "EGFR",
search_field = "gene_symbol",
min_score = 0.7
)
dcSEA similarity-based predictions
# High-confidence SEA predictions
sea_high <- search_target2np_sea(
search = "quercetin",
search_field = "compound_name",
confidence = "high"
)
sea_high
# Filter by adjusted p-value
sea <- search_target2np_sea(
search = "TP53",
search_field = "gene_symbol",
max_pvalue = 0.01
)
seaCross-source analysis
Multi-source summary
The target2np_multi_source_summary() function queries
experimental records, DrugCLIP, and SEA for the same term and returns an
integrated overview: source counts, overlap statistics, confidence
distributions, and cross-validated compound–target pairs.
summary <- target2np_multi_source_summary(
search = "TP53",
search_field = "gene_symbol"
)
# How many results per source?
summary$source_counts
# Target overlap across data sources
summary$target_overlap
# Confidence-level distribution for each source
summary$confidence_distribution
# Compound-target pairs found in >= 2 sources
summary$cross_validated
# Natural-language interpretation
cat(summary$suggestion_text)Aggregated view
The aggregated view groups experimental interaction records by compound–target pair (InChIKey + UniProt ID) and returns pairs supported by multiple source databases. This is useful for identifying well-evidenced interactions.
# Pairs seen in >= 3 databases
agg <- aggregated_target2np(
search = "quercetin",
min_sources = 3
)
agg
# Include DrugCLIP/SEA prediction counts as additional sources
agg_pred <- aggregated_target2np(
search = "quercetin",
min_sources = 2,
include_predictions = TRUE
)
agg_predPractical example: multi-evidence target prioritisation
A common workflow is to start with a compound of interest, query all three data sources, and use cross-validation to prioritise targets.
# 1. Check experimental evidence
exp <- search_target2np(
search = "quercetin",
search_field = "compound_name",
search_mode = "fuzzy",
all_pages = TRUE
)
nrow(exp)
# 2. Get multi-source summary in one call
ms <- target2np_multi_source_summary(
search = "quercetin",
search_field = "compound_name",
search_mode = "fuzzy"
)
ms$source_counts
ms$cross_validated
# 3. Batch-check the top cross-validated targets
top_genes <- unique(vapply(
ms$cross_validated, `[[`, character(1), "gene_symbol"
))
if (length(top_genes) > 0) {
batch_detail <- batch_target2np(top_genes)
batch_detail
}