2.5 years ago by
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
You simply run featureCounts() with countMultiMappingReads=TRUE and fraction=TRUE.
The help page for featureCounts() says
logical indicating if fractional counts will be produced for multi-mapping reads. If TRUE, a fractional count, 1/n, will be generated for each reported alignment of a multi-mapping read, where n is the total number of alignments reported for that read. countMultiMappingReads must be set to TRUE when fraction is TRUE."
Both edgeR and limma accept fractional counts for analyzing RNA-seq data.
If you must round the counts, then rounding to the nearest integer (up or down) would be far better than rounding up. You can easily do this by:
fc <- featureCounts(files,countMultiMappingReads=TRUE,fraction=TRUE)
fc$counts <- round(fc$counts)
Note: fractional counting was introduced in Rsubread 1.20.0, so you must be using the latest release of R and Bioconductor.