Learning protein secondary structure from sequential and relational data