This document is concerned with analyzing RNAseq data of human and parasite during the infection of human macrophages. A few different strains of L. panamensis were used; the experiment is therefore segregated into groups named ‘self-healing’, ‘chronic’, and ‘uninfected’. Two separate sets of libraries were generated, one earlier set with greater coverage, and a later set including only 1 uninfected sample, and 2-3 chronic samples.
I just realized that what I need to do is to take the surrogate estimates from the human experiment. Using those I think I will be able to get a more realistic estimate of what is going on.
macrophage_parasite <- expt_subset(parasite_expt, subset="experimentname=='macrophage'")
chosen_colors <- c("#990000", "#000099")
names(chosen_colors) <- c("macro_ch", "macro_sh")
macrophage_parasite <- set_expt_colors(macrophage_parasite, colors=chosen_colors)
testing <- sm(write_expt(macrophage_parasite,
excel=paste0("excel/macrophage_parasite_data-v", ver, ".xlsx"),
violin=TRUE)
## Error: <text>:8:0: unexpected end of input
## 6: excel=paste0("excel/macrophage_parasite_data-v", ver, ".xlsx"),
## 7: violin=TRUE)
## ^
Now lets try removing some of the surrogates, the two primary candidates are the strains which I proxy with 3 columns: snpclade, snpcladev2, and snpcladev3; and the batch. In this data set batch is either a or b.
In theory, sva should pick up both of those in one invocation.
## Perform a 'normal' sva
macrophage_sva_norm <- sm(normalize_expt(macrophage_parasite, batch="svaseq", filter=TRUE))
## Error in normalize_expt(macrophage_parasite, batch = "svaseq", filter = TRUE): object 'macrophage_parasite' not found
## Play with the normalization of it
macrophage_sva_norm <- sm(normalize_expt(macrophage_sva_norm, filter=TRUE, convert="cpm",
norm="quant", transform="log2"))
## Error in normalize_expt(macrophage_sva_norm, filter = TRUE, convert = "cpm", : object 'macrophage_sva_norm' not found
macrophage_sva_met <- sm(graph_metrics(macrophage_sva_norm))
## Error in corheat$plot: $ operator is invalid for atomic vectors
## Try limma's method
macrophage_limma_norm <- sm(normalize_expt(macrophage_parasite, batch="limma", filter=TRUE,
batch2="snpcladev3", convert="cpm", norm="quant"))
## Error in normalize_expt(macrophage_parasite, batch = "limma", filter = TRUE, : object 'macrophage_parasite' not found
macrophage_limma_norm <- sm(normalize_expt(macrophage_limma_norm, convert="cpm",
norm="quant", filter=TRUE))
## Error in normalize_expt(macrophage_limma_norm, convert = "cpm", norm = "quant", : object 'macrophage_limma_norm' not found
macrophage_limma_met <- sm(graph_metrics(macrophage_limma_norm))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macrophage_sva_met$pcaplot
## Error in eval(expr, envir, enclos): object 'macrophage_sva_met' not found
Another method might be to try using limmaresid to explicitly pull both columns.
macrophage_limma_met$pcaplot
## Error in eval(expr, envir, enclos): object 'macrophage_limma_met' not found
Another method might be to try pca on two separate invocations.
macrophage_pca_norm <- sm(normalize_expt(macrophage_parasite, batch="pca", filter=TRUE))
## Error in normalize_expt(macrophage_parasite, batch = "pca", filter = TRUE): object 'macrophage_parasite' not found
macrophage_pca_norm <- set_expt_batch(expt=macrophage_pca_norm, fact="snpcladev3")
## Error in set_expt_batch(expt = macrophage_pca_norm, fact = "snpcladev3"): object 'macrophage_pca_norm' not found
macrophage_pca_norm <- sm(normalize_expt(macrophage_pca_norm, batch="pca"))
## Error in normalize_expt(macrophage_pca_norm, batch = "pca"): object 'macrophage_pca_norm' not found
macrophage_pca_norm <- sm(normalize_expt(macrophage_pca_norm, convert="cpm",
norm="quant", transform="log2",
filter=TRUE))
## Error in normalize_expt(macrophage_pca_norm, convert = "cpm", norm = "quant", : object 'macrophage_pca_norm' not found
macrophage_pca_met <- sm(graph_metrics(macrophage_pca_norm))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macrophage_pca_met$pcaplot
## Error in eval(expr, envir, enclos): object 'macrophage_pca_met' not found
If indeed the human surrogates are a primary determinant in the parasite data, then we should be able to see that in some sample estimations of the parasite data. Let us try!
surrogate_estimations <- new.env()
load("savefiles/macrophage_estimation_human.rda.xz", envir=surrogate_estimations)
surrogate_estimations <- surrogate_estimations$surrogate_estimations
summary(surrogate_estimations)
## Length Class Mode
## pca_adjust 7 -none- list
## sva_supervised_adjust 7 -none- list
## sva_unsupervised_adjust 7 -none- list
## ruv_supervised_adjust 7 -none- list
## ruv_residual_adjust 7 -none- list
## ruv_empirical_adjust 7 -none- list
## adjustments 8 -none- list
## correlations 64 -none- numeric
## plot 3 recordedplot list
## pca_plots 7 -none- list
## catplots 0 -none- NULL
adjusts <- surrogate_estimations$sva_supervised_adjust$model_adjust
## Remove surrogate estimates #1 and #9
new_adjusts <- as.matrix(adjusts[c(-1, -9), ])
## The question of course, how do I use these estimations to adjust the data?
test_adjusted <- counts_from_surrogates(macrophage_parasite, new_adjusts)
## Error in counts_from_surrogates(macrophage_parasite, new_adjusts): object 'macrophage_parasite' not found
sv_adjusted <- macrophage_parasite
## Error in eval(expr, envir, enclos): object 'macrophage_parasite' not found
Biobase::exprs(sv_adjusted$expressionset) <- test_adjusted
## Error in eval(expr, envir, enclos): object 'test_adjusted' not found
human_adjusted <- subset_expt(sv_adjusted, subset="sampleid!='HPGL0248'")
## Error in expt_subset(...): object 'sv_adjusted' not found
human_adjusted_norm <- sm(normalize_expt(human_adjusted, convert="cpm", filter="simple",
batch="sva", norm="quant", transform="log2"))
## Error in normalize_expt(human_adjusted, convert = "cpm", filter = "simple", : object 'human_adjusted' not found
human_adjusted_norm_metrics <- graph_metrics(human_adjusted_norm)
## Graphing number of non-zero genes with respect to CPM by library.
## Graphing library sizes.
## Warning in plot_libsize(expt, title = libsize_title, ...): restarting
## interrupted promise evaluation
## Graphing a boxplot.
## Warning in plot_boxplot(expt, title = boxplot_title, ...): restarting
## interrupted promise evaluation
## Graphing a correlation heatmap.
## Warning in plot_heatmap(expt_data, expt_colors = expt_colors, expt_design =
## expt_design, : restarting interrupted promise evaluation
## Graphing a standard median correlation.
## Warning in plot_sm(expt, method = cormethod, title = smc_title, ...):
## restarting interrupted promise evaluation
## Graphing a distance heatmap.
## Warning in plot_heatmap(expt_data, expt_colors = expt_colors, expt_design =
## expt_design, : restarting interrupted promise evaluation
## Graphing a standard median distance.
## Warning in plot_sm(expt, method = distmethod, title = smd_title, ...):
## restarting interrupted promise evaluation
## Graphing a PCA plot.
## Warning in plot_pca(expt, title = pca_title, ...): restarting interrupted
## promise evaluation
## Plotting a density plot.
## Warning in plot_density(expt, title = dens_title): restarting interrupted
## promise evaluation
## Printing a color to condition legend.
## Error in corheat$plot: $ operator is invalid for atomic vectors
sv_adjusted <- subset_expt(sv_adjusted, subset="sampleid!='HPGL0248'")
## Error in expt_subset(...): object 'sv_adjusted' not found
sv_adjusted_norm <- sm(normalize_expt(sv_adjusted, convert="cpm", filter="simple",
batch="sva", norm="quant", transform="log2"))
## Error in normalize_expt(sv_adjusted, convert = "cpm", filter = "simple", : object 'sv_adjusted' not found
sv_adjusted_norm_metrics <- sm(graph_metrics(sv_adjusted_norm))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macropara_metrics <- sm(graph_metrics(macrophage_parasite))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macropara_norm <- sm(normalize_expt(macrophage_parasite, convert="cpm", filter=TRUE, norm="quant"))
## Error in normalize_expt(macrophage_parasite, convert = "cpm", filter = TRUE, : object 'macrophage_parasite' not found
macropara_norm_metrics <- sm(graph_metrics(macropara_norm))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macropara_normsva <- sm(normalize_expt(macrophage_parasite, convert="cpm", filter=TRUE, norm="quant",
batch="fsva", transform="log2"))
## Error in normalize_expt(macrophage_parasite, convert = "cpm", filter = TRUE, : object 'macrophage_parasite' not found
macropara_normsva_metrics <- sm(graph_metrics(macropara_normsva))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macropara_normcombat <- sm(normalize_expt(macrophage_parasite, convert="cpm", filter=TRUE,
norm="quant", batch="combat_scale", transform="log2"))
## Error in normalize_expt(macrophage_parasite, convert = "cpm", filter = TRUE, : object 'macrophage_parasite' not found
macropara_normcombat_metrics <- sm(graph_metrics(macropara_normcombat))
## Error in corheat$plot: $ operator is invalid for atomic vectors
macropara_normsvaseq <- sm(normalize_expt(macrophage_parasite, convert="cpm", filter="cbcbseq",
transform="log2", batch="svaseq"))
## Error in normalize_expt(macrophage_parasite, convert = "cpm", filter = "cbcbseq", : object 'macrophage_parasite' not found
macropara_normsvaseq_metrics <- sm(graph_metrics(macropara_normsvaseq))
## Error in corheat$plot: $ operator is invalid for atomic vectors
Now lets compare the results of using the human data to inform the parasite estimations.
Lets first print a few using different metrics before using the human SV estimates. It looks like sva etc are not too bad.
macropara_norm_metrics$pcaplot
## Error in eval(expr, envir, enclos): object 'macropara_norm_metrics' not found
## Just normalizing shows the central concern.
macropara_normsva_metrics$pcaplot
## Error in eval(expr, envir, enclos): object 'macropara_normsva_metrics' not found
## Not too bad
macropara_normcombat_metrics$pcaplot
## Error in eval(expr, envir, enclos): object 'macropara_normcombat_metrics' not found
## Combat cannot deal with this data very well.
macropara_normsvaseq_metrics$pcaplot
## Error in eval(expr, envir, enclos): object 'macropara_normsvaseq_metrics' not found
## svaseq gets a little confused, but not bad.
macropara_normsvaseq_metrics$pcaplot
## Error in eval(expr, envir, enclos): object 'macropara_normsvaseq_metrics' not found
Seems pretty good to me.
sv_adjusted_norm_metrics$pcaplot
## Error in eval(expr, envir, enclos): object 'sv_adjusted_norm_metrics' not found
## This is at least as good as the other methods.
In the following, I will attempt to find the variance associated with different experimental factors in the macrophage data with mappings against the parasite transcriptome.
As in macrophage_estimation_parasite.html, I need to pull out the relevant samples:
Start out with just condition and batch
## The default arguments are to query ~ condition + (1|batch)
## Which, because condition is categorical, will end badly.
vp_cb <- sm(varpart(macrophage_parasite, predictor=NULL, factors=c("condition","batch")))
## Error in is.factor(x): object 'macrophage_parasite' not found
vp_cb$percent_plot
## Error in eval(expr, envir, enclos): object 'vp_cb' not found
vp_cb$partition_plot
## Error in eval(expr, envir, enclos): object 'vp_cb' not found
vp_norm <- sm(varpart(macropara_norm, predictor=NULL, factors=c("condition","batch")))
## Error in is.factor(x): object 'macropara_norm' not found
vp_norm$percent_plot
## Error in eval(expr, envir, enclos): object 'vp_norm' not found
vp_norm$partition_plot
## Error in eval(expr, envir, enclos): object 'vp_norm' not found
vp_normsva <- sm(varpart(macropara_normsva, predictor=NULL, factors=c("condition","batch")))
## Error in is.factor(x): object 'macropara_normsva' not found
vp_normsva$percent_plot
## Error in eval(expr, envir, enclos): object 'vp_normsva' not found
vp_normsva$partition_plot
## Error in eval(expr, envir, enclos): object 'vp_normsva' not found