Home |  Contact |  Feedback 

Tutorial: Homology Modelling

In this example, we will make a model for the part of the mouse FAS antigen ligand (SWISSPROT entry P41047), which is known to be similar to the tumor necrosis family.

Seeing the length of this page, homology modelling can seem difficult to perform. On the contrary, it is fairly easy, and it will take you more time to read the instructions than to actually perform them. Don't be afraid, you should be through this tutorial in less than 10 minutes.

There are two ways of doing homology modelling:
You can either try to use a fully automatic procedure with SWISS-MODEL (the so called "First Approach Mode"), either use a manually optimised sequence alignment and use the so called "Project Mode".

The "First Approach Mode" lets you paste a primary sequence, and if anything goes well, you will get a model. You can ask to get back a full Swiss-PdbViewer project, which can then be loaded into the workspace for further refinement of the alignment before beiing resubmitted to SWISS-MODEL in Optimise Mode. This is usually the best way to get all the necessary templates already aligned and ready to be used into Swiss-PdbViewer.

The "Project Mode" lets you provide your own manually improved alignment. This is often mandatory to get the best quality models, as the automatic procedure does not place the gaps for loop insertions or deletions in a proper place. This is the mode which will be demonstrated now.

Step by Step

  • First of all, get the SwissProt entry P41047 and rename it FASL.txt (If you have downloaded the tutorial material, it is included)
  • Launch Swiss-PdbViewer and choose the "Load Raw Sequence to Model" item of the "SwissModel" Menu to load the file FASL.txt The protein is built as a long perfect alpha helix.
  • Choose the "Swiss-Model" item of the "Preferences" menu, and enter your name, e-mail address, and select your favourite web browser.
  • Now that everything is set-up properly, choose the "Find Appropriate ExPDB templates" item of the "SwissModel" menu. This will launch automatically Web browser and fill a form containing the primary sequence of the protein to model in a FastA format.
  • Click the submit button and wait.

    A page containing the best available templates appears. In this case, 1TNRA, and 2TUNA.
  • Click on the 1TNRA button. If you have configured Swiss-PdbViewer as an helper application for the mime-type chemical/pdb, it will automatically be loaded in your workspace (Mac only; PC users should save the molecule on their hard disk, and then either drag the file onto Swiss-PdbViewer main window, or open the file using the "Open PDB" item of the "File" menu).
    Note: If you have downloaded the tutorial package, you can simply load 1TNRA.pdb with the usual "Open" item of the "File" menu.
  • Repeat the processus with 2TUNA.pdb
  • Click on the "visible" checkbox located at the top of the Control Panel while FASL is the active layer, and hit the "=" key of the numerical keypad to recenter the view. The big alpha helix disappears.
  • Now choose the "Show sequence alignment" item of the "Display" menu and click on the "2TUNA" name to make it active (look at how the control panel, that reflects the active layer, has been updated).
  • Choose the "Magic Fit" item of the "Fit" menu.
    A dialog appears with two pop-up at the bottom left. They indicate that layer 1TNRA is the reference, onto which 2TUNA will be mapped at best.
    Just hit the OK button.

    1TNRA and 2TUNA should now be superimposed
  • Choose the "Generate structural alignment" item of the "Fit" menu. This will align matching residues of 2TUNA and 1TNRA in the Align window.Indeed, Magic Fit will only fit the protein in 3D space, but doesn't care about the alignment.
  • The Fit of 2TUNA onto 1TNRA could be improved a little. Instead of using "Magic Fit", we could have used the "Iterative Magic Fit" Tool. Do it now. As you can see, the fit is slightly improved. In this case, the structural alignment is directly computed.
    Note: When you use this tool with more than two reference proteins, the "Iterative Magic Fit" Tool will disrupt the structural alignment , and you have to regenerate it as mentionned earlier.
  • Click on the FASL name to make this layer active, and use again the "Magic Fit" option of the "Fit" menu. This time, the MagicFit will not prompt you to choose which layer should be matched onto which other. As it is a raw sequence which is the active layer, it will automatically assume that a primary sequence alignment should be used.
  • Scroll in the alignment window. You will notice that only the C-terminal domain can be aligned onto our reference sequences. This is because the first domain is a transmembrane domain that has no counterpart in the selected templates.
  • Click on the "visible" check box of the Control Panel, to show the sequence we want to model, and choose the "Update threading now" item of the "Swiss-model" menu (this item is not accessible if the "Update Threadfing Display automatically" item is enabled; which is the case by default).
  • While you are here, enable the "Update threading display automatically" item of the "Swiss-model" menu if it is not already done.

