SwissDock Tutorial: Dock a Ligand to a Protein Online

SwissDock (swissdock.ch) is a free docking web server from the SIB Swiss Institute of Bioinformatics. In a browser, you submit a ligand (SMILES, Mol2 or sketch), submit a target (PDB ID or file), draw a search box in Angstrom, choose Attracting Cavities 2.0 or AutoDock Vina, then check parameters and start the job. No installation or Linux is needed.
Many students reach the docking step of their project on a college laptop with no admin rights, no Linux and no time to fight an install. SwissDock is the fastest honest way to get one real, citable docking result that day. This tutorial from the StemSkills Lab team (10+ years in structural bioinformatics, drug design and molecular modeling) walks through every field of the current SwissDock interface, explains what the two docking engines actually score, and lists the errors students hit most often with their fixes. Every limit and default below was checked against SwissDock’s own documentation and FAQ pages. It is part of our pillar guide to learning molecular docking, and the computational biology skills roadmap shows where docking sits in the wider skill path.
What is SwissDock and what changed in the 2024 version?
SwissDock is a web service that predicts how a small molecule binds to a protein target. It was first released in 2011 using the EADock DSS engine. The 2024 rebuild, described by Bugnon and colleagues in “SwissDock 2024: major enhancements for small-molecule docking with Attracting Cavities and AutoDock Vina” (Nucleic Acids Research, 52(W1), W324-W332), replaced EADock DSS with two engines: Attracting Cavities 2.0 (AC) and AutoDock Vina. The FAQ states that the Vina option runs the Python version 1.2.5.
The server also prepares your inputs for you. For AC, the ligand is parameterized by SwissParam using an MMFF-based approach and the target is prepared for the CHARMM force field. For Vina, the ligand is converted to PDBQT with Meeko’s mk_prepare_ligand script and the target with prepare_receptor from the ADFR Suite. That automatic preparation is the main reason beginners get a result quickly, and also the main source of errors when an input file is messy.
Should I choose Attracting Cavities or AutoDock Vina?
Choose Attracting Cavities when accuracy matters and you can wait; choose Vina when you want a fast answer or a score in kcal/mol that matches most published Vina studies. The SwissDock 2024 paper summarizes the trade-off plainly: “AutoDock Vina provides faster docking predictions, while Attracting Cavities offers more accurate results.”
There is benchmark data behind that sentence. In the Attracting Cavities 2.0 paper (Röhrig et al., J. Chem. Inf. Model. 2023), the authors redocked the 285 complexes of the PDBbind Core set (version 2016) from randomized ligand conformations. AC 2.0 reached a 73.3% success rate, compared with 63.9% for GOLD and 58.0% for AutoDock Vina. For cross-docking, the rates were 42.5% for AC 2.0, 42.8% for GOLD and 33.1% for Vina. Keep in mind that this benchmark comes from the AC developers.
The two engines also work differently. AC replaces the rough energy surface of the protein with a smooth field of virtual attracting points, samples ligand rotations and translations in that field, then optimizes poses in the real CHARMM energy with the FACTS implicit solvation model. Vina uses an empirical scoring function with steric, hydrogen-bond and hydrophobic terms plus a torsional entropy penalty, evaluated on precalculated grid maps.
How do I submit a ligand to SwissDock?
Open swissdock.ch, click the tab for your engine (Docking with Attracting Cavities or Docking with AutoDock Vina), and fill section 1, “Submit a ligand”. You have four routes:
- SMILES. Paste a SMILES string. The fastest route for a known drug; copy the canonical SMILES from PubChem or ChEMBL.
- File upload. A Mol2 file for either engine, or a PDBQT file for Vina. The page warns that the file must contain only one molecule, with all hydrogens and 3D coordinates.
- Sketcher. Draw or edit the molecule. If you edit a structure you uploaded, the page notes that the atom naming and conformation from your Mol2 file will not be used during parameterization.
- Advanced search. Search by name, PDB ligand ID or InChI. The site states that SMILES are given at pH 7.4.
Then click Prepare ligand. A check mark next to the button means preparation worked. Protonation matters here: if your ligand has an ionizable group, decide its state before you submit. Our guide to preparing a protein and ligand for docking covers hydrogens, charges and 3D generation.
How do I load the protein target and choose chains?
In section 2, “Submit a target”, type a PDB ID (for example 5hie), upload a PDB file (or a PDBQT file for Vina), or use the advanced target search, which queries PDBe, SWISS-MODEL and the AlphaFold Protein Structure Database. When you use a PDB ID, the form asks you to pick the chain(s) and heteroatom(s) to keep. The page explicitly says not to select chemical solvent.
Practical rules for this step:
- Keep one chain unless the pocket sits at an interface. Extra chains increase the estimated run time and can push you over the limit.
- Keep essential cofactors and structural metal ions that sit inside the pocket. Remove the co-crystallized ligand you are about to replace, buffer molecules and crystallization additives.
- If a structure exists only as mmCIF, the FAQ says it will not load. Download the mmCIF, select the chains you need and convert it to PDB first.
Click Prepare target and wait for the check mark. If you are unsure which pocket to target, read how to find the protein binding site for docking before moving on.
Want the guided, hands-on version?
Our live Molecular Modeling & MD Simulations cohort bootcamp takes you from zero to running real docking and MD workflows, with a portfolio project for your grad-school applications.
How do I set the search box center and size?
Section 3, “Define search space”, asks for an orthorhombic box: a center (x, y, z) and a size (x, y, z), both in Angstrom. You can type the values or click in the 3D viewer. A single click on a residue adds a box on it; a double click centers the view on that residue. Buttons under the viewer display hydrogen bonds, ionic, cation-pi, hydrophobic and pi-stacking interactions, plus the protein surface, which helps you confirm the box really covers the pocket.
The command-line documentation uses a default box size of 20 x 20 x 20 Angstrom, and its worked example docks dabrafenib into B-Raf (PDB 5hie) with a box center of -48, -3, 72 and that 20 Angstrom box. A sensible starting rule is to center the box on the co-crystallized ligand or the pocket residues and make it large enough that the ligand can rotate freely, then shrink it if the run time estimate is too high. The same geometry logic applies to local Vina, which we explain in detail in how to set the grid box in AutoDock Vina. If you have no idea where the ligand binds, a small box will miss the site; see blind docking with AutoDock Vina for the whole-protein approach.
Which docking parameters should a beginner change?
Section 4, “Select parameters”, differs by engine. These are the values the SwissDock documentation prints:
| Parameter | Engine | Options | Default | What it does |
|---|---|---|---|---|
| Number of RIC | AC | 1 to 8 | 1 | Random Initial Conditions generated; more RIC means more sampling and a longer run |
| Sampling exhaustivity | AC | low (180°), medium (90°), high (60°) | medium | Initial ligand rotation step; a smaller angle gives more poses |
| Cavity prioritization | AC | buried (70), medium (60), shallow (50) | buried | 70 detects mainly deep clefts; 50 also places attracting points in shallow cavities |
| Sampling exhaustivity | Vina | 1 to 64 | 4 | Computational effort of the Vina search |
For a first run, keep the AC defaults. Switch cavity prioritization to shallow (50) only when your pocket is a flat, solvent-exposed groove, such as some protein-protein interface sites. For Vina, note that the SwissDock default of 4 is lower than the default of 8 in the command-line Vina program, so raise it when you want more reproducible top poses. Our article on Vina exhaustiveness and reproducible docking explains the trade-off.
Next, click Check parameters. SwissDock verifies that the box contains attracting points and estimates the run time from box size, exhaustivity, cavity prioritization and RIC. Vina jobs must be estimated under 10 minutes. For AC, the pages disagree: the documentation page says 2 hours, while the FAQ and the command-line guide say 1 hour. Plan for 1 hour.
How do I start the job and get the results back?
In section 5, enter an email address (optional) and a job name (optional), then click START DOCKING. You land on a waiting page with the estimated time, status and a progress bar. The documentation says that if you gave an email you can close the page; otherwise keep it open or bookmark the results link. A STOP JOB button cancels the run.
When the job finishes, the results page shows your query, a 2D drawing of the ligand, a 3D viewer and a table of poses ranked by score. You can show the best member of each cluster or a table per cluster, click a row to view that pose with its interactions, and shift-click several rows to overlay poses. The download icon gives you the full results archive.
How do I read SwissDock scores and output files?
The two engines report different numbers, and mixing them up is the most common interpretation mistake.
Attracting Cavities. The results file is result.dock4. Each pose carries REMARK lines for the cluster number, cluster member, AC score (MEMBER_SCORE), SwissParam score (SP-dG), polar and nonpolar energies, and the intermolecular energy. The FAQ is specific about which to use: the AC score contains all energy contributions and is the preferred score for ranking poses of the same ligand in the same target. The SwissParam score is a fast approximation of binding free energy that can compare different ligand and target combinations, but it should not be used to rank poses of one ligand against one target.
AutoDock Vina. Poses come as vina_out.pdbqt (and vina_out.pdb). Each MODEL has a REMARK VINA RESULT line whose first value is the Vina score in kcal/mol, followed by inter plus intra, inter, intra and unbound energies.
To inspect poses on your own machine, the FAQ gives the ChimeraX commands:
open result.dock4 format swissdock
viewdockxFor Vina output, open the pose file from your results folder (for example open vina_out.pdbqt) followed by viewdockx. Our ChimeraX tutorial for beginners covers the viewer, and the Discovery Studio Visualizer tutorial shows how to turn the best pose into a 2D interaction diagram for your thesis. For what the numbers mean biologically, read how to interpret molecular docking results.
How does SwissDock compare with local Vina and CB-Dock2?
| Criterion | SwissDock (AC 2.0) | SwissDock (Vina) | Local AutoDock Vina | CB-Dock2 |
|---|---|---|---|---|
| Installation | None, browser | None, browser | Install on Linux, macOS or Windows | None, browser |
| Per-job time limit | 1 h (FAQ) | 10 min | Your hardware only | Set by the server |
| Box control | Full center and size | Full center and size | Full center and size | Automatic cavity detection |
| Input preparation | Automatic (SwissParam, CHARMM) | Automatic (Meeko, ADFR Suite) | You prepare PDBQT files | Automatic |
| Batch docking | One ligand per job on the web; scriptable via the command-line API | Same as AC | Built-in batch mode since Vina 1.2 | Web submissions; see the server help |
| Best use | Accurate pose for a known pocket | Quick Vina score without installing | Virtual screening, full reproducibility | Unknown binding site |
| Cite in methods | Bugnon 2024; Röhrig 2023 | Bugnon 2024; Eberhardt 2021 | Eberhardt 2021; Trott and Olson 2010 | Liu et al. 2022 |
The AutoDock Vina 1.2.0 paper (Eberhardt et al., 2021) added batch docking and Python bindings, which is why local Vina wins once you dock more than a handful of ligands. CB-Dock2 (Liu et al., Nucleic Acids Research 2022) reports a success rate of about 85% for pose prediction under 2.0 Angstrom RMSD in its own benchmark, and is the better pick when the binding site is unknown. When you are ready to move off the browser, follow installing AutoDock Vina on Windows or set up WSL2 for Vina and Open Babel. For the wider tool list, see the best free molecular docking software.
How do I check that my SwissDock setup is trustworthy?
Redock before you dock anything new. Pick a PDB entry that already contains a bound ligand, dock that same ligand back into the same pocket with your chosen settings, and check whether the top-ranked pose sits where the crystal ligand sits (the usual acceptance threshold is a heavy-atom RMSD under 2.0 Angstrom). SwissDock’s built-in examples are ready-made test cases: SNJ-1715 (CCD 0m6) in calpain-1 (PDB 2g8e), WRR-99 (r99) in cruzipain (1ewl), and dabrafenib (p06) in B-Raf (5hie). Clicking an example fills in the ligand, target and search space. If redocking fails, change the box or parameters before you trust any novel result.
What should I write in my methods section?
Report the server and engine with citations, the target PDB ID and chains kept, the heteroatoms retained, the ligand source and protonation, the box center and size in Angstrom, and every parameter value. A template: “Docking was performed on the SwissDock web server (Bugnon et al., 2024) using Attracting Cavities 2.0 (Röhrig et al., 2023). The search box was centered at (x, y, z) with dimensions of 20 x 20 x 20 Å; sampling exhaustivity was medium (90°), cavity prioritization was buried (70) and one random initial condition was used. Poses were ranked by AC score.” SwissDock’s citing page lists the exact references for each engine. Our guide on writing the methods section of a docking study covers the rest.
Troubleshooting: common SwissDock errors and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Ligand fails to prepare | Bad SMILES-to-Mol2 (AC) or SMILES-to-SDF (Vina) conversion, or SwissParam could not parameterize the molecule; file with several molecules, no hydrogens or 2D coordinates | Submit a clean single-molecule Mol2 with explicit hydrogens and 3D coordinates; strip salts and counter-ions from the SMILES |
| Target fails to prepare | Errors in the PDB file (missing atoms, odd residue names) | Run ChimeraX Tools > Structure Editing > Dock Prep, save as PDB and upload that file |
| Session cannot be submitted: empty grid | No attracting points inside the box | Move the box center onto the pocket or enlarge the box |
| Session cannot be submitted: time too long | Estimate above the limit (1 h AC, 10 min Vina) | Lower RIC, box size or exhaustivity; for AC use low exhaustivity and buried prioritization; keep one chain and remove unneeded heteroatoms; split a large region into several smaller boxes |
| Structure will not load from PDB ID | Entry exists only as mmCIF | Download the mmCIF, select chains, convert to PDB and upload |
| “Impossible to open a session, the webserver cannot be accessed.” | Server busy or blocked by a firewall | Retry later, try the command-line access, or connect outside an institutional firewall |
| AC and Vina give different top poses | Different sampling and scoring functions | Expected; validate each by redocking, and never compare an AC score with a Vina kcal/mol value |
If you later move to local Vina and hit new errors, our list of AutoDock Vina errors and how to fix them picks up from there.
Frequently asked questions
Is SwissDock free to use?
Yes. The SwissDock 2024 paper describes it as freely available at swissdock.ch, and no account is needed. An email address is optional and only used to notify you when the job ends.
Do I need to register or give an email to get my results?
No. The email field is optional. Without it, keep the waiting page open or bookmark the results link, because that link is how you return to the job.
Can I dock many ligands at once on SwissDock?
The web form takes one ligand per job. SwissDock offers a command-line API using curl (preplig, preptarget, setparameters, startdock, checkstatus, retrievesession) that you can script, but each job still runs under the same time limits. For real virtual screening, use local AutoDock Vina with its batch mode.
Is the SwissParam score a binding free energy?
Only approximately. The FAQ calls it a fast approximation of binding free energy, useful for comparing different ligand and target combinations, and says it should not be used to rank poses of one ligand in one target. Use the AC score for that.
Can SwissDock do covalent docking?
Yes, but only through the command-line access with Attracting Cavities 2.0, not the web form. The command-line guide requires you to prepare the ligand before the target and to name the reacting ligand atom and protein residue.
Can I use an AlphaFold model as the target?
Yes. The advanced target search queries the AlphaFold Protein Structure Database as well as PDBe and SWISS-MODEL. Check model confidence around the pocket before trusting any pose.
Want the guided, hands-on version?
Our live Molecular Modeling & MD Simulations cohort bootcamp takes you from zero to running real docking and MD workflows, with a portfolio project for your grad-school applications.
