PHENOstruct: Prediction of human phenotype ontology terms using heterogeneous data sources