Marker gene fishing for single-cell data with complex heterogeneity