back to EGAD homepage

Table of Contents

1. Introduction
2. Descriptions of
main, program flow, overview of data-structures
3. Inputfiles
4. pdb file input, modifiers, and related jobs
5. Energy function files and modifiers
6.
JOBTYPE point_energy and JOBTYPE sasa_calc
7.
JOBTYPE energy_profile_table
8. Input of variable and fixed positions for rotamer optimization
9. Pair energy lookup table generation
10. Rotamer optimization jobs
11. Prediction of pKa's -
JOBTYPE pK
12. Ligands
13. Parallelization of EGAD jobs
14. Scanning mutagenesis

15. Batch jobs
16. Protein-protein complexes
17. Sequence restraints on design
18. Analyses and optimizations that require consideration of multiple structures/states

19. Building the backbone with ideal geometry
20. Dihedral angle minimization - JOBTYPE minimize
Appendices:
    A.1 Output pdb file format
    A.2 Energy function file formats
References
Examples directory
Source code directory
download EGAD User's Manual (pdf)
download Navin Pokala's thesis (pdf)
download the EGAD program with example files       installation instructions

1. Introduction
    1.1 Overview
    1.2 Installation
      
1.2.1   Compilation and execution issues
    1.3 EGAD source code

2. Descriptions of
main, program flow, overview of data-structures
    2.1 main
    2.2 Exit status, errors, I/O errors, and warnings
    2.3 Premature exit or early program advancement
    2.4 Data structure overview

3. Inputfiles
    3.1 General layout and rules
    3.2 Sequence position strings for input and output
    3.3 Comments
    3.4
OUTPUT_PREFIX
    3.5 Description of the input_stuff.cpp: input_stuff function

4. pdb file input, modifiers, and related jobs
    4.1 Requirements for template pdb files, special cases, and modifiers
       
4.1.1 Missing atoms
        4.1.2 User-defined rotamers
        4.1.3
TRANSFORM_MATRIX
        4.1.4 Rebuilding structures from extracted dihedral angles (REBUILD_FLAG)
        4.1.5 Flipping of Asn, Gln, and His rotamers
        4.1.6 Sequence numbering and atom order
        4.1.7 Chain IDs and
SUPER_CHAIN
        4.1.8 Disulfide bonds
        4.1.9 Termini
        4.1.10 Ligands
    4.2 JOBTYPE HBUILD
    4.3 JOBTYPE ALIGN_STRUCTURES
        Figure 4.3.1 - Overlay of bound and free maltose-binding protein reveals a hinge motion

    4.4 Description of the readpdbfile.cpp: readpdbfile function

5. Energy function files and modifiers
    5.1 Overview
       
Figure 5.1.1 - Energy spectrum for protein design
    5.2 Energy function modifiers
    5.3 Description of energy function datastructures and input functions

        5.3.1 Overview of energy function datastructures
        5.3.2 Description of
read_forcefield.cpp: read_forcefield

6.
JOBTYPE point_energy and JOBTYPE sasa_calc
    6.1 Overview
    6.2 Implementation details

7.
JOBTYPE energy_profile_table

8. Input of variable and fixed positions for rotamer optimization
    8.1 Overview of rotamer optimization
    8.2 Explicit definition of variable and fixed positions
        8.2.1 Permitted residuetype string formats
        8.2.2 Proline, glycine, and disulfide-bonded cysteine positions are not allowed to vary
        8.2.3
OTHER_POSITIONS modifier
        8.2.4
AVOID_NATIVE_ROTAMER_FLAG modifier
    8.3 Shortcuts for non-explicit definition of variable positions
        8.3.1 Input of a SEQUENCE
        8.3.2
JOBTYPE list_variable_positions
    8.4 Description of variable position input structs and functions
       
8.4.1 VARIABLE_POSITION and CHOICE datastructures
        8.4.2 input_stuff.cpp: input_VARIABLE_POSITION
        8.4.3 VARIABLE_POSITIONS.cpp: modify_VARIABLE_POSITION
        8.4.4 input_stuff.cpp: sequence_to_var_pos_file

9. Pair energy lookup table generation

    9.1 Overview
        Figure 9.1.1 - Pairwise decomposition of energies
       
