Ligand fixer
v1.5Repair SDF, MOL, and MOL2 ligands for RDKit, Meeko, and docking preparation workflows.
Ligand fixer is meant for ligand files that already exist but fail during RDKit, Meeko, or docking preparation. If AutoDock Vina, DiffDock, or another RDKit-based workflow rejects an SDF, MOL, or MOL2 ligand, this tool applies safe cleanup steps and re-exports a repaired SDF.
It is not the general "start from SMILES" path. If you have a trusted SMILES string and want to generate a fresh structure file, use SMILES to SDF instead.
Ligand fixer is designed for common failure modes such as:
SDF or multi-molecule MOL2 uploads that need to be split into separate ligandsUpload one or more ligand structure files. Supported structure formats are:
| Format | Extensions |
|---|---|
| SDF / MDL Molfile | .sdf, .sd, .mol |
| Tripos MOL2 | .mol2 |
You can submit up to 5,000 total ligand records per job. Multi-record SDF and multi-molecule MOL2 files are automatically processed as batches; get in touch with us for larger library cleanup runs.
| Setting | Description |
|---|---|
Sanitize and normalize | Runs RDKit cleanup and sanitization, plus targeted safe chemistry repairs where supported. |
Keep largest fragment | Removes salts and counterions by keeping only the largest fragment. |
Add hydrogens | Adds explicit hydrogens before export. |
Generate 3D coordinates | Generates a 3D conformer when the ligand has no usable 3D coordinates. |
Run docking preflight | Reports whether the repaired ligand appears ready for RDKit-based docking preparation. |
Merge outputs into one SDF | Returns one combined fixed_batch.sdf instead of separate repaired files. |
The tool is intentionally conservative. It focuses on repairs that are high-confidence enough to automate without silently inventing chemistry.
Current repair and normalization behavior includes:
SDF input into separate entriesN+When a ligand still cannot be sanitized safely, the tool does not force a guess. That entry fails, and the JSON report explains which ligand failed and why.
By default, each successful ligand is returned as its own repaired file with _fixed added to the original name, for example:
Ligand (3).sdf -> Ligand (3)_fixed.sdfpose.mol2 -> pose_fixed.sdfIf Merge outputs into one SDF is enabled, the tool returns a single fixed_batch.sdf instead of individual repaired SDF files.
Every job also includes:
ligand_fixer_report.json with per-entry success, failure, warnings, and preflight statusCan't kekulize mol.Clean DNA sequences by removing or replacing non-standard nucleotides with IUPAC-aware filters.
Split FASTA records by count, target file count, record length, or one sequence per file.
Clean protein sequences by removing or replacing non-standard amino acids with configurable filters.
Prepare biomolecular structures for electrostatics calculations with charge and radius assignment.
Group molecules by fingerprint distance using RDKit Butina clustering.
Find compounds matching a SMARTS query with optional stereochemistry matching.
Generate ligand protonation states over a pH range with Dimorphite-DL.
Rank compounds by molecular fingerprint Tanimoto similarity to a query molecule.
Enumerate stereoisomers from SMILES while preserving assigned stereochemistry by default.
Validate generated and docked ligand poses with structure, chemistry, and reference-pose checks.