inspired by http://rosalind.info/problems/prot/