LightDock icon

LightDock

(v0.9.4)Code (opens in a new tab)Paper (opens in a new tab)Docs

Protein-protein, protein-peptide, and protein-DNA docking using Glowworm Swarm Optimization

Upload file or drag and dropPDB, ENT · up to 50 MB
Upload file or drag and dropPDB, ENT · up to 50 MB

Output

Configure inputs to begin

Set options on the left, then click “Submit job”.

What is LightDock?

LightDock predicts how two macromolecules can form a complex when the binding site is unknown or only partly constrained. It is used for protein-protein, protein-peptide, and protein-DNA docking, including exploratory interface searches and antibody-antigen modeling.

The method comes from the Barcelona Supercomputing Center and is built around Glowworm Swarm Optimization (GSO). Instead of sampling one global search space, LightDock places many local swarms around the receptor surface. Each swarm explores a different region, then the most favorable poses are ranked with the selected scoring function.

LightDock is strongest when broad surface exploration matters. It can also use residue restraints, membrane filters, and Anisotropic Network Model (ANM) modes for limited backbone flexibility, but it is still a docking method for near-rigid structures. Large domain rearrangements, disordered binding partners, and missing interface conformations remain difficult.

How to use LightDock online

Run LightDock online by uploading receptor and ligand structures, or by fetching them from RCSB PDB, then choosing the swarm search, scoring, flexibility, and restraint settings. ProteinIQ returns the ranked complex PDB files exactly as LightDock writes them, the LightDock ranking files, the parsed receptor and ligand structures, the per-swarm simulation results, and pose-level scores with swarm and glowworm identifiers.

Inputs

InputAccepted formatDescription
Receptor (larger protein).pdb, .ent, or PDB IDFirst docking partner. In most protein-protein runs this should be the larger or less mobile structure. Maximum file size is 50 MB.
Ligand (smaller protein/peptide).pdb, .ent, or PDB IDSecond docking partner moved during docking. Protein, peptide, and DNA partners are supported when the selected scoring function is appropriate. Maximum file size is 50 MB.
Job nameTextOptional label used to identify the run in job history.

LightDock works best with cleaned coordinate files. Missing residues, nonstandard atom naming, alternate conformations, and unresolved chains can create failed setup steps or misleading poses. For structure repair before docking, use PDB Fixer.

Core settings

SettingDefaultDescription
Number of swarms0Search-space divisions around the receptor. 0 lets LightDock estimate the number of swarms from receptor solvent-accessible surface area. Use a fixed value only when a run needs controlled sampling.
Glowworms per swarm200Number of search agents in each swarm. Higher values increase local sampling depth and memory use.
Simulation steps100GSO optimization iterations. More steps give each swarm more time to converge, with longer runtime.
Number of poses to return10Top ranked complex PDB files returned after global ranking. Range 1 to 50.
Scoring functionFastDFIREScore used during simulation and ranking. FastDFIRE and DFIRE are the same DFIRE potential in C and Python; DFIRE2 is its successor. pyDockDNA targets protein-DNA docking, and DDNA is a knowledge-based potential for protein-protein and protein-DNA complexes. SwarmDock is the SwarmDock energy function, and PISA is the Viswanath and Elber atomic potential, not the PDBePISA interface service. TOBI and MJ3h do not support ANM flexibility.
Weighted scoring configurationEmptyOptional LightDock multi-scoring configuration. Leave empty to use the selected scoring function directly.

Advanced settings

