ProGAL.proteins.beltaStructure.sheet
Class SurfaceSheetStructure

java.lang.Object
  extended by ProGAL.proteins.beltaStructure.sheet.SurfaceSheetStructure
All Implemented Interfaces:
PartialStructure

public class SurfaceSheetStructure
extends java.lang.Object
implements PartialStructure

A representation of the backbone-structure of a beta-sheet based on an arbitrary parametric surface. Given only a sheet-alignment (which also specifies sheet-topology and secondary structure) as input a surface is created and positions of N, CA, C, O and CB atoms can be retrieved using the getAtomPosition-method. The surface specifying the structure can be retrieved and modified. Subsequent calls to getAtomPosition will reflect this change. Changes to the sheet-alignment or secondary structure will also be reflected in the structure.

Author:
R.Fonseca

Field Summary
 SheetAlignment sheetAlignment
          The sheet alignment of this structure.
 
Constructor Summary
SurfaceSheetStructure(SheetAlignment sa)
          Constructs a sheet structure using the specified sheet alignment and a hyperbolic paraboloid as the surface.
 
Method Summary
 Point getAtomPosition(int res, int atom)
          Return the specified atom-position.
 Matrix getLoopTransform(SecondaryStructure.SSSegment seg)
          TODO
 ParametricSurface getSurface()
          Return a reference to the surface that specifies this sheets structure.
 java.lang.String toString()
           
 void updateAtoms(AminoAcidChain chain)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

sheetAlignment

public final SheetAlignment sheetAlignment
The sheet alignment of this structure. Also holds reference to sheet-topology and secondary structure. Any change to the sheet alignment will be reflected in the structure of this sheet.

Constructor Detail

SurfaceSheetStructure

public SurfaceSheetStructure(SheetAlignment sa)
Constructs a sheet structure using the specified sheet alignment and a hyperbolic paraboloid as the surface.

Method Detail

getSurface

public ParametricSurface getSurface()
Return a reference to the surface that specifies this sheets structure. Currently, only a hyperbolic paraboloid is possible, so the object returned by this method can be cast to a ParametricParaboloid. The surface can be changed an

Returns:

getAtomPosition

public Point getAtomPosition(int res,
                             int atom)
Return the specified atom-position. The result is affected by the state of the surface (can be altered via the getSurface()-object) and by the state of the sheetAlignment-object. Note that significant improvements can still be made to the speed of this method.

Parameters:
res - The residue index, referring to the residue in the primary sequence. The result is not specified if the residue is not part of the sheet.
atom - The backbone-atom within the specified residue. 0 corresponds to N, 1 to CA, 2 to C, 3 to O and 4 to CB.
Returns:
A 3D point of the atom center

getLoopTransform

public Matrix getLoopTransform(SecondaryStructure.SSSegment seg)
TODO

Parameters:
seg - The first segment of a loop following a strand in this sheet structure
Returns:

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

updateAtoms

public void updateAtoms(AminoAcidChain chain)
Specified by:
updateAtoms in interface PartialStructure