Heterogeneous nucleation of three-dimensional protein nanocrystals