Protein secondary structure prediction using neural networks and deep learning: a review