EMAN_Modeller_hands_on - - NCMI (cryo-EM)

Download Report

Transcript EMAN_Modeller_hands_on - - NCMI (cryo-EM)

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
‘align code’: an identifier used to identify the
type of sequence; often ‘structureX’ for X-ray
sequence.
OftentoPDB
+ chain
ID (e.g. 1xyzA)
atom
file name
readcode
structural
information
from
structures,
or
‘sequence’
for
sequence
only
::undefined:undefined:-1.00:-1.00
(usually the PDB code); unused in this case
AKDVKFGNDAGVKMLRGVNVLADAVKVTLGPKGRNVVLDKSFGAPTITKDGVSVAREIELEDKFENMGAQMVKEV
ASKANDAAGDGTTTATVLAQAIITEGLKAVAAGMNPMDLKRGIDKAVTVAVEELKALSVPCSDSKAIAQVGTISA
NSDETVGKLIAEAMDKVGKEGVITVEDGTGLQDELDVVEGMQFDRGYLSPYFINKPETGAVELESPFILLADKKI
the amino acid sequence, terminated by a ‘*’
character
EEIGMELEKATLEDLGQAKRVVINKDTTTIIDGVGEEAAIQGRVAQIRQQIEEATSDYDREKLQERVAKLAGGVA
SNIREMLPVLEAVAKAGKPLLIIAEDVEGEALATAVVNTIRGIVKVAAVKAPGFGDRRKAMLQDIATLTGGTVIS
VIKVGAATEVEMKEKKARVEDALHATRAAVEEGVVAGGGVALIRVASKLADLRGQNEDQNVGIKVALRAMEAPLR
QIVLNCGEEPSVVANTVKGGDGNYGYNAATEEYGNMIDMGILDPTKVTRSALQYAASVAGLMITTECMVTDL*
Look up ‘alignment file format’ in the Modeller manual index for more
information
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 targettemplate 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.py
Also download the 1we3 structure from PDB, and put it
in the same directory as the other two files
Both Modeller and Python are very strict about syntax –
check that you have commas, brackets etc. in the right
places
Open 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!)