SettingDefaultDescription
Receptor flexibility (ANM modes)0Number of receptor ANM modes. 0 keeps the receptor rigid. LightDock uses 10 modes when ANM is enabled without a count.
Ligand flexibility (ANM modes)0Number of ligand ANM modes. 0 keeps the ligand rigid.
Ignore hydrogensfalseRemoves hydrogen atoms before setup. This is commonly enabled with FastDFIRE because many hydrogen atoms are not parameterized by that scoring function.
Ignore OXT atomsfalseRemoves terminal OXT atoms. Useful when a scoring function or input preparation step does not handle terminal oxygens consistently.
Ignore waterfalseRemoves water molecules. Enable when crystallographic waters are not part of the intended docking model.
Local minimizationfalseEnables LightDock local minimization during GSO simulation. This can improve local contacts but adds runtime.
Starting-points seed324324Random seed for initial swarm placement.
GSO seed324324Random seed for the GSO simulation.
ANM seed324324Random seed for ANM extent sampling when flexibility is enabled.
Receptor ANM RMSD0.5RMSD interval for receptor ANM conformations.
Ligand ANM RMSD0.5RMSD interval for ligand ANM conformations.
Translation step0.5Normalized translation step used during GSO movement.
Rotation step0.5Normalized rotation step used during rotational updates.
Normal-modes step0.5Normalized step for ANM mode amplitudes.
GSO parameters fileEmptyOptional glowworm.conf content (rho, gamma, beta, luciferin, vision range, and neighbor limits) passed to the simulation. Leave empty for LightDock's default GSO parameters.

Sampling and restraints

SettingDefaultDescription
Surface density50Density used when automatic swarm placement estimates how many swarms to create.
Swarm radius10Initial local search radius in angstroms.
Fixed swarm distance0Optional fixed distance from the receptor surface. 0 lets LightDock estimate distance from ligand size.
Swarms per restraint20Maximum swarms kept around each receptor restraint.
Dense samplingfalseUses denser restraint-swarm filtering.
Cluster generated posesfalseRuns BSAS clustering before global ranking. This can be substantially slower because LightDock must generate conformations for all glowworms.
Restraints fileEmptyOptional LightDock restraint content. Lines use R or L for receptor or ligand, then residue identity and an active, passive, or blocked label. Example: R A.ALA.42 A.
Flip restrained posesfalseApplies LightDock's 180-degree flip to half of the starting poses when restraints are used.
Membrane filterfalseEnables LightDock membrane filtering. The receptor must contain MMB membrane beads, either in the uploaded file or created with the option below.
Transmembrane filterfalseEnables transmembrane filtering. Needs the same membrane beads.
Write starting positionsfalseWrites LightDock's per-swarm starting_positions_*.pdb and starting_poses_*.bild files, returned in the swarm results archive.
Create membrane beadsfalseRuns lgd_create_membrane.py on the receptor and appends the beads to it, as in the LightDock membrane tutorial. The receptor must be oriented with the membrane normal along the z axis.
Membrane anchor residueEmptyResidue such as A.TRP.30 whose CA height sets the bead layer. Required when creating beads.
Membrane angular resolution, radius resolution, radius offset15, 4, 30Bead spacing in degrees and angstroms, and how far the layer extends beyond the receptor.

Restraint filtering

These options run lgd_filter_restraints.py after ranking, the final step of LightDock's restraint tutorials. Only poses that satisfy the required fraction of restraints are returned, in scoring order. Filtering generates a conformation for every glowworm, so it adds runtime.

SettingDefaultDescription
Filter poses by restraint satisfactionfalseEnables filtering. Requires a restraints file.
Minimum fraction of restraints satisfied0.4Poses must satisfy at least this fraction of the restraints. LightDock has no default; 0.4 is the value used in the LightDock tutorial.
Interface cutoff5Distance in angstroms that counts a restrained residue as in contact.
Receptor chains, Ligand chainsEmptyChain IDs of each partner in the docked complexes, comma separated. Required when filtering.
Restraints used for filteringActiveCount active restraints, active and passive restraints, or passive restraints only.
Receptor is a nucleic acid, Ligand is a nucleic acidfalseSelect that partner as nucleic acid instead of protein when measuring contacts.

Pricing

LightDock is billed by runtime at 70 credits per minute while LightDock is working, and it needs a Plus or higher plan.

  • The estimate before you submit comes from the swarm, glowworm, step, scoring, and flexibility settings. Automatic swarms are estimated as 400 because LightDock only counts them during setup, so estimates for small receptors run high.
  • The final charge follows the measured runtime and stays within the maximum spend you set when submitting.
  • If the maximum spend or your credits run out first, LightDock is stopped and the job is charged for the time used. LightDock has no partial ranking, so no complexes are returned; the result keeps the setup files and each swarm's GSO snapshots.
  • Jobs that fail are not charged.

