Gravar-mail: Computational design of self-assembling protein nanomaterials with atomic level accuracy