cancer-data
cancer-data copied to clipboard
Compute differential expression (tumor versus normal in paired samples) for cancers
Note to untrack data/complete/differential-expression.tsv.bz2
before merging.
This is something that @ksimeono -- a cancer biologist -- was interested it. It's potentially out of scope for Cognoma, but I thought it's pretty useful.
No rush to merge, just wanted to get this up here.
Output looks like this:
acronym | entrez_gene_id | patients | tumor_mean | normal_mean | mean_diff | t_stat | mlog10_p_value | symbol |
---|---|---|---|---|---|---|---|---|
BLCA | 1 | 19 | 5.328 | 4.966 | 0.3621 | 1.062 | 0.5197 | A1BG |
BLCA | 2 | 19 | 12.48 | 15.25 | -2.765 | -10.23 | 8.202 | A2M |
BLCA | 9 | 19 | 6.339 | 6.009 | 0.3295 | 1.197 | 0.6073 | NAT1 |
BLCA | 10 | 19 | 1.008 | 0.5923 | 0.4162 | 1.472 | 0.8006 | NAT2 |
BLCA | 12 | 19 | 6.082 | 9.63 | -3.548 | -4.912 | 3.95 | SERPINA3 |
BLCA | 13 | 19 | 4.782 | 4.503 | 0.2795 | 0.3025 | 0.1159 | AADAC |
BLCA | 14 | 19 | 11.43 | 11.45 | -0.02632 | -0.2713 | 0.1028 | AAMP |
BLCA | 15 | 19 | 0.7949 | 0.5788 | 0.2161 | 1.029 | 0.4986 | AANAT |
@gwaygenomics what do you think of the plot in 5.differential-expression.ipynb
? In other words, do you see biology within?
The heatmap shows differential expression signatures for each cancer. Genes were transformed to 100 genes using NMF. Fill color represents the t-statistic.
what do you think of the plot
There is a lot going on in it! I am going to outline what it is and try to extract biology along the way.
- NMF for 100 components - this ideally would bicluster your data into samples and linear gene modules.
- Do you have any sense of if 100 components reconstructs the solution well? A pareto reconstruction curve would be useful to visualize, if its not too computationally taxing.
- You define components this way and then you subset based on matching samples
- Disease-type specific t-tests for each NMF component
- Testing the mean difference between
tumor
vs.tumor adjacent
- Equal variance assumption is probably violated - maybe good to use Welch's t test instead
- Could be part of the reason for huge t statistics?
- Not sure if python has implementation to solve that but R does (
t.test(tumor, tumor_adjacent, var.equal=False)
)
- This analysis is somewhat similar to Gross et al. 2015
- Testing the mean difference between
- This is tough to interpret without seeing the gene contributions that make up each component (could do some sort of rough pathway analysis (like WebGestalt) using the high-weight genes from the more variable components). If you're curious, I would probably start with some of the components from BRCA or KIRC (bigger sample size)
- But despite this, it looks really cool - diseases cluster as expected (e.g. LUAD/LUSC and COAD/READ) and there appear to be components that are consistently up or down in tumor vs. tumor adjacent
I think a rough description of what is going on with the genes in each component would spark more biological discussion. Another thing to keep in mind is that the "normals" are actually "tumor adjacent" and are opportunistically extracted from "nearby" tissue when the surgeon can (therefore, no GBM tumor adjacent). I think its important to not consider this "normal" (Troester et al. 2016) (to be clear, the terminology is ok, but I mean thinking about this as normal tissue could be a trap!)
A conceptual summary comparing the approach with Gross et al. would be good somewhere in the notebook - particularly if you link to that paper.
Agree with @gwaygenomics that some sort of biologically meaningful notation of the metagenes would be beneficial. Out of my element in terms of what's possible, but grouping genes by pathway initially instead of metagene could be something similar but with inherent meaning.
Along the same lines, expanded names for the cancers, rather than just TCGA acronyms would improve readability.
@gwaygenomics we're using a paired t-test, about which the following has been said:
The paired t-test calculates the difference within each before-and-after pair of measurements, determines the mean of these changes, and reports whether this mean of the differences is statistically significant. A paired t-test can be more powerful than a 2-sample t-test because the latter includes additional variation occurring from the independence of the observations. A paired t-test is not subject to this variation because the paired observations are dependent. Also, a paired t-test does not require both samples to have equal variance. Therefore, if you can logically address your research question with a paired design, it may be advantageous to do so, in conjunction with a paired t-test, to get more statistical power.
Thanks @cgreene, @ksimeono, & @gwaygenomics for the comments. Will be at least a week before I get around to addressing them.
A paired t-test is not subject to this variation because the paired observations are dependent. Also, a paired t-test does not require both samples to have equal variance.
Ah yes, good point!