Combining Hierarchical Inference in Ontologies with Heterogeneous Data Sources Improves Gene Function Prediction