A-helices are a principal secondary structure found in proteins after protein folding. Their main role is to determine the overall formation of a protein and help define all of its characteristics, creating the thousands of individual proteins that make up the biota around us. The objective of this project was to predict the location of α-helices in proteins by using defined dihedral angle values of peptide bonds. Due to the spiral composition of a helix, we can assume that each dihedral angle belonging to an α-helix must be somewhat congregated with each other, resulting in similar angles, allowing me to create the format of my computation.
Introduction
Introduction
The job of determining the general formation of a protein subsequent to protein folding notably belongs to the secondary structure, α-helices. This structure is formed by backbone interactions, or hydrogen bonds, between the carbonyl oxygen and amino nitrogen of every n+4 amino acid in a peptide and results in an observable spiral shape. Individual characteristics and activities of these amino acid side chains are what regulate α-helix attributes which will eventually culminate into a diverse range of proteins, all with their own independence. However, there are conformational restrictions placed upon these peptide chains. Between each peptide chain, there is a peptide bond that has a strict arrangement and possible obstructions, yet they are planar. This attribute allows the peptide bond to rotate around adjacent bonds, referred to as dihedral angles of φ ( C-N-Cα-C) and ψ (N-Cα-C-N), otherwise denoted as torsion angles. Still, rotations of φ and ψ angles are limited by steric collisions between atoms, restricting the number of combinations that are allowed. The allowed values are most frequently displayed on a Ramachandran plot, which shows what combinations of φ and ψ are possible, therefore indicating which are the most typical to occur.
Ultimately, specific combinations of dihedral angles are what will control the location of α-helices in a polypeptide, allowing us to use various prediction methods on dihedral angles to predict the α-helix position in any given protein.
Ultimately, specific combinations of dihedral angles are what will control the location of α-helices in a polypeptide, allowing us to use various prediction methods on dihedral angles to predict the α-helix position in any given protein.
Finding The Dihedral Angles Of A Protein
Finding The Dihedral Angles Of A Protein
Dihedral Angles
Dihedral Angles
In any protein, the backbone structure is determined by the values of the torsional angles. The torsion angle, otherwise known as a dihedral angle, can be defined by three main types of angles. φ (Phi), ψ (Psi), and ω (Omega). Since the ω angle has a conformed shape, structure is primary determined by the φ and ψ angles. Every protein secondary structure, notably alpha helices, force the protein backbone into a specific order of dihedral angles to determine its own respective structure.
Model
Model
I created a representation from the list of dihedral angles to visualize and highlight where the clustered angles are on the protein backbone.
AnglePath3D takes in a protein name and creates a series of angles that makes a path out of those angles assuming each line is of equal length.
In[]:=
ProteinAngleModel[ProteinName_]:=Graphics3D[Tube[AnglePath3D[ProteinData[ProteinName,"DihedralAngles"]]]]
In[]:=
ProteinAngleModel["HPN"]
Out[]=
Then I compared the model of the backbone that I made using the clustered dihedral angles to a model of the backbone made using Protein Entity in Wolfram.
In[]:=
ProteinEntityModel[ProteinName_]:=Graphics3D[{Tube@BezierCurve@ProteinData[ProteinName,"AtomPositions","Residue"][[All,2]]},BoxedFalse]
In[]:=
ProteinEntityModel["HPN"]
Out[]=
Possible reasons that the two models are not entirely similar is because the first model does not take into account the distance between each angle and the location of it relative to the rest of the backbone.
Grouping The Dihedral Angles By Clusters
Grouping The Dihedral Angles By Clusters
Making Cluster Groups
Making Cluster Groups
Knowing that each α-helix must share a similar set of dihedral angles due to their congregated nature as a result of being a helix, I used FindClusters to group an n amount of corresponding dihedral angles together.
ProteinData takes in all the known dihedral angle, in radians, of a specified protein and clusters them into a list of similar angles.
AllClusters[ProteinName_,NumberClusters_]:=FindClusters[ProteinData[ProteinName,"DihedralAngles"],NumberClusters]
A second version takes in a specific method of clustering.
In[]:=
AllClusters[ProteinName_,NumberClusters_,ClusterMethod_]:=FindClusters[ProteinData[ProteinName,"DihedralAngles"],NumberClusters,MethodClusterMethod]
Assigning Cluster Groups
Assigning Cluster Groups
Now that I have a list showing n groups of similar dihedral angles, I wanted to assign each dihedral angle a number corresponding to the cluster that it belongs to using the base list of dihedral angles, and the list denoting clusters of these dihedral angles.
Position finds what n group each element in the clustered list belongs to and Table executes that on to the base list of angles.
In[]:=
ClusterHelper[BaseList_,ClusterList_]:=Table[Position[ClusterList,i][[1,1]],{i,BaseList}]
Picking Clusters
Picking Clusters
Given what the known average φ and ψ values are for a protein’s α-helix, I wanted to find what cluster of dihedral angles was the most similar to them .I first took the Mean of the clustered list, then took the Nearest value from the Mean of the cluster list to the φ and ψ averages. Then used Position so my output would give the cluster group that closest to the φ and ψ averages.
In[]:=
PhiAverage=-0.994838
Out[]=
-0.994838
In[]:=
PsiAverage=-0.820305
Out[]=
-0.820305
ClusterPicker outputs what cluster group is the closest to φ and ψ averages of an α-helix.
In[]:=
ClusterPicker[Clusters_]:=Position[Mean/@Clusters,Flatten[Nearest[Mean/@Clusters,{PhiAverage,PsiAverage}]]][[1,1]]
Comparing values
Comparing values
Using a preexisting attribute of the Protein Entity in Wolfram called SecondaryStructureRules, I am able to get a list of rules denoting the start and end positions of secondary structures in proteins. As I am only focusing on the α-helices, I have taken out any additional information that is not necessary and only outputted a list of the α-helix start and end positions using Table.
AHelixFetcher outputs the positions of each α-helix in the protein.
In[]:=
AHelixFetcher[ProteinName_]:=Flatten[Table[Table[x,{x,a[[1]],a[[2]]}],{a,Flatten[Values[ProteinData[ProteinName,"SecondaryStructureRules"][[1]]],1]}]]
Next, I compared the position values that I guessed to the position values from the Protein Entity of the helix using the function Intersection, which gives a list of all the values that are similar between two lists. Every single value from AHelixFetcher will be compared to every single value from the clustered group that had been calculated to have the most similar angles to average φ and ψ values.
ProteinIntersections outputs all of the values from the estimation list and the AHelixFetcher list that are the same.
In[]:=
ProteinIntersection[ProteinName_,NumberClusters_]:=Intersection[AHelixFetcher[ProteinName],Flatten[Position[ClusterHelper[ProteinData[ProteinName,"DihedralAngles"],AllClusters[ProteinName,NumberClusters]],ClusterPicker[AllClusters[ProteinName,NumberClusters]]]]]
A second version takes in a specific method of clustering.
In[]:=
ProteinIntersections[ProteinName_,NumberClusters_,ClusterMethod_]:=Intersection[Flatten[Table[Table[x,{x,a[[1]],a[[2]]}],{a,AHelixFetcher[ProteinName]}]],Flatten[Position[ClusterHelper[ProteinData[ProteinName,"DihedralAngles"],AllClusters[ProteinName,NumberClusters,MethodClusterMethod]],ClusterPicker[AllClusters[ProteinName,NumberClusters,MethodClusterMethod]]]]]
Scatter plots
Scatter plots
Initially, creating the visualization of the clusters on a plot diagram was inaccurate as radian clusters cannot be displayed on a 2D plane. When they would cluster, values that were actually close to each other on a polar plane would be separated into two different clusters because they were on opposite sides of the Cartesian plot. To resolve this issue, I converted the dihedral angles onto a 3D spherical model so that the angles would appear in their respective and accurate clusters based on the number of clusters that one specifies. However, it still slightly warps the data but it is preferable to a 2D plot.
ClusterPlot3D creates and plots the spherical coordinates that were calculated using the dihedral angles.
In[]:=
ClusterPlot3D[ProteinName_,NumberClusters_]:=ListPointPlot3D[FindClusters[Table[{Sin[i[[1]]]*Sin[i[[2]]],Cos[i[[1]]],Sin[i[[1]]]*Cos[i[[2]]]},{i,ProteinData[ProteinName,"DihedralAngles"]}]NumberClusters]]
In[]:=
ClusterPlot3D["HPN",5]
Out[]=
Checking accuracy
Checking accuracy
It is essential to check the accuracy of using this method to analyze whether or not this would be a functional method of calculating the location of all α-helices in any given protein. To do this, I first used the Intersections between the shared location values of the helix from the Protein Entity by the location values of the α-helix that I retrieved after finding the most similar cluster to φ and ψ approximations.
Then, I calculated the length of the intersections, which gave the values of the α-helix that were correctly guessed, and the length of the location values that I had estimated. I then divided both of the lengths to see how many of the values that I estimated were actual points of the α-helix. Though this method is not entirely accurate, it does not take abnormal α-helices into account, which have dihedral angles that are not similar to the predicted average or have other irregular characteristics.
Then, I calculated the length of the intersections, which gave the values of the α-helix that were correctly guessed, and the length of the location values that I had estimated. I then divided both of the lengths to see how many of the values that I estimated were actual points of the α-helix. Though this method is not entirely accurate, it does not take abnormal α-helices into account, which have dihedral angles that are not similar to the predicted average or have other irregular characteristics.
GuessAccuracy outputs a percentage of how many real helix values were guessed correctly by the prediction model.
A second version takes in a specific method of clustering.
Guessing randomly
Guessing randomly
Previously, the accuracy of a specified cluster group was calculated. However, it is still necessary to observe the results of random cluster groups to prove that the first prediction was the most precise and beneficial to the overall computation.The accuracy rates using random clusters was significantly lower, indicating that the initial method was the best determination of the α-helix.
By using a similar process as before, I divided the length of the real α-helix values with the length of all the amino acid residues in the protein to see the percentage of how many real helix values were guessed correctly.
Comparing The Distribution Of Angles
Comparing The Distribution Of Angles
By using the previous methods, we can analyze the distribution of predicted α-helix dihedral angles across a variation of proteins, and compare them to the distribution of the confirmed α-helix dihedral angles. This allows us to explore how accurate the prediction method was on multiple proteins. The first part of this was to find and output the estimated α-helix dihedral angles of each protein. To do this, Module defines a variable to only be used in the specified function. ClusterResults uses ClusterHelper to show what angle from a base list is apart of what cluster group. PickedCluster uses ClusterPicker to look at all of the clustered groups and choose which is closest to average φ and ψ values.
PredictedAngles takes all of the defined cluster groups, picks out the estimated α-helix, and redefines them with their dihedral angles.
The second part was to take all of the approximated α-helix dihedral angles from a list of proteins.
Table takes in the list of proteins and places the estimations on them.
I also created a function that takes the real α-helix values from the Protein Entity of multiple proteins. This can be used to compare the distribution of dihedral angles from the prediction method to the distribution of real dihedral angles. This was done by replacing aspects that calculated the previous approximations with AHelixFetcher, the function that outputted confirmed values.
Now to create a visualization depicting the distribution of angles throughout many proteins, I used ListDensityPlot, which shows a deeper color concentration where the frequency of common dihedral angles occur based on the φ and ψ values is higher. By taking the respective function, the output shows the most recurrent dihedral values across multiple proteins, allowing us to observe their disposition and conclude what values are most often associated with the α-helix. I did this for both the guessed values and the real values to compare both.
GuessDensityVariation outputs a DensityPlot that shows the frequency of guessed α-helix dihedral angles across a variation of proteins.
GuessDensityVariation outputs a DensityPlot that shows the frequency of real α-helix dihedral angles across a variation of proteins.
Evidently, the deepest frequency of dihedral values is different, yet they are in similar regions, proving that the prediction method is actually somewhat accurate. As mentioned before, this would be due to many factors that are not being taken into account by the prediction model. However, it still provides an interesting basis for observation and is a good indicator for understanding dihedral angle behavior in proteins.
Conclusion
Conclusion
Remarks
Remarks
Though prediction methods using dihedral angles did not result in perfect success rates, they still provided a solid general basis for understanding protein secondary structure and the attributes that make up α-helices. It was extremely interesting to explore how such a simple thing, like the range of a peptide bond’s dihedral angles, can end up determining the proteome of all living things by utilizing structures like the α-helix.
There were a lot of things that could have been improved upon, especially picking what approach to prediction would be feasible within a condensed period of time. The main issue with the approach that I ended up taking, was that the accuracy rate was very low. This would be due to a multitude of reasons, such as not defining residue properties before taking their peptide bond’s angles because not every dihedral angle was meant to be an α-helix. So, it would provide some additional filtering before calculations. Another problem was that it did not take into account dihedral angles that were not related to φ and ψ approximations.
There were a lot of things that could have been improved upon, especially picking what approach to prediction would be feasible within a condensed period of time. The main issue with the approach that I ended up taking, was that the accuracy rate was very low. This would be due to a multitude of reasons, such as not defining residue properties before taking their peptide bond’s angles because not every dihedral angle was meant to be an α-helix. So, it would provide some additional filtering before calculations. Another problem was that it did not take into account dihedral angles that were not related to φ and ψ approximations.
In the future, I would really enjoy using neural networks to predict the α-helix location because of how much more of an accurate calculation it could provide. In a neural network system, you can understand the relationship between each residue and its neighbors, providing a more accurate guess. Considering that I did not use neural networks, my prediction method was satisfactory based on the two DensityPlot comparisons.
Acknowledgments
Acknowledgments
Thank you to Noemi Chulo for being such an amazing and supportive mentor and Robert B. Nachbar for providing a wonderful understanding to help approach the project.
Citations
Citations
Alpha Helix. Alpha Helix - an overview | ScienceDirect Topics. (n.d.). Retrieved July 20, 2022, from https://www.sciencedirect.com/topics/biochemistry-genetics-and-molecular-biology/alpha-helix #:~:text=% CE % B1 %2 Dhelices %20 are %20 formed %20 and,and %20 i %20 %2 B %204 th %20 amino %20 acids.
Ramachandran plot. Ramachandran Plot - an overview | ScienceDirect Topics. (n.d.). Retrieved July 20, 2022, from https://www.sciencedirect.com/topics/biochemistry-genetics-and-molecular-biology/ramachandran-plot #:~:text=The %20 Ramachandran %20 plot %20 shows %20 the,et %20 al.%2C %201963).
YouTube. (2021, January 25). Understanding phi and psi angles, Ramachandran Plots, & newman projections. YouTube. Retrieved July 20, 2022, from https://www.youtube.com/watch?v=JyUMLSsbecI&t=19s
Ramachandran plot. Ramachandran Plot - an overview | ScienceDirect Topics. (n.d.). Retrieved July 20, 2022, from https://www.sciencedirect.com/topics/biochemistry-genetics-and-molecular-biology/ramachandran-plot #:~:text=The %20 Ramachandran %20 plot %20 shows %20 the,et %20 al.%2C %201963).
YouTube. (2021, January 25). Understanding phi and psi angles, Ramachandran Plots, & newman projections. YouTube. Retrieved July 20, 2022, from https://www.youtube.com/watch?v=JyUMLSsbecI&t=19s