Synthetic virology: engineering viruses for gene delivery | Synapse