Development and application of computational techniques to drug discovery and structure-function relationships