Optimizing the design of protein nanoparticles as carriers for vaccine applications