150 likes | 166 Views
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
E N D
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)
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 only atom 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.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!)