Concepts and applications of molecular similarity