Bodil Tutorial
This tutorial is composed of three parts, in which the user will go through the very basics of Bodil. First,
four protein crystal structures are searched from the Protein Data Bank and then one of these structures is
viewed in Bodil. Second, structures are superimposed and a structure-based sequence alignment is visualized.
Finally, a multiple sequence alignment is done with program MALIGN. Based on this alignment, a homology model
is made using the program HOMODGE, which is implemented in Bodil.
Some instructions for the tutorials:
[MENU] stands for a menu option in a window that is indicated in context.
[DIALOG] means that a dialog box opens and the user should select from this box.
LMB = left mouse button
MMB = middle mouse button
RMB = right mouse button
The default mouse button in this tutorial is LMB. Therefore, if no other mouse button is indicated,
the user should use the LMB. The tutorials are recommended to be compleated in the correct order, from 1 to 3.
NOTE: All the files that will be needed during the Bodil Tutorial are provided with the tutorial
package.Therefore, it is not obligatory to fetch the files from the www, however, instructions on how to perform
the database searches will also be provided.
Tutorial 1
Searching structures from Protein Data Bank
In the world wide web, go to page http://www.rcsb.org/pdb/.
This is the main page for Protein Data Bank.
Enter keyword integrin into the search box and start the search.
On the result page, search the structure with PDB code 1AOX. To see the
details of this structure, click { EXPLORE }.
To download the structure file, click the link Download/Display File
. In the Download the Structure File section, select PDB Format:
no compression. Save the file in text format and with name 1AOX.pdb.
Finally, search for the integrin structures with PDB codes: 1CQP,
1JLM and 1PT6, and save these structures the same way as before.
Visualizing a structure in Bodil
The Bodil Main Window is the main interface for the program. All the other modules
can be started from this window. Open the Graphics (3Dview) window from [MENU] View -
3Dview. Open also the Structure Editor window from [MENU] View - StructureEditor.
- Read a structure into Bodil
- In Bodil Main Window [MENU] File - Open.
- [DIALOG] Click Choose.
- Select 1CQP.pdb and click open. Bodil now reads in the structure. You can see the name of
the structure in the upper left corner of the StructureEditor window.
- Close the Open File Dialog by clicking OK.
- In the StructureEditor click the name of the structure (1CQP). A hierarchical
tree of the structure opens on the right side of the StructureEditor. Look through
the different parts of the structure tree. (By clicking the + sign, you can open the different
parts of the tree structure.) You can see that the two peptide chains of the protein
are listed residue-by-residue and even atom-by-atom of each residue. The secondary structure
is listed too, as well as any ligands and water molecules.
- View the structure
- Look at the 3Dview window. Do you see a structure there? If not, choose
3Dview [MENU] Mouse - Center and double click with the LMB in the
3Dview window. Now the structure is centered. Put the mouse back to "picking" mode
by choosing 3Dview [MENU] Mouse - Pick.
- Try to rotate the structure by pushing down the RMB on top of the 3Dview window
and simultaneously moving the mouse. Try also zooming by pushing down the MMB and the RMB at the same
time and moving the mouse up and down. You can move the structure with the MMB. By pushing down the LMB
and the RMB and moving the mouse up and down, you can rotate the structure around the z-axis. With
the LMB you can select atoms (one click) or residues (double click). By pushing down the LMB on a
selected atom/residue and simultaneously dragging the mouse you can choose all atoms inside
a sphere with certain radius (indicated in Ångströms). To unselect everything,
double click somewhere in the black 3Dview window.
NOTE: For definitions of different mouse functions and menus in the
3Dview window consult the help pages: 3Dview [MENU] Help - Show.
- View the structure as a C-alpha trace and according to the secondary stucture
- Select the whole 1CQP protein structure by clicking with the LMB on the protein name on the
right side of StructureEditor. The structure tree of the protein as well as
its structure in the 3Dview window will be highlighted by the selection color.
- In the 3Dview choose [MENU] Render - Atom - None and then
[MENU] Render - Chain - Ca-trace.
- Unselect all atoms by double clicking with the LMB somewhere in the black
3Dview window.
- To view the protein by secondary structure go to 3Dview
[MENU] Render - Chain - Secondary (Remember, the peptide chain(s) must be selected!).
The StructureEditor of Bodil is divided into two panels: left and right.
The left panel contains a list of protein structures, sequences and alignments that currently are read
into Bodil.
The right panel shows the hierarchical tree of each individual structure or sequence. It is
only from the right panel that the user is able to select structure(s) [or part of structure(s)] for
e.g. rendering, coloring and other options.
|
- Color the molecule by secondary structure
- In the StructureEditor select the alpha-helices by clicking them with the LMB.
- Go to StructureEditor [MENU] Display - Set color
- Pick a color and click OK.
- Unselect helices by choosing from StructureEditor [MENU] Select - Clear
- Color all beta-strands with some other color.
- Unselect strands to see the colors.
- To set the default colors back, select the protein (or parts of it) and choose
StructureEditor [MENU] Display - Default color.
NOTE: In Bodil, the default color for alpha-helices is red while for beta-strands
it is blue.
- Display the ligand and the metal ion
- Select ligands (lig_) in the StructureEditor tree.
- Go to 3Dview [MENU] Render - Atom - Line. The two ligands and the two
metal ions should become visible.
- You can also display the ligand as Stick, BallStick and CPK. (To find out where the metal
ions are located, use the CPK mode to visualize them.)
- Calculate a Connolly molecular surface
- Select the ligands.
- In the 3Dview choose [MENU] Add - Surface.
- Bodil now calculates a Connolly molecular surface for the ligands. This may take a while,
depending on the power of your computer. The calculations are ready when you can
see a surface over the ligands.
- Choose 3Dview [MENU] Render - Shape - Opaque Surf.
- For a transparent surface choose 3Dview [MENU] Render - Shape - Transp Surf.
or Wire.
- To undisplay the surface choose 3Dview [MENU] Render - Shape - None.
- Finally, show all the amino acids as lines. (Select the whole structure,
3Dview [MENU] Render - Atom - Line and [MENU] Render - Chain - None.)
NOTE: In Bodil, it is also possible to calculate several other surfaces
for the molecule. For more information, see the help page in StructureEditor
[MENU] Help - Show.
- Hide the structure or parts of it
- To hide the whole structure of 1CQP, click with the RMB on the name of the protein in the left
panel of the StructureEditor. A circle before the name indicates that the
structure is hidden for the moment.(Click again with the RMB and the structure becomes visible.)
- To hide a part of a structure, first select the region(s) to be hidden and then choose
StructureEditor [MENU] Display - Hide. Accordingly, [MENU] Display - Show makes
the hidden part of the structure visible again.
- Label residues
- Select the residue that you want to label.
- Choose 3Dview [MENU] Label - Res Name.
- To unlabel, choose 3Dview [MENU] Label - None. (Remember, you have to
select the individual residue/residues to unlabel them.)
- Measure a distance between atoms
- Select in 3Dview [MENU] Mouse - Distance (The mouse pointer changes
to a ruler).
- Select with the LMB the atoms between which you want to measure the distance. (When selected there
will be a white square on top of the atom.)
- A dotted line is drawn between the measured atoms and the number indicates the distance
in Ångströms.
- To clear the measures, 3Dview [MENU] File - Clear Measures.
- 3Dview [MENU] Mouse - Pick brings your mouse back to the "picking" mode.
- Delete atoms by type, residues or whole structures
- To delete atoms by type, go to StructureEditor
[MENU] Select - Atoms by type. In Dialog box, enter the desired atom type, e.g. Mg. To delete,
go to StructureEditor [MENU] Delete - Atom.
NOTE: This function is handy e.g. for deleting all hydrogen atoms.
- Generally, deletions are performed with the MMB in Bodil. Click in the
StructureEditor with the MMB on the structure (or part of it) that you want
to delete, and answer OK to the question that follows.
- Save a structure or take a snapshot of the structure
- To save a structure, first choose the structure (or part of it). Then in Bodil
MainWindow choose [MENU] File - Save and give the name you want to save the
structure with.
NOTE! The structure must be selected on the right panel of the
StructureEditor.
- To take a snapshot of what is shown in the 3Dview window, choose
3Dview [MENU] File - Print.
Tutorial 2
In this tutorial you will learn how to superimpose structures and how to visualize sturcture-based sequence
alignments.
- Read in a structure
- Open the StructureEditor and 3Dview windows.
- Read in structures with the PDB codes 1JLM and 1CQP. (If you continue from tutorial 1, you
should already have the 1CQP structure in Bodil. However, if you have edited this structure,
delete it and read the structure in again.)
- Superimpose the structures
- Go to the Bodil MainWindow [MENU] Tools - Superimpose and choose Vertaa.
- In StructureEditor select the pepA chain of the 1CQP structure.
In [DIALOG] click the Select-button next to "Use this chain as fixed target".
- Unselect pepA of 1CQP (For example, StructureEditor [MENU] Select - Clear)
- Select the peptide chain of the 1JLM structure. In Superimpose atoms [DIALOG] click the other
Select-button next to "to superimpose these chains".
- Now you should have "1CQPA" as "Use this chain as fixed target" and you should have
number 1 next to "to superimpose these chains".
- Click "OK" and the two structures should become superimposed in the 3Dview
window.
NOTE: If there is number 2 next to "to superimpose these chains" it indicates that
the target chain was not unselected. Vertaa will, however, work properly.
- Metal-binding residues
- Unselect the 1JLM structure.
- Select the metal-binding residues in 1CQP pepA structure (SER139, SER141 and ASP239).
(You can select the residues either in the StructureEditor or by double clicking
them in the 3Dview window.
- Show these residues as Sticks and keep them selected.
- Structure-based sequence alignment
- Open an Alignment Editor from Bodil MainWindow
[MENU] View - AlignmentEditor.
- Choose from AlignmentEditor [MENU] File - Get Alignment. In [DIALOG]
select /STR_1CPQA_1JLM_1 (the name is highlighted when selected) and click OK.
- The structure-based sequence alignment between 1CQP and 1JLM structures opens in the
AlignmentEditor.
- Notice that the metal-binding amino acids of 1CQP are selected in the AlignmentEditor
too. (You can scroll across the alignment with the two arrows at the bottom of the editor.)
Select the three metal-binding residues in the the 1JLM structure by clicking
with the LMB the amino acid one-letter codes in the AlignmentEditor. (The
metal-binding residues in the 1JLM will be the residues that are in the same column as the
metal-binding residues in the 1CQP structure.)
- Look at the metal-binding site in the 3Dview window. The metal-binding residues
in the 1JLM structure should now be selected. Display them as Sticks too.
- In Bodil, all three windows, StructureEditor, 3Dview
and AlignmentEditor, are working
together. Thus, if you select an amino acid in either of the three windows, it becomes
simultaneously selected in the other windows too. Accordingly, you can unselect the amino acid
in any of the three windows.
NOTE: If you are working with only sequences and not protein structures, then
you will not see anything in the 3Dview and therefore it is not possible to
select the sequences from there.
- Using the Alignment Editor
- Now click with the RMB on one of the amino acids in the AlignmentEditor. The
property menu of this residue is shown. If you click with the MMB on one of the residues, you will
add a gap at that position.
- In the top section of the AlignmentEditor you can see the sequence numbering of
1CQP pepA chain and the secondary structure of this chain (e=strand, h=helix).
LMB and RMB toggles the selection of a column of amino acids. (Click at the "o" sign.)
You can insert a column of gaps with the MMB and with Shift+MMB you can remove a column from the
alignment.
NOTE: This function removes even amino acids, not only gaps.
- In the left section of the AlignmentEditor click with the LMB on the name
of the 1JLM sequence and the whole peptide chain becomes selected. Click with the RMB at the same
place and you will get a box that tells the percentage identity between the amino acid
sequences of 1JLM and 1CQPA .
- Choose AlignmentEditor [MENU] Color - By Distance. Each column is now
colored according to the average C-aplha Ca-alpha distance using Blue-to-Red map
(0.0 to 6.0 Å). White means gaps.
NOTE: For definitions of different mouse functions and menus in the
AlignmentEditor window consult the help pages:
AlignmentEditor [MENU] Help - Show.
Tutorial 3
In the third tutorial you will learn how to make a multiple sequence alignment with MALIGN. In addition,
you will make a homology model with HOMODGE.
- Preparations
- Open the StructureEditor, 3Dview and the
AlignmentEditor.
- If you continued from tutorial 2, first delete everything (structures and alignments).
Read the 1AOX and 1JLM structures into Bodil.
- Next, the human integrin alpha-1 sequence file (ITA1_HUMAN.fasta) will be needed. You have
two choices: either use the sequence file, which is provided with the tutorials, or fetch the
sequence from the SWISS-PROT database on the world wide web.
- If you choose not to use the SWISS-PROT, read in the sequence file to Bodil
and continue to the "Multiple sequence alignment" section. (Bodil suggests a file format for
the sequence file, choose "fasta" and click OK.)
- However, if you want to learn how to search sequences from the SWISS-PROT database,
see the instructions below.
- Searching sequences from the SWISS-PROT
- Go to the web page http://au.expasy.org/sprot/.
This is the main page of the SWISS-PROT protein sequence database.
- At the top of the page, type human integrin alpha to the search box and
start the search.
- Choose the link ITA1_HUMAN to open the entry page of the human integrin alpha-1.
- At the bottom of the page, on the right side, choose the link
P56199 in FASTA format. Copy the sequence in fasta-format.
- Stream Editor
- The easiest way to copy data from the web browser to Bodil is via the Stream Editor
.
- To open the StreamEditor choose from Bodil Main Window
[MENU] File - Stream.
- Paste the ITA1_HUMAN sequence from the SWISS-PROT database to the StreamEditor
window.
- The name of the protein is quite long and therefore it will not be practical. Change the
name to something shorter, e.g. ITA1_HUMAN. (Delete the lines before the amino acid sequence
and write instead ">ITA1_HUMAN".)
The ">" sign is a crucial part of the fasta-format and therefore it
can not be omitted.
- Click the "Put" button and the ITA1_HUMAN sequence is read into Bodil.
- Multiple sequence alignment
- In the AlignmentEditor open the sequences from [MENU] File - Make from Seqs.
In [DIALOG] select the right sequences (/1AOX/pepA, /1JLM/pep and /ITA1_HUMAN/pep_) and click OK.
Now you should have the three sequences in the AlignmentEditor window.
The sequences are not yet aligned by MALIGN, but they are just placed on top of each other.
- Now activate MALIGN by pushing the red "M" in the AlignmentEditor icon panel.
In the MALIGN [DIALOG] box you can choose different parameters for the sequence alignment. We will
use the default settings, so just click OK. MALIGN now performs the sequence alignment using
STRMAT110 scoring matrix and a gap penalty of 40. The log file will be called malign.log and
will be stored in /.Bodil/tmp directory. If Bodil warns you about the existing malign.log file,
just click OK, but note that the file will be overwritten.
- Editing the alignment
- In the AlignmentEditor scroll through the alignment. You will see that the
ITA1_HUMAN sequence is much longer than the sequences of the two structures. In order to
illustrate the sequence editing functions in the AlignmentEditor you
will now edit the ITA1_HUMAN sequence so that only the domain that is in common with the
structures is left in the alignment.
- In ITA1_HUMAN sequence find the first amino acid, number F1 (phenylalanine at position 1).
Click with the LMB the "o" on top of
F1 (the circle is located in the top right section of the AlignmentEditor).
A range box indicates the selection. Then find amino acid number Q137, which should be the
last amino acid of ITA1_HUMAN, before the sequence of 1AOX begins. To make the range box wider,
hold down SHIFT and with the LMB click "o" on top of Q137. Now the range box should reach from
residue F1 until Q137 of the ITA1_HUMAN sequence.
- Choose AlignmentEditor
[MENU] Range - Remove and the amino acids of the ITA1_HUMAN sequence up till residue E138 are
removed. Edit the C-terminal end of the ITA1_HUMAN sequence too. First, click on the circle on
top of the desired residue with the LMB (residue D339). To enlarge the range, go to the end of the
ITA1_HUMAN sequence and push down SHIFT and click the last circle with the LMB.
Finally, remove the range.
- What you have now is a multiple sequence alignment of the integrin alpha-1, alpha-2 and alpha-L
I-domain sequences.
- To save the alignment, choose AlignmentEditor [MENU] File - Save.
Give a name to the alignment (e.g. integrins.ali). The alignment will be saved with file
name extension .ali and it will be in PIR format.
- Homology modeling
- First, check if the sequences in the alignment are in the correct order. To make a homology
model, the sequence of the template structure (known structure) must appear first in the
aliganment followed by the sequence to be modeled.
Thus, the sequence of 1AOX structure should be first and the sequence of ITA1_HUMAN second.
If this is not the case, you can change the order of the sequences by dragging with the LMB the
sequence name (lower left section) to the correct position.
- Duplicate the alignment by choosing from AlignmentEditor [MENU] File - Duplicate.
- HOMODGE is a homology modeling program implemented in Bodil. For more detailed information
on HOMODGE see Lehtonen et al., 2004.
- To run HOMODGE, choose AlignmentEditor [MENU] Model - Homodge.
- When the generation of the homology model is finished the model structure of
human integrin alhpa-1 I-domain will appear
in the 3Dview window and the hierarchical tree of the model structure (_model)
can be seen in the StructureEditor.
- If you do not get a model structure, check whether your sequences in the
AlignmentEditor are in the correct order:
The template sequence first and the target sequence second.
- Viewing the alignment and the model
- At first save the model structure. (For help, see Tutorial 1.)
- Hide the B-chain of 1AOX structure and the entire 1JLM structure.
- Now display both the model and the template structures as C-alpha traces. You can see that
the C-alpha traces match exactly.
NOTE: HOMODGE uses the C-alpha trace of the template to construct the model;
differences in the backbone structure will only be seen for regions corresponding to indels
in the alignment.
- In the AlignmentEditor color the conserved residues in the alignment. Choose
AlignmentEditor [MENU] Color - Conserved. In DIALOG, choose a color and click OK.
Residues that are conserved between the sequences are now colored both in the
3Dview and AlignmentEditor windows.
- Finally, show all amino acids as lines.
NOTE: In Bodil, it is possible to predict secondary structure elements for the model.
This prediction, however is not accurate but just indicative. To predict the secondary structure,
select the model structure first, then go to the Bodil Main Window and choose
[MENU] Tools - SecondaryStructure. Display the secondary structure elements from
3Dview [MENU] Render - Chain - Secondary.
- Finding different rotamers
- Sometimes, new rotamers are needed for amino acid side chains. In Bodil, the default
rotamer library is from Lovell et al., 2000, however, it is possible to import other libraries too.
- In the StructureEditor select one bigger amino acid,
e.g. arginine. Go to StructureEditor [MENU] Add - Rotamers. The rotamers
for the selected amino acid are downloaded.
- To see the different rotamers, choose StructureEditor
[MENU] Modify - Next Model. You can also scroll through the different rotamers with the key "n",
while keeping the mouse pointer in the StructureEditor window. The key "p" shows
the previous rotamer and the key "f" shows the original rotamer for the residue.
NOTE: The same "Modify" menu in the AlignmentEditor and the same
keys "n", "p" and "f" are very useful when scrolling through a set of NMR structures.
- Calculating RMSD (root main square deviation) for the model compared to the crystal structure
- Read into Bodil the crystal structure of integrin alpha-1 I-domain (1PT6.pdb).
- In the AlignmentEditor open the sequences /model/pep_ and /1PT6/pepA from
[MENU] File - Make from Seqs. Do MALIGN. Select the entire sequence of the protein, which is located
first in the alignment. (Click with the LMB on the protein name at the left side of the
AlignmentEditor.)
- From the Bodil Main Window choose [MENU] Tools - Superimpose.
- Choose RMSD and click the "Select" button.
- A Select Alignment [DIALOG] box opens. In the AlignmentEditor check what
is the name of the alignment you just created (e.g. SeqAli_2). Choose the alignment with that name
from the [DIALOG] and click OK.
- Finally click OK in the Superimpose atoms [DIALOG].
- To see the RMSD value, open a Logger window from Bodil Main Window [MENU]
Tools - Logger. In the lower part of the Logger window you can see the comments Bodil prints
out while performing different operations. There you should find a line with text something like:
"The model _ vs 1PT6 A RMSD for 1512 pairs is 1.98".
- It is also possible to calculate RMSD for only a set of atoms, e.g. residues
involved in the ligand-binding.
- To illustrate this function we will now compare the metal-binding area of the model
structure to the metal-binding site of the crystal structure.
- In the StructureEditor choose ligA (magnesium ion) of the 1PT6 structure.
- Choose StructureEditor [MENU] Select - Any w/ rad.
- In [DIALOG] type 6 and click OK.
- Now atoms within 6 Ånströms radius from the selected point are selected.
- To select complete amino acids, choose StructureEditor [MENU] Select -
Any Fgroups. (Any Full Groups)
- Now calculate the RMSD the same way as you did before. In the Logger window you should get a message
that looks something like this: "The model _ vs 1PT6 A RMSD for 278 pairs is 1.99".
Improve the quality of graphics in Bodil
The configuration editor plugin allows user to view and edit configuration settings that currently exists in
Bodil memory. The plugin can be activated from Bodil Main Window [MENU] Preferences - Options.
This opens a Config management window, where the configuration settings can be edited.
Click with any mouse button the line that you want to edit and an "Edit selection" DIALOG opens. In DIALOG
type the desired modification and click OK. The modification will take place in windows that are opened after
the modification. With the "Reload" button the settings from configuration files will be reread.
- Line
Choose in the Config management window Section "GV2" and Key "LineWidth".
Increase the number and the lines in the 3Dview window will become thicker. (This
affects all lines, including C-alpha trace, wired surface etc.)
- Stick, BallStick and CPK
"GV2" - "BallDepth" defines the roundness of the CPK and BallStick atom balls. Increase in
the number makes the ball rounder, however, values above "3" are not recommended.
To improve the quality of sticks, edit configuration entry "GV2" - "BondSides". The default
value "6" defines a hexagonal cylinder; increase the number and the stick cylinder becomes "rounder".
- Secondary structure
There are two ways of displaying the secondary structure elements in the
3Dview window. To toggle between these two options, choose "GV2" - "SSEfine".
Change the default option "no" to "yes", and the more refined secondary structure visualization will
be put on.
"GV2" - "HelixThickness", "HelixWidth", "StrandThickness" and "StrandWidth" change the appearances of
the secondary structure elements too.
- Surface
"Volume" - "Gridspacing" indicates in Ångströms the distance between created grids.
Generally, values below 0.2 Å are not recommended.
"GV2" - "BackFaces" defines whether the back-faces of polygons (surfaces, CPK atoms etc.) are drawn.
NOTE: Can be also toggled from 3Dview [MENU] Options - BackFaces.
- Anti-alias
"GV2" - "AntiAlias" or 3Dview [MENU] Options - AntiAlias. Allows you to toggle
antialiasing of lines. This gives smoother lines, but demands more processor time.
"GV2" - "FastAA" or 3Dview [MENU] Options - Fast AA. If the "AntiAlias" mode is ON
and the "FastAA" mode is OFF, more accurate (slower) antialiasing will be used.
References:
Bodil, HOMODGE:
Lehtonen JV, Still D-J, Rantanen V-V, Ekholm J, Björklund D, Iftikhar Z, Huhtala M, Repo S,
Jussila A, Jaakkola J, Pentikäinen O, Nyrönen T, Salminen T, Gyllenberg M, Johnson MS.
(2004) "BODIL: a molecular modeling environment for structure-function analysis and drug design"
J Comput Aided Mol Des 18(6):401-419.
Default rotamer library:
Lovell SC, Word JM, Richardson JS, Richardson DC. (2000) "The Penultimate Rotamer Library"
Proteins: Structure Function and Genetics 40:389-408.
MALIGN:
Johnson MS, Overington JP, Blundell TL. (1993) "Alignment and searching for common protein folds
using a data bank of structural templates" J Mol Biol 231:735-752.
Protein Data Bank:
Berman HM, Westbrook J, Feng Z, Gilliland G, Bhat TN, Weissig H, Shindyalov IN, Bourne PE. (2000)
"The Protein Data Bank" Nucleic Acids Research 28:235-242.
STRMAT110 scoring matrix:
Johnson MS, May ACW, Rodionov MA, Overington JP. (1996) "Discrimination of common protein folds:
applications of structural information to sequence/structure comparisons" Methods Enzymol.
266:575-598.
SWISS-PROT:
Boeckmann B, Bairoch A, Apweiler R, Blatter M-C, Estreicher A, Gasteiger E, Martin MJ, Michoud K,
O'Donovan C, Phan I, Pilbout S, Schneider M. (2003) "The SWISS-PROT protein knowledgebase and its
supplement TrEMBL in 2003" Nucleic Acids Res. 31:365-370.
VERTAA:
Johnson MS and Lehtonen JV. (2000) Bioinformatics (Higgins D and Taylor W, eds) pp.15-50.
Oxford University Press, Oxford, United Kingdom.
Updated: 16th April, 2004 Susanna Repo