Inspire by Steve Hanov's Blog
Build a Trie where each vectice is an amino acid and the leaf represent a peptide. This structure enables us to do fast hamming distance d query with a customized distance function. For example ignoring the difference between "I" and "L"