Brief description of ASSP algorithm:
ASSP is an extension to our inhouse program HELANALPlus, which follows the method of Sugeta and Miyazawa (General method for
calculating helical parameters of polymer chains from bond lengths, bond
angles and internalrotation angles.
Biopolymers. 1967;(5): 673679)
ASSP first calculates the local structure parameters like twist, rise per residue, virtual torsion angle and radius by considering four contiguous Cα atoms (repeating unit or step) with a sliding window of one Cα atom at a time along the length of the protein structure. Subsequently, the continuity in the protein structure is checked based on these parameters and continuous stretches are further divided into the secondary structure elements (SSEs). Brief description of the mathematics involved is explained below:
Calculation of local helical parameters:
Figure 1: Topdown (along the helix axis) view of 4 Cα atoms from and ideal αhelix. Various symbols used in the diagram is available in the text. Let CA_{1}(x1, y1, z1), CA_{2}(x2, y2, z2), CA_{3}(x3, y3, z3) and CA_{4}(x4, y4, z4) are the cartesian coordiantes of four contiguous Cα atoms. Two successive points are joined to each other by pseudo bonds and can be given as:  B1 = CA_{1}CA_{2} = (x2x1)i + (y2y1)j + (z2z1)k
 B2 = CA_{2}CA_{3} = (x3x2)i + (y3y2)j + (z3z2)k
 B3 = CA_{3}CA_{4} = (x4x3)i + (y4y3)j + (z4z3)k
Where, i, j, k are unit vectors along Xaxis, Yaxis and Zaxis respectively. The vectors obtained by subtracting the pseudo bond vectors are:
lie in a plane perpendicular to the axis of helix described by these four atoms. the direction cosines (l, m, n) of the helix axis U are obtained from the cross product of vectors V1 and V2: U (l, m, n) = (V1 X V2) / (V1 X V2)
Geometric parameters are derived from the following equations: Twist (t) = cos^{1} ((V1.V2) / (V1V2))
 Vtor (θ) = Calculation is similar to that of (φ, ψ). The only difference is that the four atoms involved are Cα. Since, the bonds between them are virtual, the torsional angle is called Vtor (Virtual torsional angle)
 Rise per Residue (h) = ((B2.U) / U
 Radius (r) = (sqrt (V1V2) / (2(1cos^{1}t)))
 Bending Angle (BA) = it is defined as an angle between the helical axes of two successive turns involving Cα atoms CA_{1}, CA_{2}, CA_{3}, CA_{4} and CA_{4}, CA_{5}, CA_{6}, CA_{7}. The bending angle obtained will be at CA_{4}
Identification of continuous stretches:
Two contiguous repeating units will be said to be a part of a continuous stretch, if and only if the absolute value of (Twist difference (ΔTwist), Rise difference (Δh), Vtor difference (ΔVtor)) ≤ (35°, 1.1Å, 50°), where  ΔTwist = Twist1  Twist2
 Δh = h1  h2
 ΔVtor = Vtor1  Vtor2
here (Twist1, h1, Vtor1) and (Twist2, h2, Vtor2) are the structural parameters of repeating units 1 and 2 respectively.
Classifying the continuous stretches:
Continuous stretches as a whole or part of it are further classified into different type of SSEs by first assigning characters (A/ a, G/ g, I/ i, P, S and U) to individual step based on the step parameter values.
Final arrangement:
No two secondary structures should be overlapping and inorder to address this issue, final check of the same is done. Here we make use of minimum length criteria of different Secondary structure elements (SSEs) identified by ASSP. The minimum possible length for π, α, 310 and PPII helices are 5, 4, 3 and 3 residues respectively. The overlap between two SSEs (assuming 1st SSE is S1 and 2nd is S2) can only be of one residue at the junction. Broadly two cases are possible:
Case 1: When the two SSEs are of different SSE types Based on the length of two SSEs, it is further divided into four different categories.
 Length of S1 is the minimum possible and that of S2 is more than the minimum possible. In this case, the terminii of S1 remains the same, while N2 of S2 becomes N1, with the length of S2 reduced by one.
 Length of S1 is more than the minimum possible and that of S2 is the minimum possible. In this case, the terminii of S2 remains the same, while C2 of S1 becomes the C1 with the length of S1 reduced by one.
 Length of S1 and S2 both are more than the minimum possible. The treatment to this case will be similar to the case (ii).
 Length of S1 and S2 both are minimum possible. If the SSEs are of same type, both are merged to give a single SSE of the same type and in this case the bending angle is not checked. in case, when the SSE types are different, the SSEs will be merged and the new SSE will be of the longer one.
 When the length of either of S1 or S2 is less than minimum possible and other SSE is longer than the minimum possible: The SSE with the length < minimum possible, will be merged to the longer one
Case 2: When the two SSEs are of same types
when the two secondary structure elements (SSE) are of same type and the bending angle at the overlapping residue ≤ 60°, the two SSEs are combined with the N1 coming from the 1st SSE and C1 from 2nd. In other case, where the bending angle at the overlapping residue > 60°, we treat them as two seperate SSEs and further arrangement is same as of case1.
