# YASARA MACRO # TOPIC: 5. Structure prediction # TITLE: Building a homology model # REQUIRES: Structure # AUTHOR: Elmar Krieger # LICENSE: GPL # DESCRIPTION: This macro builds a homology model using a FASTA sequence of the target, and optionally template structures and alignments # Parameter section - adjust as needed, but NOTE that some changes only take effect # if you start an entirely new modeling job, not if you continue an existing one. # ================================================================================= # You can either set the target structure by clicking on Options > Macro > Set target, # or by uncommenting the line below and specifying it directly. #MacroTarget='/home/myname/projects/homologymodels/t0120' # Number of PSI-BLAST iterations # Set to '1' to search the template with a simple BLAST, not a PSSM-based PDB-BLAST psiblasts=3 # Maximum PSI-BLAST Evalue allowed for templates evalue=0.5 # Maximum number of PDB templates to use templates=5 # Maximum number of ambiguous alignments to consider per template alignments=5 # Maximum oligomerization state, build at most tetrameric models oligostate=4 # Maximum number of unaligned loop residues to add to the termini termextension=10 # How structure-based template profiles are included. This feature depends on a structural # all-against-all alignment of PDB files updated weekly at the RCSB. Unfortunately the RCSB # server does often not respond, so this option is disabled by default ('no'). Alternative # choices are 'try' (try to use but don't complain if RCSB server is offline), and 'yes'. structprofile='no' # Flag to try re-refined templates from PDB-Redo, yes or no pdbredo='no' # Normally no change required below this point # Sanity checks if MacroTarget=='' RaiseError "This macro requires a target. Either edit the macro file or click Options > Macro > Set target to choose a target sequence" Clear # Do we have a target sequence? command1='pass' seqfilename='(MacroTarget).fasta' seq = FileSize (seqfilename) if seq # Yes, create a command to specify the sequence file command1='SequenceFile (seqfilename)' # Do we have alignments? alifilename='(MacroTarget)_align.fasta' ali = FileSize (alifilename) if ali # Yes, use the alignments instead of the target sequence command1='AlignFile (alifilename)' if !seq and !ali RaiseError 'Neither a sequence file (seqfilename), nor an alignment file (alifilename) was found, no model can be built' # Do we have templates? command2='pass' for i=001 to 999 for ext in 'pdb','yob' tmpfilename='(MacroTarget)_t(i).(ext)' tmp = FileSize (tmpfilename) if tmp # Load template and name it T001.. tmp = Load(ext) (tmpfilename) NameObj (tmp),T(i) # Create command to select all templates command2='TemplateObj all' # Template found, try next continue 2 break # Build the model Experiment HomologyModeling # Specify either a target sequence or an alignment file (command1) # Select any templates that have been loaded (command2) # Set parameters defined at the beginning # Number of PSI-BLAST iterations PsiBLASTs (psiblasts) # The maximum PSI-BLAST Evalue (minimum can be set to avoid easy models) EValue Max=(evalue),Min=0 # Maximum oligomerization state OligoState (oligostate) # Maximum number of templates to consider, and how many with the same sequence Templates (templates),SameSeq=1 # Uncomment below to select certain template residues for deletion, e.g. het-groups # DelTemplateRes Hetgroup # Uncomment below to specify a list of excluded templates # TemplateExList 1CRN,5TIM,1AON # Flag if re-refined templates from PDB-Redo should be used additionally PDBRedo (pdbredo) # Maximum number of ambiguous alignments to consider per template Alignments (alignments) # Maximum number of terminal loop residues TermExtension (termextension) # Speed of animations: fast/normal/slow Animation Normal # Number of samples to try per loop (see OptimizeLoop command) LoopSamples 50 # Use structure-based profiles StructProfile (structprofile) # The common start for result filenames ResultFile (MacroTarget) # Uncomment below to add alignment anchors, see Recipes > Build a homology model > Useful hints # Equivalence Target=DHFGRER,Template=FDGFHGR # Uncomment below to keep the side-chains of selected conserved residues fixed, e.g. residues 90 and 105 # FixModelRes 90 105 # Uncomment below to accept only templates that cover the selected target residues, e.g. residues 95 and 110 # RequireRes 95 110 # Uncomment below to build models with reduced accuracy as quickly as possible # Speed fast Experiment On Wait ExpEnd # Tell about the homology modeling report ShowMessage 'To view a detailed homology modeling report, open (MacroTarget).html in your browser.' Wait ContinueButton HideMessage