caravagnalab / CNAqc

CNAqc - Copy Number Alteration (CNA) Quality Check package
GNU General Public License v3.0
17 stars 8 forks source link

Some CCFs are greater than 1? #2

Closed b-niu closed 3 years ago

b-niu commented 4 years ago

Dear Giulio,

One thing I noticed is that the CCF results of compute_CCF() will be greater than 1. Is this normal? It can be reproduced as below:

library(CNAqc)

rm(list = ls()); gc()

data("example_dataset_CNAqc")

x = init(example_dataset_CNAqc$snvs, example_dataset_CNAqc$cna, example_dataset_CNAqc$purity)

x = compute_CCF(x, karyotypes = c('1:0', '1:1', '2:1', '2:0', '2:2'))
# Extract the values with these other functions
CCF_df <- CCF(x)
summary(CCF_df$CCF)
> summary(CCF_df$CCF)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.1510  0.9056  0.9757  0.9540  1.0418  2.1236     179 
caravagn commented 3 years ago

Sorry I had missed this issue. Yes it is normal as the way CCFs are historically computed, and of course this is completely at odds with the fact that this should be limited at 1. Some people justify that as the fact that the oscillations around 1 are due to the Binomial noise model.

Anyway, values ~1 are clonal mutation, <1 are subclonal. In general I like to divide the CCF by 0.5 (and call this adjusted VAF( so I get clonal mutations to be have adjusted VAF ~0.5, which is what represents the expected VAF for a clonal heterozygous diploid mutation.

Hope this helps; can I close this issue?

b-niu commented 3 years ago

Thank you Giulio, I'm closing this issuse.