Skip to content
@ligand-discovery

Ligand Discovery

Research Project at CeMM

Welcome to Ligand Discovery 🎯

This project enables exploration of a large scale fragment-based chemoproteomics screening data.

Note

Browse web apps that we deployed in an external cloud server (or) run apps locally by forking the code from GitHub (or) download Screening and Competition data for your own research.

Important

web app will sleep if inactive for few days 😴; if a web app is inactive, a Restart this Space button will appear within the web app. Click that button to reload the app 🤗

1. 🎯 Interactions

Web App ↗️ Code Repo DOI

Explore the interactions between ligands and proteins. This is the main navigator to the chemoproteomics data, containing profiles for 407 fragments. The app also showcases competition assays for a few selected fragments

2. 🔍 Explore protein sets

Web App ↗️ Code Repo DOI

With this tool, you can in put a set of proteins and see how many fragments interact with them according to our chemoproteomics data. We categorize proteins by their promiscuity/specificity levels to easily detect reported effect such as labeling bias

3. ⛰️ Protein set enrichment analysis

Web App ↗️ Code Repo DOI

Explore fragment profiles from an enrichment perspective. We capture protein annotations of multiple scopes, from domains and families to molecular functions and cellular localization. We offer global and detailed views for each fragment

4. 📈 Fragment predictor

Web App ↗️ Code Repo DOI

Predict whether your fully-functionalized fragment of interest is likely to be promiscuous or associated with a specific interactome signature. We have predefined 10 interactome signatures capturing high-level biological processes that emerged from our chemoproteomics data

5. 🚀 On-the-fly modeling

Web App ↗️ Code Repo DOI

Build a machine learning model on the fly to predict potential interactions between your fully-functionalized fragments and proteins of interest. Sets of proteins are accepted and organized in coherent subsets to maximize the chance of obtaining a good model


This project was led by Georg Winter's group at CeMM

Cite: Offensperger et al., Science (2024)


Additional code repositories associated with the project:

Data Analysis & Paper Figures

Model Training

  • fragment-embedding: Train and predict fully-functionalized fragment descriptors. DOI
  • mini-automl: Train small machine learning models using TabPFN. Includes scripts for promiscuity models and interactome signature models. DOI
  • mini-xai: Notebook for the Shapley value analysis. DOI

FAQ for web apps

  1. Interactions web app

Do i have to clear existing text to search for a new Protein?

No. To change selected protein, there is no need to select whole existing term or delete or type new. Just place the mouse cursor in the search box and just start to type new protein!; old text is automatically cleared

I search for a gene (example, DDB1) but did not find it in Protein search box

Names like caspase or ddb1 appear many times in description of proteins, therefore search engine is not able to pick the correct one. Type specific input such as DNA damage-binding protein 1 or DDB1 DNA dama.. to find DDB1. Search with UniProt Accession (Q16531 for DDB1) is better!

I am interested in a specific Fragment (C008) but it is not displayed in the Gen1 search box

Gen1 Fragment selection menu is dynamically updated based on the selected Protein and threshold filters applied. If you are interested in a specific Gen1 Fragment, then clear all filters, i.e., select 'no filter' option for P values, adjusted P alues and filterSet (fS) and/or select a promiscuous Protein such as TOMM22

Changing the threhold for _P_ values, adjusted _P_ values and filterSet (fS) does not change the plot

That is correct. Plots are static. They are not dynamically updated based on threshold values. Changing the threhold for P values, adjusted P values and filterSet (fS) only updates the Table. Pre- set (i.e. default) filterSet (fS or fS2) were used to create plots

What was the criteria to label a Protien or Fragment as Promiscuous ?

10% hit/regulated ratio for Proteins and 5% for Fragments")

Can i change the order of Gen1 Fragments displayed in the search box menu?

Order of Fragments displayed in search menu matches the original order in the Table. Re-adjusting the table, for example: sort the table based on Foldchange (Fc) values or number of Protein/Fragment hits will not change the order of the Fragments in the search menu

Changing the threhold for P values, adjusted P values and filterSet (fS) updates the original Table, consequently results in a change in the order of Gen1 Fragment displayed in search menu

How can i explore second generation (Gen2) Fragment data?

Gen2 Fragment data is available for only a small subset of Gen1 Fragments. Gen2 data is automatically displayed if the selected Gen1 Fragment has elaborates. For example, select C027 in Gen1 search box

  1. Explore Protein-sets app

How to resolve error message 'More than one input type has been provided!'?

Please only choose one of the options, i.e. input proteins manually, or select a pre-screened Ligand, or upload a file

  1. Fragment Predictor web app

