# How to deal with zeros in the denominator when calculating percent enrichment?

I have a data.frame with results from a CRISPR screen.

I want to calculate the % enrichment of a variable of interest var from baseline to treatment group.

Here is the distribution of var in linear:

I can do scale var with log transformation

But many rows with var = 0 will be lost. Moreover, I cannot compare % enrichment by dividing treatmentgroup::var to Control/baseline::var because I will run into the problem of dividing by zero.

I've seen people circumvent this problem by adding a small value ex)0.01 to the entire column of var. But I'm wondering if there's a better way of circumventing this problem. For example, a simple transformation that can deal with zeros and negative values.

Appreciate any input!

• The basic premise that I understand is this: There should not be a zero in your denominator. Zeros in the numerator can be circumvented by pseudocounts, but zero in the denominator indicates some sort of problem in the logic. Also, why are you working on CPMs directly? Why not use a differential expression tool? Feb 26 '20 at 20:19
• @RamRS Many thanks for the input - I'm a first year graduate student and have never worked with crispr screens. Right now I'm kind of brute forcing and see what I can get. Have you personally worked with any differential expression tool with one that you recommend trying out? And is MAGeCK one of those tools? Thanks so much again, appreciate any guidance! Feb 27 '20 at 4:02
• I have worked with DESeq2 but I'm not sure if and how it would apply to CRISPR. Does current research in the field use count data for comparison? How does it account for library depth and other experimental factors? Feb 27 '20 at 16:47
• @Nomad420 you may want to give a try to MAGeCK as you have mentioned. It accepts count data as input and will make your life easier.
– plat
Feb 28 '20 at 14:47

var^(1/3)

sqrt(var)