Results

LightDock returns one PDB file for each selected complex, exactly as LightDock writes it: the receptor atoms followed by the ligand atoms in the same coordinate frame, with the chain IDs from your input files. If both partners use the same chain ID, the complex keeps that ID for both; rename one input chain before docking if you need them distinguished.

The spreadsheet is sorted by LightDock's rank_by_scoring.list order, or by rank_filtered.list when restraint filtering is on. The top row is the best ranked pose for the selected scoring function.

ColumnDescription
RankGlobal rank from rank_by_scoring.list. Rank 1 is the best pose in the returned set.
ScoreSelected LightDock scoring value. Higher is better. The numeric scale depends on the scoring function, so compare scores within the same run and scoring setup.
Restraints satisfiedFraction of restraints the pose satisfies, from rank_filtered.list. Shown only when restraint filtering is on.
SwarmSearch region that produced the pose. Multiple high-ranking poses from the same swarm suggest local convergence around one interface.
GlowwormSearch agent identifier within the swarm.
LuciferinInternal GSO quality value used by glowworm movement.
NeighborsNumber of neighboring glowworms considered during movement.
Vision rangeLocal radius used for glowworm neighbor detection.
FileDownloadable complex PDB file.

Additional downloadable files include:

  • rank_by_scoring.list: Global ranking by the selected scoring function.
  • solutions.list: Combined LightDock solutions file.
  • rank_by_luciferin.list: Ranking by GSO luciferin value.
  • rank_by_rmsd.list: LightDock's RMSD ordering. Without a reference evaluation file every RMSD is -1, so this matches the solutions order.
  • setup.json: LightDock setup configuration.
  • lightdock.info: Simulation metadata.
  • swarm_centers.pdb: Initial swarm centers around the receptor.
  • lightdock_receptor.pdb and lightdock_ligand.pdb: Structures parsed by LightDock during setup.
  • lightdock_swarm_results.tgz: Each swarm's final gso_<steps>.out with every glowworm's pose and score, cluster.repr files when clustering is on, and starting-position files when requested.
  • rank_filtered.list: Poses that passed restraint filtering with their satisfied fraction, when filtering is on.
  • membrane.pdb: Membrane beads created from the anchor residue, when requested.

The ranking files also carry RMSD and Clashes columns. LightDock fills them only from a reference evaluation file, so in these runs they stay at -1 and 0 and do not describe steric clashes.

How LightDock works

LightDock treats docking as many local optimization problems. The receptor surface is sampled with swarms, and each swarm contains a population of glowworms. A glowworm encodes a possible ligand pose through translation, rotation, and optional ANM deformation parameters.

During simulation, glowworms move toward nearby glowworms with better luciferin values. Since movement is local to each swarm, different regions of the receptor surface can converge on different candidate interfaces. This is useful for blind docking because the method does not need one predefined binding pocket.

The scoring function is part of the search, not only a final rescoring step. FastDFIRE, DFIRE, DFIRE2, pyDock, PISA, SwarmDock, pyDockDNA, DDNA, and several residue-level potentials are available. A multi-scoring configuration can combine more than one scoring function, but memory use rises because each glowworm keeps scoring state for each configured function.

ANM flexibility adds low-frequency backbone deformation modes through ProDy. This is not molecular dynamics. It lets receptor and ligand structures move along coarse collective modes, which can help with loop shifts or moderate interface adjustment, but it will not solve binding events that require a different folded state.

Interpreting LightDock results

The rank order matters more than the raw score. A score from a FastDFIRE run should not be compared directly with a score from a PISA, SwarmDock, or DNA-specific run. Even within one scoring function, absolute values depend on interface size, atom composition, and preprocessing choices.