9.1.1 Rotamer complexity, disk and memory usage
           
Figure 9.1.1.1 - Rotamer complexity and memory usage
    9.2 Inputfile options
        9.2.1
LOOKUP_TABLE_DIRECTORY
  
9.2.2 PRECALCULATION_LEVEL
  
9.2.3 JOBTYPE LOOKUP_TABLE_SLAVE
    9.3 Brief description of lookup table generation
    9.4 Parallelization of lookup table generation

        9.4.1 Brief description of parallelized lookup table generation
   
9.5 Description of lookup table generation code
        9.5.1 Description of
LOOKUP_ENERGY datastructures
            Figure 9.5.1.1 - Schematic of EGAD datastructures

        9.5.2 Discussion and rationale for the implemented strategy, thoughts on improvement
        9.5.3 Description of lookup table generation functions
        9.5.4 Description of parallel lookup table generation functions

10. Rotamer optimization jobs

    10.1 Overview
    10.2 Algorithms
        10.2.1 JOBTYPE faster
        10.2.2 Monte carlo simulated annealing (
JOBTYPE mc)
            Figure 10.2.2.1 - Monte Carlo simulated annealing

        10.2.3 Genetic algorithm (
JOBTYPE ga)
            Figure 10.2.3.1 - Genetic algorithms

        10.2.4 Heuristic quench minimization (HQM)
        10.2.5
JOBTYPE mc_ga or JOBTYPE sa_ga
        10.2.6 Dead-end elimination (JOBTYPE dee)
        10.2.7 Self-consistent mean field optimization (
JOBTYPE scmf)
           
Figure 10.2.7.1 - Self-consistent mean field optimization
        10.2.8 OUTPUT_PREFIX.xxx.out format
    10.3 User-definable options
        10.3.1 Simulation temperatures
        10.3.2
RUNTIME
        10.3.3 Logfile options
    10.4 Premature program termination
    10.5 Strengths and weaknesses of different rotamer optimization methods
    10.6 Implementation details
        10.6.1 Data structures and general-use functions
        10.6.2 Genetic algorithm (GA)
            10.6.2.1 Control functions for genetic algorithm
            10.6.2.2 Actual genetic algorithm:
GA.cpp: evolve_sidechains
        10.6.3 Monte carlo simulated annealing (MC)
            10.6.3.1 Control function MC.cpp: MC_rotamer_control
            10.6.3.2 Actual simulated annealing: MC.cpp: MC_rotamers
        10.6.4 Heuristic quench minimization (HQM): HQM_rotamers.cpp: HQM_rotamers
        10.6.5 Fast and accurate side-chain topology and energy refinement (FASTER)
        10.6.6 Dead-end elimination (DEE)
        10.6.7 Self-consistent mean field optimization (SCMF)
        10.6.8 Simulation temperature

11. Prediction of pKa's - JOBTYPE pK
    Figure 11.1 - Thermodynamic cycle for pK calculations
    Figure 11.2 - pK-shifts are coupled to electrostatic energies
    Figure 11.3 - Quality of EGAD pKa predictions


12. Ligands

    12.1 Overview
       12.1.1    Multiple ligand choices
    12.2 Ligand binding protein design examples
        12.2.1 Redesign of maltose binding protein (MBP) for maltose
        12.2.2 Redesign of maltose binding protein for an alternative ligand
        12.2.3   Drug design - design of an N-substituted peptoid for binding src SH3
          Figure 12.2.3 - Drug design figures
    12.3 Ligand hydrogen-bonding satisfaction: UNSAT_HBOND_REFSTATE
    12.4 Ligand implementation

13. Parallelization of EGAD jobs

    13.1 Overview
    13.2 Requirements
    13.3 Inputfile options
    13.4 Launching a parallel job
    13.5
CPU_FILE
    13.6 Implementation of parallelization for rotamer calculations


14. Scanning mutagenesis

    14.1 Overview

        Figure 14.1.1 - Mutant stability prediction thermodynamic cycle
        Figure 14.1.2 - Summary of mutant stability prediction
        Figure 14.1.3 - Examples of mutant stability predictions

    14.2
alanine_scan and saturation_mutagenesis

