Gene transfer: A review of methods and applications