Directed self-assembly of CdS quantum dots on bacteriophage P22 coat protein templates.