A practical first pass is:

  • Inspect the top 5 to 10 poses in the 3D viewer.
  • Prefer poses with consistent interfaces across several ranks or swarms.
  • Check the interface for steric overlap in the viewer, even when a pose has a strong score.
  • Check whether the proposed interface is biologically plausible: accessible in the unbound structures, compatible with known domains, and not blocked by membrane, glycans, or missing partners.
  • Re-run with restraints when mutagenesis, cross-linking, epitope mapping, or prior structural data suggests likely interface residues.

For blind ab initio docking, LightDock benchmark performance is modest because the search space is large. The original LightDock study reported better results when flexibility was enabled, and the information-driven LightDock work showed much stronger success rates when interface restraints were available. In practice, blind runs are best treated as hypothesis generation rather than final structural evidence.

When to use LightDock vs alternatives

ToolBest fitMain tradeoff
LightDockBroad protein-protein, protein-peptide, or protein-DNA surface search with optional restraints and ANM flexibilityStrong exploratory sampling, but results need careful ranking and structural inspection
DFMDockFast structure-only protein-protein docking with learned rigid-body samplingGood for quick unrestrained screening, but does not model explicit LightDock-style swarms or ANM flexibility
AF2DockAlphaFold2-guided protein-protein docking from two input structuresBetter when AF2-style refinement and confidence outputs are desired
GeoDockLearned geometry-aware protein complex predictionBetter when a fast geometric deep-learning model is the preferred starting point
ColabDockAlphaFold2-style complex prediction guided by restraintsUseful when the workflow depends on AlphaFold-derived confidence and restraint satisfaction
EquiDockVery fast rigid protein-protein pose predictionLightweight and fast, but returns less search diversity
DockQEvaluating a predicted complex against a known reference complexValidation tool, not a docking generator
PPAPPredicting affinity for a protein-protein complexScoring tool, not a docking generator

For small-molecule docking, use AutoDock Vina, GNINA, or DiffDock. LightDock is designed for macromolecular partners.

Troubleshooting

  • Input extraction failed: Confirm that both receptor and ligand are valid PDB or ENT structures.
  • LightDock setup failed: The message includes LightDock's own error, such as a restraint residue that is not in the structure. Check atom records, chain IDs, residue names, alternate conformations, and missing coordinates. Removing waters, hydrogens, or OXT atoms often helps with FastDFIRE runs.
  • LightDock membrane creation failed: The anchor residue was not found. Use Chain.ResidueName.ResidueNumber, such as A.TRP.30.
  • No ranked LightDock poses found: Run without clustering, and confirm that restraints do not exclude all relevant swarms.
  • LightDock restraint filtering kept no poses: No pose reached the required fraction. Lower the fraction, or check that the receptor and ligand chain IDs match the complexes.
  • No complex structures generated: Lower the number of swarms or steps for a quick diagnostic run, then increase sampling once setup succeeds.
  • LightDock execution failed: Retry with defaults: automatic swarms, 200 glowworms, 100 steps, FastDFIRE, no clustering, and no optional filters. Add advanced options one at a time.

Table of contents

Related tools

AF2Dock

AF2Dock

Structure-based protein-protein docking with AF2Dock flow-matching refinement

ColabDock

ColabDock

Protein-protein docking guided by experimental restraints using AlphaFold2

DFMDock

DFMDock

Dock protein-protein complexes with diffusion-based sampling and learned energy ranking.

DiffDock-PP

DiffDock-PP

Rigid protein-protein docking with a diffusion model and confidence ranking.

EquiDock

EquiDock

Dock rigid protein-protein complexes using SE(3)-equivariant geometric modeling.

GeoDock

GeoDock

Flexible protein-protein docking with a multi-track iterative transformer.

ParaSurf

ParaSurf

Surface-based deep learning for paratope-antigen interaction prediction

RAPiDock

RAPiDock

All-atom protein-peptide docking with unranked samples.

AutoDock-GPU

AutoDock-GPU

Dock ligands with AutoDock4 scoring, CUDA acceleration, and flexible receptor sidechains.

PandaDock

PandaDock

Physics-based molecular docking with CPU-optimized hierarchical algorithms