The algorithm

We can roughly divide the SSGS algorithm into two stages (1) creating a set of transformations of a candidate protein that match fully or partially a target protein and (2) using dynamic programming to rank that transformation set. We use the dynamic programming score of the superimposition iteratively to refine the superimposition until we reach convergence. As depicted in the figure below.

 

The goal of this stage is to evaluate the transformations using a dynamic programming algorithm

The dynamic programming

The alignment and its evaluation are performed by a dynamic programming recursion aimed at achieving an affine mismatch topology dependent alignment that favors a smaller number of long mismatched regions over many short mismatched regions and punishes more strongly mismatches in a-helix and in ß-sheet structures over assigned loops. In a affine mismatch alignment there is a preference for longer mismatch regions over shorter ones. A mismatch between two residues means that the two residues are not spatial neighbors.

 


This notion enables us to give every diagonal movment the proper weight and enforce an affine mismatch alignment i.e opening a mismatch will alwayes be more expensive (score wise) than continuing an already open mismatch. Therefore the choosing a movment along the SNRM depends on three factors: (1) The value of the previous cell. (2) Whether the cell is a match or a mismatch.(3) Whether the next cell is a match or a mismatch.

In an affine gap alignment algorithm at every stage we check whether opening a new gap will be cheaper then continuing and older one. Therefore, we also keep for every cell the value of the best route to it ending with a gap from both direction up and left.

In order to introduce into the affine mismatch algorithm also an affine gap nature we have to define between different gaps according to the cell the gap begins from. (remainder: a gap is to skip a residue or a few residues in the alignment, a mismatch is to define two residues a pair of mismatches residues that are spatialy a part). Therefore, in order to find the best movement at each step of the algorithm, we have to compare five values as depicted in the figure below: As can be seen th ered arrow number illustrates a movment from a mismatched cell with opening a gap and three gaps to another mismatched cell. computing such a momvent will take into account the value the path for reaching the red cell, opening a gap and taking three additional gaps and a payoff for continuing a mismatch region.


This stage generates rigid transformations that match the target fully or partially to the model. To create the transformation set we use the pose clustering method, which, finds clusters of the poses in the space of the object positions.