modeller hands-on ben webb, sali lab, uc san francisco maya topf, birkbeck college, london
TRANSCRIPT
MODELLER hands-on
http://salilab.org/modeller/
Ben Webb, Sali Lab, UC San Francisco
Maya Topf, Birkbeck College, London
Obtaining the Modeller software
Download the latest version (9v1) from our website:http://salilab.org/modeller/
For Mac, this will be the modeller-9v1.dmg file
But also available for Linux, Windows and some ancient Unix systems (Alpha, Solaris, AIX, IRIX)
To activate for academic use, fill out the license agreement; a license key will be emailed to you
The website also links to more detailed tutorials, the online manual, users’ mailing list, publications, etc.
Running Modeller
Modeller is actually a powerful library of functions and Python classes for handling protein structures and alignments
Pro: not just limited to comparative modeling; you can add your own functionality (e.g. custom energy terms) in C or Python, or use the Python module from other programs
Pro: can also superpose structures, search sequence databases, fit against EM data, etc.
Con: there is no point and click interface; to build a model, you must write a short Python script…
but for most applications, these scripts are very simple,
and you can use the examples as your templates
Running Modeller
Required inputs:Target sequence (PIR format)
Template structure(s) (PDB format)
Python script file
Outputs:Target-template alignment
PDB model file(s)
Log and data files (objective function and restraint violations)
(Optionally, you can find templates and/or build the alignment with another program and so skip the alignment step)
Installation (1)
Installation (2)
Installation (3)
Installation (4)
Installation (5)
Modeller example, step 1
Example: build a model of one chain of the GroEL
Step 1: put the sequence in PIR format:
>P1;1oel
sequence:1oel: 1 ::522 ::undefined:undefined:-1.00:-1.00
AKDVKFGNDAGVKMLRGVNVLADAVKVTLGPKGRNVVLDKSFGAPTITKDGVSVAREIELEDKFENMGAQMVKEV
ASKANDAAGDGTTTATVLAQAIITEGLKAVAAGMNPMDLKRGIDKAVTVAVEELKALSVPCSDSKAIAQVGTISA
NSDETVGKLIAEAMDKVGKEGVITVEDGTGLQDELDVVEGMQFDRGYLSPYFINKPETGAVELESPFILLADKKI
SNIREMLPVLEAVAKAGKPLLIIAEDVEGEALATAVVNTIRGIVKVAAVKAPGFGDRRKAMLQDIATLTGGTVIS
EEIGMELEKATLEDLGQAKRVVINKDTTTIIDGVGEEAAIQGRVAQIRQQIEEATSDYDREKLQERVAKLAGGVA
VIKVGAATEVEMKEKKARVEDALHATRAAVEEGVVAGGGVALIRVASKLADLRGQNEDQNVGIKVALRAMEAPLR
QIVLNCGEEPSVVANTVKGGDGNYGYNAATEEYGNMIDMGILDPTKVTRSALQYAASVAGLMITTECMVTDL*
Look up ‘alignment file format’ in the Modeller manual index for more information
‘align code’: an identifier used to identify the sequence. Often PDB code + chain ID (e.g. 1xyzA)
type of sequence; often ‘structureX’ for X-ray structures, or ‘sequence’ for sequence onlyatom file name to read structural information from (usually the PDB code); unused in this case
the amino acid sequence, terminated by a ‘*’ character
Modeller example, step 1
All Modeller input files are ‘plain text’
I always work from a terminal window and use ‘vi’ to edit my text files, but…
emacs works too
If you want to use a graphical text editor, make sure you save the file in plain text (not Unicode)
For Mac’s TextEdit application, use ‘Make Plain Text’ from the Format menu
For Windows, use Notepad or be very careful to save in plain text otherwise (and watch out for Windows “helpfully” adding or hiding file extensions)
Step 2: create Python script for target-template alignment
from modeller import *
env = environ()
aln = alignment(env)
mdl = model(env, file='1we3',
model_segment=('FIRST:B','LAST:B'))
aln.append_model(mdl, align_codes='1we3B',
atom_files='1we3')
aln.append(file='1oel.seq', align_codes='1oel')
aln.align2d(max_gap_length=80)
aln.write(file='1oel-1we3.ali', alignment_format='PIR')
Step 3: run the script
Save the sequence as 1oel.seq, and the Python script as align2d.pyAlso download the 1we3 structure from PDB, and put it in the same directory as the other two filesBoth Modeller and Python are very strict about syntax – check that you have commas, brackets etc. in the right placesOpen a terminal window (Linux) (on Mac/Windows, run the Modeller application which gives you a terminal window), then run with
mod9v1 align2d.py
Any errors (Python exceptions) come out on standard error
Step 4: build comparative models
from modeller import *
from modeller.automodel import *
env = environ()
a = automodel(env, alnfile='1oel-1we3.ali',
knowns='1we3B', sequence='1oel',
assess_methods=assess.DOPE)
a.starting_model = 1
a.ending_model = 3
a.make()
Run in the same way as the alignment Python script earlier
Step 5: view final models
On successful completion, the Modeller log file will contain details on the models, and 3 model files will be produced (1oel.B9999*.pdb)
Can be viewed in any PDB viewer, e.g. Chimera
Next steps to work on:Fit a model into the EM density map to assess quality
Build models with a different template, with loop refinement
Fit new models and compare
See the README file in your input files directory
results directory contains the results (if you get stuck!)