DNA hybridization arrays simultaneously measure the expression level for thousands of genes. These measurements provide a ``snapshot'' of the cell's transcriptions. A major challenge in computational biology is to uncover, from such measurements, gene/protein interactions and key biological features of the cellular system. In this paper, we propose a new framework for discovering interactions between genes based on multiple expression measurements. This framework builds on the use of Bayesian networks for representing statistical dependencies. A Bayesian network is a graphical model of joint multivariate probability distributions that captures properties of conditional independence between variables. Such models are attractive for their ability to describe complex stochastic processes, and for providing clear methodologies for learning from (noisy) observations. We start by showing how Bayesian networks can describe interactions between genes. We then present an efficient algorithm capable of learning such networks and a statistical method to assess our confidence in their features. Finally, we apply this method to the S. cerevisae cell-cycle measurements of Spellman et al.  to uncover biological features.