FASL should now be "wrapped" around 1TNRA.

  • Now, colour the 1TNRA protein in yellow, and the 2TUNA protein in green (this is done with the control panel, by option-clicking on any colour box located at the right of the panel; be sure that the protein you want to colour is the one displayed in the control panel).

Threading FASL onto 1TNRA

  • Scroll the align window up to the first big gap and select the region starting from GQSCN and finishing with LNHK. To select also corresponding amino acids of 1TNRA and 2TUNA, hold the shift key while you do so (or the right mouse button on the PC).

The alignment window should now look approximately this:


  • Hit the "Return" key, and hit the "=" key (right mouse button on PC) to recenter the view

The display window should now look approximately like this:


You can see that there is a long "false" bond, corresponding to the gap.

  • Should you want to modify the location of the gap, all you need to do is to make sure the align window is active and select some amino-acids flanking the gap (for example NQP) and hit the left or right arrows keys to "slide" the selected residues at the other part of the gap. You can also select a residue and use the "space" or "backspace" keys to add or remove gaps at the selected residue.
    Note: To insert a gap in the template sequences, click on the first template and hit the space key. A gap will be added in all the templates. To add a gap or modify the structural alignment, you have to hold down the "Control" key while hitting the space key.
  • The alignment was correct. Put everything back as it was.

Now we will demonstrate the use that can be done of mean force potential to help you thread correctly a protein. Note that this tool should be used with caution.

  • Make sure the current layer is FASL, and click on the little black arrow located at the right of the question mark of the Align Window. The window expands, and displays a curve depicting how each residue likes its surrounding. If a residue is "happy", its energy is below zero, whereas an unhappy residue will have an energy above the zero axis. This is the mean force potential energy, computed accordingly to a "Sippl-like" method [see Ref. 6].
  • Click on the "smooth" text, and set a smoothing factor of 1. It means that the energy off each residue will be the average of itself plus the energy of 1 flanking residue on each side.
  • Enable the "Auto Color by Threading Energy" item of the "Swiss-Model" menu.
  • Click on the "E= -11.9" text, this will recompute the energy for the current layer.


  • Select residues NQPL...NYCT, and hit the left arrow key. As you can see, the curve changes, and the energy is now higher (-8.3 instead of -11.3).


  • Slide once more, and observe how the energy incresases again. This means that the fragment is not very happy, and you should go back to the initial position.
    Note: this tool provides hints and should be used in conjunction with the analysis of the hydrophobicity of residues, the overall structure, and common sense! It works better for displacement of large fragments than for just one or two residues, as it analyses the mean force potential for the whole protein.

Validating your alignment and submitting a modelling request

  • You can evaluate how good your threading is by using the "select aa making clashes" items of the "Select" menu. This will allow you to quickly focus on potentially problematic regions (holding the option key while you select these menu will not only select aa but also draw the clashes in pink on the screen). You can then choose the "Fix Selected Sidechains" item of the "Tools" menu, which will browse the rotamer library to choose the best rotamer, exactly as during a mutation process. By repeating the "Select aa making clashes" process, you should see that far less amino-acids are making problems. If not, this is probably a good clue that your threading is incorrect.
    Important Note: Actually fixing the sidechains is just for you to evaluate prior to submitting the request whether the model will really be very bad or not. It will have absolutely no incidence onto the model building, as sidechains are reconstructed anyway. This reconstruction process is useful if - and only if - you intend to directly use an external force field.
  • When everything seems okay, you can submit a modelling request to Swiss-Model simply by choosing the "Submit modelling request" of the "Swiss-model" menu. By default, you will get a Swiss-PdbViewer project file, with your model aligned onto the templates you used, and ready for comparison. The project comes back at the e-mail address you have provided.