Skip to content
Snippets Groups Projects
  • Studer Gabriel's avatar
    b0fd18f9
    Refactor rotamer construction · b0fd18f9
    Studer Gabriel authored
    The atoms of all standard amino acids are defined in a RotamerLookup class.
    This class has three different modes and defines amino acids accordingly:
    HEAVY_ATOM_MODE, POLAR_HYDROGEN_MODE, FULL_ATOMIC_MODE
    The RotamerConstructor makes sure that all the atoms defined in the
    RotamerLookup are stored in position buffers when constructing
    rotamers/frame residues.
    
    The actual Particle parametrization happens in an energy function specific
    child class of RotamerConstructor that has access to the position buffers
    and some additional information to parametrize the constructed particles.
    It also determines what mode in the RotamerLookup of the parent class is
    used.
    
    The motivation was to move as much away from the child class in order to make
    it as easy as possible the add new energy function specific child classes of
    RotamerConstructor.
    
    The new implementation does not exactly reproduce the results from before
    (but almost), as there have been introdued minor changes / bugfixes.
    
    - The construction of terminal hydrogens / oxygens is more sane
    - CB of HSD previously ended up in the sidechain, the default should be backbone frame
    - GLY CA is of SCWRL4ParticleType CH2Particle, not CH1Particle
    b0fd18f9
    History
    Refactor rotamer construction
    Studer Gabriel authored
    The atoms of all standard amino acids are defined in a RotamerLookup class.
    This class has three different modes and defines amino acids accordingly:
    HEAVY_ATOM_MODE, POLAR_HYDROGEN_MODE, FULL_ATOMIC_MODE
    The RotamerConstructor makes sure that all the atoms defined in the
    RotamerLookup are stored in position buffers when constructing
    rotamers/frame residues.
    
    The actual Particle parametrization happens in an energy function specific
    child class of RotamerConstructor that has access to the position buffers
    and some additional information to parametrize the constructed particles.
    It also determines what mode in the RotamerLookup of the parent class is
    used.
    
    The motivation was to move as much away from the child class in order to make
    it as easy as possible the add new energy function specific child classes of
    RotamerConstructor.
    
    The new implementation does not exactly reproduce the results from before
    (but almost), as there have been introdued minor changes / bugfixes.
    
    - The construction of terminal hydrogens / oxygens is more sane
    - CB of HSD previously ended up in the sidechain, the default should be backbone frame
    - GLY CA is of SCWRL4ParticleType CH2Particle, not CH1Particle