SwissDock Tutorial: Dock a Ligand to a Protein Online
Skip to content

SwissDock Tutorial: Dock a Ligand to a Protein Online

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.

Join the waitlist (free) →

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:

ParameterEngineOptionsDefaultWhat it does
Number of RICAC1 to 81Random Initial Conditions generated; more RIC means more sampling and a longer run
Sampling exhaustivityAClow (180°), medium (90°), high (60°)mediumInitial ligand rotation step; a smaller angle gives more poses
Cavity prioritizationACburied (70), medium (60), shallow (50)buried70 detects mainly deep clefts; 50 also places attracting points in shallow cavities
Sampling exhaustivityVina1 to 644Computational 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
viewdockx

For 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?

CriterionSwissDock (AC 2.0)SwissDock (Vina)Local AutoDock VinaCB-Dock2
InstallationNone, browserNone, browserInstall on Linux, macOS or WindowsNone, browser
Per-job time limit1 h (FAQ)10 minYour hardware onlySet by the server
Box controlFull center and sizeFull center and sizeFull center and sizeAutomatic cavity detection
Input preparationAutomatic (SwissParam, CHARMM)Automatic (Meeko, ADFR Suite)You prepare PDBQT filesAutomatic
Batch dockingOne ligand per job on the web; scriptable via the command-line APISame as ACBuilt-in batch mode since Vina 1.2Web submissions; see the server help
Best useAccurate pose for a known pocketQuick Vina score without installingVirtual screening, full reproducibilityUnknown binding site
Cite in methodsBugnon 2024; Röhrig 2023Bugnon 2024; Eberhardt 2021Eberhardt 2021; Trott and Olson 2010Liu 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

ProblemLikely causeFix
Ligand fails to prepareBad 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 coordinatesSubmit a clean single-molecule Mol2 with explicit hydrogens and 3D coordinates; strip salts and counter-ions from the SMILES
Target fails to prepareErrors 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 gridNo attracting points inside the boxMove the box center onto the pocket or enlarge the box
Session cannot be submitted: time too longEstimate 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 IDEntry exists only as mmCIFDownload 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 firewallRetry later, try the command-line access, or connect outside an institutional firewall
AC and Vina give different top posesDifferent sampling and scoring functionsExpected; 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.

Join the waitlist (free) →

Think you know Molecular Docking?
Take the free StemSkills assessment and earn a verifiable certificate you can download and add to your LinkedIn profile.
Start the free assessment

Keep going

Protein-Ligand Interaction Energy in GROMACS (Rerun Guide) Compute Coulomb and LJ protein-ligand interaction energy in GROMACS with energygrps, mdrun -rerun and gmx energy. Follow the… gmx make_ndx Tutorial: Index Groups for Protein-Ligand MD Build Protein_LIG, ligand heavy-atom and pocket index groups with gmx make_ndx, script them, and fix the grompp group… Set Up WSL2 for GROMACS, Vina and Open Babel Install WSL2 on Windows and get GROMACS, AutoDock Vina and Open Babel running in one Ubuntu shell. Follow…
See live workshops