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: enter image description here

I can do scale var with log transformation enter image description here

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!

  • $\begingroup$ 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? $\endgroup$
    – Ram RS
    Feb 26 '20 at 20:19
  • $\begingroup$ @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! $\endgroup$
    – Nomad420
    Feb 27 '20 at 4:02
  • $\begingroup$ 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? $\endgroup$
    – Ram RS
    Feb 27 '20 at 16:47
  • $\begingroup$ @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. $\endgroup$
    – plat
    Feb 28 '20 at 14:47

Cube root transformation is another way to deal with zeros without dropping them.


EDIT as Michael pointed out, square root transformation is another--perhaps more common--transformation that leaves zeros as zeros.

  • $\begingroup$ Whilst I don't disagree, normally a square root transformation is used $\endgroup$
    – M__
    Apr 18 '20 at 3:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.