Finding semantic patterns in omics data using concept rule learning with an ontology-based refinement operator