Techniques for Nucleic Acid Engineering: The Foundation of Gene Manipulation