Functional genomics: tools of the trade