top of page


BioCodeKb - Bioinformatics Knowledgebase

MODELLER is used for homology or comparative modeling of protein three-dimensional structures. The user provides an alignment of a sequence to be modeled with known related structures and MODELLER automatically calculates a model containing all non-hydrogen atoms. MODELLER implements comparative protein structure modeling by satisfaction of spatial restraints and can perform many additional tasks, including de novo modeling of loops in protein structures, optimization of various models of protein structure with respect to a flexibly defined objective function, multiple alignment of protein sequences and/or structures, clustering, searching of sequence databases, comparison of protein structures, etc. The program is used with a scripting language and does not include any graphics. It is written in standard FORTRAN 90 and will run on UNIX, Windows or Mac computers.

The program models the backbone using a homology-derived restraint method, which relies on multiple sequence alignment between target and template proteins to distinguish highly conserved residues from less conserved ones. Conserved residues are given high restraints in copying from the template structures. Less conserved residues, including loop residues, are given less or no restraints, so that their conformations can be built in a more or less ab initio fashion. The entire model is optimized by energy minimization and molecular dynamics procedures.

Due to Modeller's popularity, several third party GUIs for MODELLER are available:

  • EasyModeller is freeware and is one of the earliest third party GUIs for Modeller. Recent version (EasyModeller 4.0) supports Linux and Windows operating system.

  • UCSF Chimera has a simple interface to Modeller.

  • PyMod is a free and open-source plugin for PyMOL and has a comprehensive interface for Modeller. It supports Linux, Windows and macOS.

  • MaxMod is a standalone GUI for MODELLER on Windows.


Preparing input files

There are three kinds of input files: Protein Data Bank atom files with coordinates for the template structures, the alignment file with the alignment of the template structures with the target sequence, and Modeller commands in a script file that instruct Modeller what to do.

Atom files: Each atom file is named code.atm where code is a short protein code, preferably the PDB code

Alignment file: One of the formats for the alignment file is related to the PIR database format; this is the preferred format for comparative modeling

Script file: Modeller is a command-line only tool, and has no graphical user interface; instead, we must provide it with a script file containing Modeller commands. This is an ordinary Python script.

Running Modeller

To run Modeller with the script file, do the following:

1. Open a command line prompt: 

On Windows: Click on the ‘Modeller’ link on our Start Menu. This will give us a Windows Command Prompt, set up for us to run Modeller.

2. Change to the directory containing the script and alignment files we created earlier, using the ’cd’ command.

3. Run Modeller itself by typing the following at the command prompt: python > model-default.log. A number of intermediary files are created as the program proceeds. After about 10 seconds on a modern PC, the final 1fdx model is written to file 1fdx.B99990001.pdb. Examine the model-default.log file for information about the run. In particular, one should always check the output of the alignment.check() command.


Need to learn more about MODELLER and much more?

To learn Bioinformatics, analysis, tools, biological databases, Computational Biology, Bioinformatics Programming in Python & R through interactive video courses and tutorials, Join BioCode.

bottom of page