iMODS Tutorial: Normal Mode Analysis Step by Step

iMODS normal mode analysis is a free web server (imods.chaconlab.org) that predicts the large, collective motions of a protein or complex from a single structure. You upload a PDB file with complete N, CA and C backbone atoms, pick an atomic model and elastic network, and within the 10-minute limit get mobility, deformability, eigenvalue, variance, covariance and elastic network plots.
Many MSc theses now include an iMODS figure for a docked complex, and many of them describe it wrongly: a low eigenvalue called “stability”, a deformability peak called “binding”, a covariance map pasted with no explanation. This guide from the StemSkills Lab team (more than ten years in structural bioinformatics, drug design and molecular modeling) walks through a real submission, explains what each panel measures, and shows where normal mode analysis stops and a proper molecular dynamics run has to take over. It fits in our computational biology skills roadmap just before you start full simulations.
What is normal mode analysis, and what does iMODS add?
Normal mode analysis (NMA) treats the structure as a set of atoms joined by springs (an elastic network) and solves for the independent vibrations of that network around the input conformation. The lowest-frequency modes are the slow, large, collective motions such as hinge bending and domain closure, which are often the functionally interesting ones.
iMODS, described by López-Blanco, Aliaga, Quintana-Ortí and Chacón in Nucleic Acids Research (2014), does this in internal coordinates: the variables are dihedral angles rather than Cartesian positions. The authors explain that moving atoms along straight Cartesian lines can distort bond lengths and angles, while the internal coordinate method keeps covalent geometry implicitly. It is also fast: the paper reports that computing the first 50 modes of a 1000 amino acid protein takes only three seconds on their server. In the authors’ words, “The server is free and open to all users with no login requirement.” Europe PMC lists more than 600 articles citing the 2014 paper (checked October 2026), which is why reviewers will expect you to read its outputs correctly.
What do I need before I submit a structure?
The iMODS home page states the input rules plainly:
- Format: atomic coordinates in PDB format (3.x). Not PDBQT, not mmCIF.
- Backbone: atoms N, CA and C are mandatory for every residue, because they define the dihedral angles the method moves.
- Time: maximum execution time is 10 minutes. For longer runs the page points you to the standalone iMod tool, whose source the Chacón lab publishes on GitHub.
- Fetching from the PDB: instead of uploading, type
ID:Chain(s):Model#. The official tutorial uses4ake:Afor chain A of adenylate kinase,1sx4:ABCDEFHfor several chains,1sx4:*for all chains, and2lt5:A:18for model 18 of an NMR entry. If you give no model number, the first model is used.
For your own homology model or docked pose you will upload a file, so the preparation steps below matter more than any setting on the form.
How do I prepare a docked complex for iMODS?
AutoDock Vina writes poses as PDBQT, and the pose file contains only the ligand. You need one PDB 3.x file holding the receptor and the chosen pose.
- Extract pose 1 and convert it to PDB with Open Babel, where
-fand-lset the first and last molecule to read:obabel docked_out.pdbqt -O pose1.pdb -f 1 -l 1 - Merge receptor and ligand into a single file, keeping only coordinate records:
grep -E '^(ATOM|HETATM)' receptor.pdb > complex.pdbgrep -E '^(ATOM|HETATM)' pose1.pdb >> complex.pdbecho END >> complex.pdb - Open complex.pdb in PyMOL or ChimeraX before uploading. Check that the ligand sits in the pocket, that it has a residue name and a chain ID, and that no atom names are duplicated.
- Run the apo receptor too. A single complex run cannot tell you what the ligand changed. Submitting receptor.pdb alone with identical settings gives you a baseline for every plot.
If you are unsure your pose is worth analysing at all, read how to interpret molecular docking results first. NMA of a wrong pose is still a wrong pose.
Which atomic model and elastic network should I choose?
The Basic tab asks only for the model; the Advanced tab exposes the rest. These are the documented options from the official iMODS tutorial (PDF):
| Setting | Options | Documented default or rule | When to change it |
|---|---|---|---|
| Atomic model | CA, C5, HA | CA = one atom per residue; C5 = N, CA, C plus CB and one side chain pseudo-atom; HA = all heavy atoms (selected automatically for nucleic acids) | Use HA when a ligand should take part; CA for very large systems |
| Number of modes | 1 to 100 | 20 | Fewer modes run faster; the first 10 usually carry the story |
| Fixed angles ratio | 0 to 1 | Random fraction of backbone phi/psi frozen; the tutorial notes that removing up to 50% “does not affect much” and speeds things up a lot | Set 0.5 if an HA run risks the 10-minute limit |
| Elastic network | Sigmoid, Tirion, Hinsen, edNMA | Sigmoid (inflexion point 3.8 Å); Tirion cutoffs 10 Å (CA), 7 Å (C5), 5 Å (HA); Hinsen and edNMA are CA only | Keep Sigmoid unless you are reproducing a paper |
| Clusters / Deform. | Yes or No | The two slowest calculations | Switch Clusters off for speed, but keep deformability if you plan to report it |
For a docked complex, the HA model matters. In the CA model a small molecule has no alpha carbon to represent it, so it cannot contribute springs the way protein residues do. The paper’s own adenylate kinase example was run with all heavy atoms “including the ATP/Mg2+ ligand”, and the authors state the system “can also handle nucleic acids and small rigid ligands”. Write down the model and network you used: a methods section that just says “iMODS was used” cannot be reproduced.
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 run the job, step by step?
- Open imods.chaconlab.org and choose the Basic or Advanced tab.
- Upload complex.pdb (or type a PDB fetch string such as
4ake:Afor a practice run). - Choose the atomic model (HA for a complex) and, on Advanced, the number of modes, fixed angles ratio and elastic network.
- Pick a JSmol display mode. The tutorial recommends HTML5 for small systems and notes that the Java mode is faster but needs Java enabled.
- Optionally give an email address and a job name, then submit. You are redirected to the Results tab; note the job ID so you can retrieve the results later.
- Download the full results archive. The paper confirms you can download modes, structures, animations, covariance maps, mobility and deformability profiles, and affine arrows and clusters.
Practise first on 4ake:A, the adenylate kinase chain (214 residues) used in the official tutorial, so you know what sensible output looks like before you trust your own.
How do I read each iMODS plot?
The “More information” page of the results holds the plots. Here is what each one measures, based on the tutorial and the 2014 paper, and what you may honestly say about it.
Mobility (NMA B-factors)
The NMA-derived B-factors give the relative amplitude of each atom’s displacement around the equilibrium structure, plotted against the experimental B-factors from the PDB file. The tutorial notes that the two “are very similar” in general. Disagreement can be informative: in the paper’s SERCA example the crystallographic B-factors clearly underestimated the mobility of the N domain because of crystal packing. For a homology model or docked file the B-factor column may hold zeros or another program’s scores, so the “experimental” curve means nothing there. Say so rather than comparing against it.
Deformability
Deformability, from Kovacs, Chacón and Abagyan (Proteins, 2004), is the spatial gradient of atomic displacements summed over all modes. High values mark places where the chain bends easily, such as hinges and inter-domain linkers; low values mark rigid parts. A deformability peak near your ligand means that region is flexible in the elastic network. It does not mean the ligand binds well, and it is not evidence of an induced fit.
Eigenvalues
Each mode has an eigenvalue, and the tutorial describes this plot as showing “the relative modal stiffness”. The paper states that each mode fluctuates with amplitude inversely proportional to its eigenvalue. A lower eigenvalue means a softer, easier motion. Students often quote the first eigenvalue as a “stability score” for a complex. Because elastic network energies have arbitrary units, compare eigenvalues only between runs with identical settings (for example apo against complex), never against a number from another paper.
Variance
Variance is the fraction of the total motion each mode accounts for, shown per mode and cumulatively. In the paper’s SERCA example about 80% of the variance came from the first seven modes. If your first few modes carry most of the variance, describing those modes covers most of the predicted motion.
Covariance map
The covariance matrix shows which residue pairs move together (correlated), independently (uncorrelated) or in opposite directions (anti-correlated). Read the colour key printed on your own results page, then look for blocks: a correlated block between two domains suggests they move as one unit, while an anti-correlated block suggests opening and closing. If you also run MD, the same idea appears in the PCA and essential dynamics of a GROMACS trajectory, which is the fair comparison.
Elastic network (linking matrix)
This plot shows the springs that define the model: each point is a pair of atoms joined by a spring. It is mostly a sanity check. A ligand that shows no springs to the protein in an HA run has not been coupled to the pocket.
Animations and affine arrows
The 3D viewer animates each mode, and the affine-model arrows summarise a mode as a few curved arrows on rigid clusters. For a figure, a snapshot of mode 1 with arrows, plus one sentence on what moves, usually beats six plots with no interpretation.
Does NMA replace a molecular dynamics simulation?
No. NMA is a harmonic approximation around one structure with no solvent, no temperature and no time axis. It predicts the directions a structure can move easily, not whether a ligand stays bound. Use it to complement MD, not to replace it.
| Question | iMODS NMA | GROMACS MD |
|---|---|---|
| Input | One static structure | Solvated, parameterised system |
| Physics | Elastic network springs, harmonic | Full force field, explicit water, thermostat |
| Time axis | None | Real simulated time (ns to µs) |
| Typical cost | Seconds to minutes on a free server | Hours to days on a GPU |
| Tells you about ligand stability | No | Yes, through ligand RMSD, contacts and free energy estimates |
| Best use | Hinges, domain motions, a quick flexibility check | Binding stability, conformational sampling |
A sound thesis workflow is: dock, check the pose, run iMODS on apo and complex for a quick view of collective motion, then run a protein-ligand MD simulation in GROMACS and analyse it with RMSD and RMSF. The full learning path is in our guide to learning molecular dynamics with GROMACS.
What goes wrong, and how do I fix it?
- Job fails or the structure looks broken: residues with a missing N, CA or C atom. Search your file for incomplete residues, rebuild them (for example with PDBFixer or MODELLER), or trim terminal residues that have no full backbone.
- You uploaded a PDBQT: the extra charge and atom-type columns are not PDB 3.x. Convert with Open Babel as shown above.
- The ligand vanished or has no springs: you used the CA or C5 model, or the ligand records are malformed. Use HA and check the ligand has a residue name and chain ID.
- The job hits the 10-minute limit: set the fixed angles ratio to 0.5, request fewer modes, turn off Clusters, or fall back to the CA model for the protein-only run. For still larger systems use standalone iMod.
- The wrong chain or model was analysed: with fetch strings, unspecified models default to the first one. Spell out
ID:Chain:Model. - Apo and complex plots look identical: often the honest result. A small ligand rarely changes an elastic network much. Report it instead of over-reading tiny differences.
Frequently asked questions
Is iMODS free to use?
Yes. The 2014 Nucleic Acids Research paper states that the server is free and open to all users with no login requirement, at imods.chaconlab.org.
How should I cite iMODS in my thesis?
Cite López-Blanco JR, Aliaga JI, Quintana-Ortí ES, Chacón P. iMODS: internal coordinates normal mode analysis server. Nucleic Acids Res. 2014;42:W271-6. If you report deformability, also cite Kovacs, Chacón and Abagyan, Proteins 2004;56:661-8. State the atomic model, elastic network and number of modes you used.
Can iMODS analyse protein-DNA or protein-RNA complexes?
Yes. The server handles proteins and nucleic acids, and the HA model is selected automatically for nucleic acids. The precomputed examples include a nucleosome with histones and DNA.
Does a low eigenvalue mean my docked complex is stable?
No. The eigenvalue measures how stiff a mode is in an elastic network, not binding stability. Compare eigenvalues only between runs with identical settings, and use MD for stability claims.
Can iMODS show the transition between two conformations?
Yes. The Morphing tab builds a feasible pathway between an initial and a target structure, and the two do not need 100% sequence identity. The tutorial warns that low homology may lead to artifacts.
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.
