scCDC: a computational method for gene-specific contamination detection and correction in single-cell and single-nucleus RNA-seq data