It is now widely recognized that gene expression and cellular processes include a probabilistic component. However, this does not essentially modify the theory of genetic programming. This stochastic aspect, which is called noise, is usually conceived as a margin of fluctuation in the way the genetic program functions and the latter remains understood as a specific mechanism guided by genetic information. In contrast, recent data show that proteins do not possess a high level of specificity. They can interact with numerous molecular partners. As a consequence molecular interactions are not simply "noisy". Because they are subject to large combinatorial interaction possibilities, they are also intrinsically stochastic and must be sorted out by the cell structure. This contradicts the genetic programming theory which is based on the idea that protein interactions are directed by their stereospecificity and genetic information. Taking into account the lack of protein specificity leads to a new theory. Natural selection acts not only in evolution but also in ontogenesis by sorting stochastic molecular interactions. In this frame, the making up of an organism, instead of being a simple bottom-top process in which information flows from genes to phenotypes, is both a bottom-top and top-bottom process. Genes provide proteins, but their stochastic interactions are sorted by selective constraints arising from the cell and multi-cellular structures, which are themselves subject to the action of natural selection.