---
title: Virtual Screening
description: >-
  Run structure-based virtual screening campaigns to identify compounds that
  bind a protein target.
tags:
  - workflows
  - virtual-screening
---

## Virtual Screening

Virtual screening computationally evaluates large compound libraries against a protein target to identify molecules with high binding potential. This workflow combines AI-driven molecular docking with ADMET filtering and generative design to efficiently discover and expand hit series.

## Overview

Structure-based virtual screening (SBVS) uses the three-dimensional structure of a target protein to predict how small molecules bind within active or allosteric sites. DiffDock employs diffusion models to sample ligand poses without requiring predefined binding boxes, making it well suited for blind docking and novel binding site discovery. After docking, ADMET-AI filters hits for drug-like properties, and GenMol can generate novel analogs around confirmed hits to explore chemical space further.

## Tool Chain

1. [DiffDock](/docs/diffdock) -- Diffusion-based molecular docking
2. [ADMET-AI](/docs/admet-ai) -- High-throughput ADMET property prediction
3. [GenMol](/docs/genmol) -- AI-driven de novo molecular generation

## Prerequisites

- A protein structure in PDB format (experimental or predicted via ESMFold)
- A compound library as a SMILES list (from ZINC, PubChem, or custom collection)
- Basic understanding of protein-ligand interactions and docking scores

## Step-by-Step Guide

### Step 1: Prepare the protein target

Obtain or predict a 3D structure for your target protein. If no experimental structure is available, use [ESMFold](/docs/esmfold) to generate a predicted fold. Clean the structure by removing water molecules, co-crystallized ligands, and buffer ions. For proteins with multiple chains, select the biologically relevant assembly.

### Step 2: Assemble the compound library

Compile your screening library as a SMILES file with one compound per line. Sources include ZINC purchasable subsets, PubChem bioactivity-filtered sets, or custom enumerated libraries. For focused screens, apply property filters (molecular weight 200-500 Da, LogP 0-5, rotatable bonds fewer than 10) before docking to reduce computation.

### Step 3: Run DiffDock docking

Submit the protein structure and compound library to DiffDock. The diffusion model generates multiple binding poses per compound without requiring a predefined binding box. Configure the number of poses to sample per ligand (3-10 recommended for screening, 20+ for detailed analysis of top hits). Monitor job progress in the workspace.

### Step 4: Rank and filter docking results

Review the returned poses ranked by DiffDock confidence scores. Apply a confidence threshold to select the top-scoring compounds (typically the top 1-5% of the library). Visually inspect the top hits in the 3D viewer to verify sensible binding modes, checking for hydrogen bonds to key residues, complementary hydrophobic contacts, and absence of steric clashes.

### Step 5: ADMET profiling of hits

Pass the SMILES of docking hits to ADMET-AI for property prediction. Filter compounds that fail critical ADMET criteria: poor solubility, hERG liability, Ames-positive mutagenicity, or low metabolic stability. This step typically eliminates 30-60% of docking hits, leaving a refined set of drug-like candidates.

### Step 6: Expand hit series with GenMol

For the most promising chemotypes, use GenMol to generate structural analogs. Seed the generative model with hit scaffolds and property objectives (improved potency, better ADMET profile). Dock the generated compounds back through DiffDock to validate binding, creating an iterative design-dock-filter cycle.

### Step 7: Compile and export results

Consolidate the final hit list with docking scores, ADMET profiles, and structural annotations. Export as CSV for spreadsheet analysis or as a project report for team review.

## Expected Outputs

- Ranked docking poses with confidence scores and interaction fingerprints
- ADMET property profiles for all docking hits
- Filtered hit list with combined docking and ADMET rankings
- Generated analogs from GenMol with predicted binding modes
- Exportable reports in CSV, JSON, and PDF formats

## Tips and Best Practices

- Always validate your protein structure quality before screening. Low-confidence ESMFold regions (pLDDT below 70) near the binding site reduce docking reliability.
- Start with a small pilot screen (100-500 compounds) to calibrate score cutoffs before scaling to full library screens.
- Use consensus scoring by running hits through multiple docking passes with different random seeds to improve ranking robustness.
- Prioritize compounds that are commercially available (cross-reference with ZINC purchasable subsets) for rapid experimental validation.
- Document your screening funnel at each stage: initial library size, post-docking hits, post-ADMET survivors, and final candidates.

## Run it from a prompt

The same goal as a copy-and-adapt recipe you can paste into a chat:

- [Fold, find pockets, dock, triage](/docs/workflows/fold-dock-triage) — from a sequence to a docked, ADMET-checked shortlist in one prompt.
- [Target to lead](/docs/workflows/target-to-lead) — prompts that dock against a target structure and carry the hits toward synthesis.
