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.
The concept of modelling is to find one or more suitable template(s) (at least 20-25% aa similarity) with known structures, align the templates, align the sequences of interest with the templates and thread it onto the template structure. The last step is energy minimisation which is done by a computer program.
In this exercise we'll use the Swiss PDB viewer (Deep View) as it's available for free and also in a version for Microsoft Windows (which most of you probably use on your own machines).

Template alignment

  • First of all, get the FASTA file for SwissProt entry P41047 and rename it FASL.txt
    (Start Netscape from Toolchest - 'remote' menu. Follow the SwissProt link on www.expasy.org. After retrieving the P41047 entry you can get the sequence in FASTA format if you follow the link in the bottom right corner.)


  • Launch Swiss-PdbViewer from a genome prompt with "spdbv" (on Toolchest go 'ether' and choose genome) 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 as the FASTA file contains no structural information.


  • Choose the "Swiss-Model" item of the "Preferences" menu, and enter your group name and group e-mail address (phdxx@cbs.dtu.dk).


  • Now that everything is set-up properly, choose the "Find Appropriate ExPDB templates" item of the "SwissModel" menu. This will automatically launch a 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. You should choose 1TNRA and 2TUNA for the purpose of this exercise.

  • Download the files 1TNRA and 2TUNA and load them with "Open PDB File ..." from the "File" menu.


  • Open the Control Panel if it's not already open ("Wind" menu). 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 "Sequence Alignment" item of the "Wind" 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 "Magic Fit" from the "Fit" menu.
    A dialog appears with two pop-up at the bottom left. Select layer 1TNRA as the reference, onto which 2TUNA will be mapped at best.
    Just hit the OK button.

    1TNRA and 2TUNA should now be superimposed

  • To improve the fit choose "Best (with Struct. Align)" from the "Fit" menu. If the structures become invisible at any time, try pressing "=" to center the view on the active layer.


  • From the "Color" menu, choose "Layer". 2TUNA and 1TNRA will now have different colours and be easily distinguishable. Turn them about and verify that they are indeed superimposed. When done, put the CPK colours back using the "Color" menu. This has to be done on both layers (you can switch layer by pressing and holding the mouse button over the name in the Control Panel or using the Sequence Alignment as before).


  • Click on the FASL name to make this layer active, and use the "Magic Fit" option of the "Fit" menu. This time, the fit 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 Threading 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 shift-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. Alternatively, use "Color" - "Layer" as before and then CPK colour FASL.).

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.
  • Hit the "Enter" key, and hit the "=" key to recenter the view.

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 SCN) 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 white arrow located in the left side 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 according to a "Sippl-like" method.
    [Sippl, J.M. (1990)
    Calculation of Conformational Ensembles from Potentials of Mean Force: an approach to the knowledge based prediction of local structures in globular proteins.
    J. Mol. Biol. 213,859-883]


  • 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= " text, this will recompute the energy for the current layer.


  • Select some residues (5-8), and move them with the arrow keys. As you can see, the curve changes, and the E value changes.


  • When you're done playing, put everything back the way it was.
    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 "aa Making Clashes" and "aa Making Clashes with Backbone" items of the "Select" menu. This will allow you to quickly focus on potentially problematic regions. 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.


  • Another handy tool for locating areas causing trouble is the "Ramachandran Plot" in the "Wind" menu. A Ramachandran plot visualises the torsion angles of the peptide backbone and almost all residues of natural proteins are found within the areas denoted on the plot. An exception is glycine and alanine residues. Problems with the peptide backbone are quickly spotted with this tool. Click here for more information on accuracy determination.


  • 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.


  • If there's time left you can always experiment with your own favourite protein ....