Learning Causal Networks from Gene Expression Data