Provides an interactive Shiny application and a toolbox of R functions for the management, calculation, filtering, visualization and exploratory analysis of molecular descriptors and ADMET (Absorption, Distribution, Metabolism, Excretion and Toxicity) properties of small molecules. Computes descriptors locally via the Chemistry Development Kit (CDK), and offers drug-likeness filters (Lipinski, Veber, Ghose, Egan, Muegge), the BOILED-Egg model for gastrointestinal absorption and blood-brain barrier permeability, a P-glycoprotein (P-gp, also known as ATP-binding cassette sub-family B member 1, ABCB1) substrate Random Forest classifier, Principal Component Analysis (PCA), t-Distributed Stochastic Neighbor Embedding (t-SNE), Uniform Manifold Approximation and Projection (UMAP), radar plots and Tanimoto / AGglomerative NESting (AGNES) clustering to support compound prioritization in early-stage drug discovery.
An open-source R package and Shiny application for the management, calculation, filtering, visualization and exploratory analysis of molecular descriptors and ADMET properties of small molecules.
admetshiny integrates cheminformatics and bioinformatics workflows with an intuitive dashboard to support the prioritization of compounds in early-stage drug discovery. The application is organised in two complementary modules:
webchem package), enter them manually, or upload them as a CSV, then
compute nine physicochemical descriptors locally with the Chemistry
Development Kit (CDK)..xlsx) ADMET dataset
and manually map its columns to the application's 20-field standard schema.
Missing descriptors are back-filled from SMILES via CDK when available.Both modules share the same drug-likeness filters, BOILED-Egg model, P-gp substrate classifier and 14-chart catalogue.
You can install the development version from GitHub:
# install.packages("remotes")
remotes::install_github("xavierclementegarcia/admetshiny")
The optional CDK-based descriptor calculation requires the rcdk package,
which in turn requires Java JDK (a JRE alone is not sufficient).
Launch the interactive application:
admetshiny::run_app()
Use the computational functions programmatically:
library(admetshiny)
# Compute CDK descriptors for a few SMILES and apply the Lipinski filter
smiles <- c("CCO", "CC(=O)OC1=CC=CC=C1C(=O)O", "CN1C=NC2=C1C(=O)N(C(=O)N2C)C")
desc <- calcCDKDescriptors(smiles)
desc <- mapCDKDescriptors(desc) # adds #violations and ADMET cols
filtered <- applyFilters(desc, filters = c("Lipinski", "Veber", "Ghose"))
# Plot the BOILED-Egg
plotBoiledEgg(filtered)
# Or normalize any external ADMET dataset via manual column mapping
# (returns the standard schema with #violations + ADMET properties):
# d <- read.csv("my_admet.csv", check.names = FALSE)
# mapping <- setNames(c("SMILES", "MW", "LogP", "TPSA"),
# c("CanonicalSMILES", "MW", "iLOGP", "TPSA"))
# d <- mapADMETColumns(d, mapping, calculate_cdk = TRUE)
MIT LICENSE