Many problems in computational biology and chemistry can be formalized as classical statistical problems, e.g., pattern recognition, regression or dimension reduction, on complex or structued data such as graphs or high-dimensional vectors. In this lecture I discuss several recent approaches to cope with such problems, in particular the difficulty to construct explicitly expressive descriptors, the kernel trick to work implicitly with many features, and the estimation of sparse classifiers. These strategies are illustrated on different applications such as the classification of small molecules for virtual screening of drugs, and the classification of gene expression data and comparative genomic hybridization (CGH) profiles for cancer diagnosis and prognosis.