15. Batch jobs

16. Protein-protein complexes

    16.1 Overview

        Figure 16.1.1 - Mutant affinity prediction thermodynamic cycle
        Figure 16.1.2 - Summary of mutant affinity prediction
        Figure 16.1.3 - Examples of mutant affinity predictions

    16.2
JOBTYPE separate_complex or JOBTYPE split_complex
    16.3
JOBTYPE complex_formation_energy
    16.4
JOBTYPE interface_alanine_scan and interface_saturation_mutagenesis
    16.5 Implementation

17. Sequence restraints on design
    17.1 MAX_MUTATIONS modifier
    17.2 User-defined sequence restraint functions

18. Analyses and optimizations that require consideration of multiple structures/states

    18.1 Target and competitor structures
    18.2 Defining positions to optimize and/or move
    18.3
MULTISTATE_JOBTYPE
        18.3.1 MULTISTATE_JOBTYPE scan
        18.3.2 MULTISTATE_JOBTYPE ga
        18.3.3 MULTISTATE_JOBTYPE quench
        18.3.4 Initialization of optimization
    18.4 Slave parameters, MASTER_OPTIMIZATION_TIME, and early termination
    18.5 Objective functions for multistate design
       
Figure 18.5.1 - Energy spectrum for multistate protein design
        18.5.1 Custom multistate objective functions
    18.6 Examples of multstate design
        18.6.1 Designing binding specificity: change glutamine-binding protein to bind glutamate
            Figure 18.6.1.1 - Design of glutamate-binding specificity in glutamine-binding protein

        18.6.2 Designing conformational specificity: lock maltose-binding protein in the closed state
        18.6.3 Design of a specific protein-protein interface: src SH3 domain peptide-binding site
            Figure 18.6.3.1 - Design of src SH3 binding to a target peptide

19. Building the backbone with ideal geometry

    19.1 Overview
    19.2 Example - grafting and stitching of backbone fragments

20. Dihedral angle minimization -
JOBTYPE minimize
    20.1 Overview
    20.2 Moving the backbone
    20.3 Restricting moving positions
    20.4 Minimization exit

Appendices:

A.1 Output pdb file format
    A.1.1
ENERGY entries
    A.1.2
ROTAMER entries
    A.1.3
SEQUENCE entry
    A.1.4
CHARGE, HBOND, CLASH, LENGTH, and CENTROID entries
    A.1.5
ATOM entries
    A.1.6 Output pdb file options
    A.1.7 Implementation and use


A.2 Energy function file formats
    A.2.1 Forcefield file
        A.2.1.1 General format
        A.2.1.2 Atomtype line format
        A.2.1.3 Constant line and file line formats
        A.2.1.4 Comments
        A.2.1.5 Description of the current file and tips for modification

    A.2.2 Torsion parameter file
        A.2.2.1 General format
        A.2.2.2 Torsion parameter format
        A.2.2.3 Comments
        A.2.2.4 Description of the current file and tips for modification
    A.2.3 Resparam files
        A.2.3.1 General format
        A.2.3.2 Residuetype header formats
        A.2.3.3 Atomline format
        A.2.3.4 Comments
        A.2.3.5 Description of the current file
    A.2.4 Rotamer library file
        A.2.4.1 General format
        A.2.4.2 Rotamer headerline - Old version
        A.2.4.3 Rotamer headerline - New version
        A.2.4.4 Rotamerline format
        A.2.4.5 Position-specific rotamers
        A.2.4.6 Comments
        A.2.4.7 Description of current file and tips for modification
    A.2.5 Ligand parameter files
        A.2.5.1 General format
        A.2.5.2 Resparam entry section
            A.2.5.2.1 Generation of resparam section from a ligand pdb file
        A.2.5.3 Ligamer section
           
A.2.5.3.1   Automatic generation of ligamers
           
A.2.5.3.2   Ligamer line format
        A.2.5.4 Base coordinate section
        A.2.5.5 Ligamers defined by coordinates

References
Examples directory
Source code directory
download EGAD User's Manual (pdf)
download Navin Pokala's thesis (pdf)
download the EGAD program with example files       installation instructions

back to EGAD homepage