CSC413-Final Predicting Protein Functions: A Deep Learning Approach to Unraveling Biological Complexity