Explain Promiscuity and Ontology Prediction models

  1. We built two types of Promiscuity models. Three Type 1 (Global) and nine Type 2 (Specific) models
  2. We built 10 Ontology models.
  3. Area Under Receiver Operating Characteristic (AUROC) of > 0.75 is considered a good model 👍
Global num. Proteins AUROC
Prom-0 100+ 0.837 👍
Prom-1 200+ 0.800 👍
Prom-2 300+ 0.713
Specific num. Proteins num. Fragments AUROC
Prom-0-0 5+ < 4 0.818 👍
Prom-0-1 10+ 4 -> 40 0.809 👍
Prom-0-2 50+ > 40 0.857 👍
Prom-1-0 10+ < 4 0.771
Prom-1-1 15+ 4 -> 40 0.855 👍
Prom-1-2 100+ > 40 0.858 👍
Prom-2-0 50+ < 4 0.771
Prom-2-1 100+ 4 -> 40 0.743
Prom-2-2 200+ > 40 0.814 👍
Model name Ontology AUROC
Sign-0 Endoplasmic reticulum 0.872 👍
Sign-1 RNA binding 0.727
Sign-2 Lysosome 0.938 👍
Sign-3 Proteasome complex 0.616
Sign-4 Mitochondria 0.519
Sign-5 Nucleous 0.702
Sign-6 Transmembrane transporter 0.756
Sign-7 Microtubule 0.557
Sign-8 Organic acid binding 0.706
Sign-9 Envelope 0.806 👍

Pinned Loading

  1. interactions interactions Public

    explore screening data

    Python 1

  2. fragment-predictor fragment-predictor Public

    A small prediction app for fully functionalized fragments

    Python 1 1

  3. protein-profile-explorer protein-profile-explorer Public

    Protein profile explorer, based on Ligand Discovery data

    Jupyter Notebook 1

  4. on-the-fly-modeling on-the-fly-modeling Public

    Getting AI/ML models on-the-fly based on primary Ligand Discovery screening data

    Jupyter Notebook 1 1

  5. protein-set-enrichment-analysis protein-set-enrichment-analysis Public

    Protein set enrichment app

    Jupyter Notebook 2 2

Repositories

Showing 10 of 12 repositories
  • .github Public
    ligand-discovery/.github’s past year of commit activity
    0 0 0 0 Updated Mar 6, 2025
  • landing-page Public

    This is a simple landing page for the ligand discovery resource

    ligand-discovery/landing-page’s past year of commit activity
    Python 0 1 0 0 Updated Mar 5, 2025
  • primary-paper-figures Public

    Code to produce the main figures of the paper

    ligand-discovery/primary-paper-figures’s past year of commit activity
    Jupyter Notebook 2 GPL-3.0 1 0 0 Updated Apr 29, 2024
  • on-the-fly-modeling Public

    Getting AI/ML models on-the-fly based on primary Ligand Discovery screening data

    ligand-discovery/on-the-fly-modeling’s past year of commit activity
    Jupyter Notebook 1 GPL-3.0 1 0 0 Updated Apr 25, 2024
  • fragment-predictor Public

    A small prediction app for fully functionalized fragments

    ligand-discovery/fragment-predictor’s past year of commit activity
    Python 1 GPL-3.0 1 0 0 Updated Apr 25, 2024
  • protein-set-enrichment-analysis Public

    Protein set enrichment app

    ligand-discovery/protein-set-enrichment-analysis’s past year of commit activity
    Jupyter Notebook 2 GPL-3.0 2 0 0 Updated Apr 10, 2024
  • mini-automl Public

    Build simple classifiers based on lightweight AutoML

    ligand-discovery/mini-automl’s past year of commit activity
    Python 2 GPL-3.0 2 0 0 Updated Apr 10, 2024
  • fragment-embedding Public

    Create a fragment descriptor focused on the CRF fragment space

    ligand-discovery/fragment-embedding’s past year of commit activity
    Python 3 AGPL-3.0 2 0 0 Updated Apr 9, 2024
  • mini-xai Public

    Explainable AI modeling with Shapley values and Mordred physicochemical parameters

    ligand-discovery/mini-xai’s past year of commit activity
    Jupyter Notebook 1 GPL-3.0 2 0 0 Updated Mar 19, 2024
  • protein-profile-explorer Public

    Protein profile explorer, based on Ligand Discovery data

    ligand-discovery/protein-profile-explorer’s past year of commit activity
    Jupyter Notebook 0 GPL-3.0 1 0 0 Updated Mar 19, 2024

Top languages

Loading…

Most used topics

Loading…