caravagnalab / revolver

REVOLVER - Repeated Evolution in Cancer
https://caravagnalab.github.io/revolver/
64 stars 25 forks source link

How do I make input data with arm level event? #36

Closed TnakaNY closed 3 years ago

TnakaNY commented 3 years ago

Hi, For SNVs, using Pyclone(vi), I can make input data for revolver. But, for CNA event, such like +8q, I am not sure how to make it.

For example, from pyclone analysis (1 primary, 1 metastatic site), we find 4 clones with several variant_ID/CCF. Using a CNA caller, if we find 8q amp only in metastatic site, how do I feed this information to revolver? There is no info that which clone(s) have 8q amp in metastatic site. Should I set 8q amp for all clones in binary setting (just 0 or 1)?

caravagn commented 3 years ago

Hi, good (modelling) question: your problem is that you do not have CCF values for +8q (or any other CNA)

At baseline, you cannot mix CCF and binary data - you either work with one or the other - even because the way trees are computed is different for these types of data.

I'd consider the following options:

So if +8q is clonal in the met, you'd create a "dummy" event in the REVOLVER input with the same CCF values of the clonal cluster in met, and 0 in the primary.

Does it make sense?

TnakaNY commented 3 years ago

Hi, Yes. I see. So, to keep CCF of SNV, I would make input file like this. Example-ChromosomeEventInput.txt

Is there any method to call SNV CCF and CNA to each clone at a same time? HATCHet maybe call CNA CCF for each clone, but it seems difficult to match HATCHet's clone (CNA based clone) with pylone clone (this clone is called based SNV input).

Do you have any suggestions?

caravagn commented 3 years ago

Not sure I understand it. If these are your clonal CNA events in biopsy M (and not in P)

8q-ArmAMP   1   P:0;M:0.50  TRUE
8q-ArmAMP   2   P:0;M:0.20  FALSE
8q-ArmAMP   3   P:0;M:0.80  FALSE

then they should have all the same CCF and same cluster ID.

If X instead is clonal in both M and P, it should have the same CCF and cluster ID of the KRAS

KRAS.G12D   1   P:0.80;M:0.50   TRUE

Not sure how to do otherwise - thought there might be paper doing the computations you mention.

caravagn commented 3 years ago

As a side suggestion, if you have WGS and need to perform deconvolution, I think you might wanna see this paper.

TnakaNY commented 3 years ago

I see. My example condition was not good for example. So, if 8q AMP is detected by some CNA caller (CNVkit etc) in both P and M, can I make input file like this? Example-ChromosomeEventInputV2.txt The point is assign 8qAMP event to clonal-clusterID, not to nonclonal-clusterID. Is this correct?

My sample s WGS. Does Mobster output CNA and SNV CCF of clone? (Not yet read full manuscript, sorry. working from home, now)

caravagn commented 3 years ago

This is correct.

MOBSTER makes you remove neutral tails, which otherwise inflate the number of false clusters in your data. You should read the paper to understand why that has to be done to perform correct deconvolution.

TnakaNY commented 3 years ago

Thanks! You did great work! I will read Mobster paper carefully tomorrow.

caravagn commented 3 years ago

Cool. Good luck with your work.