Create the InferCNV Object

Reading in the raw counts matrix and meta data, populating the infercnv object

infercnv_obj = CreateInfercnvObject(
  raw_counts_matrix="oligodendroglioma_expression_downsampled.counts.matrix",
  annotations_file="oligodendroglioma_annotations_downsampled.txt",
  delim="\t",
  gene_order_file="gencode_downsampled.txt",
  ref_group_names=c("Microglia/Macrophage","Oligodendrocytes (non-malignant)"))

Filtering genes

Removing those genes that are very lowly expressed or present in very few cells

# filter out low expressed genes
cutoff=2
infercnv_obj <- require_above_min_mean_expr_cutoff(infercnv_obj, cutoff)
## INFO [2018-09-13 16:17:17] ::above_min_mean_expr_cutoff:Start
## INFO [2018-09-13 16:17:17] ::process_data:Averages (counts).
## INFO [2018-09-13 16:17:17] Removing  4585  genes from matrix as below mean expr threshold:  2
# filter out bad cells
min_cells_per_gene=3
infercnv_obj <- require_above_min_cells_ref(infercnv_obj, min_cells_per_gene=min_cells_per_gene)
## INFO [2018-09-13 16:17:17] no genes removed due to min cells/gene filter
## for safe keeping
infercnv_orig_filtered = infercnv_obj
#plot_mean_chr_expr_lineplot(infercnv_obj)
save('infercnv_obj', file = 'infercnv_obj.orig_filtered')

Normalize each cell’s counts for sequencing depth

infercnv_obj <- infercnv:::normalize_counts_by_seq_depth(infercnv_obj)

perform Anscombe normalization

Suggested by Matan for removing noisy variation at low counts

infercnv_obj <- infercnv:::anscombe_transform(infercnv_obj)
save('infercnv_obj', file='infercnv_obj.anscombe')
#plot_mean_chr_expr_lineplot(infercnv_obj)

log transform the normalized counts:

infercnv_obj <- log2xplus1(infercnv_obj)
save('infercnv_obj', file='infercnv_obj.log_transformed')

Apply maximum bounds to the expression data to reduce outlier effects

threshold = mean(abs(get_average_bounds(infercnv_obj)))
infercnv_obj <- apply_max_threshold_bounds(infercnv_obj, threshold=threshold)
## INFO [2018-09-13 16:17:19] ::process_data:setting max centered expr, threshold set to: +/-:  4.35428798484577

Initial view, before inferCNV operations:

plot_cnv(infercnv_obj, output_filename='infercnv.logtransf', x.range="auto", title = "Before InferCNV (filtered & log2 transformed)", color_safe_pal = FALSE, x.center = mean(infercnv_obj@expr.data))
## INFO [2018-09-13 16:17:19] ::plot_cnv:Start
## INFO [2018-09-13 16:17:19] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=2112883.27896592 Min=1.15363990062636 Max=4.35428798484577.
## INFO [2018-09-13 16:17:19] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## INFO [2018-09-13 16:17:19] plot_cnv(): auto thresholding at: (-4.125308 , 4.125308)
## INFO [2018-09-13 16:17:19] plot_cnv_observation:Start
## INFO [2018-09-13 16:17:19] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:17:19] clustering observations via method: average
## INFO [2018-09-13 16:17:19] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:17:30] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:17:30] Quantiles of plotted data range: 1.15363990062636,1.15363990062636,1.24076480762507,2.96549160132047,4.12530813326325
## INFO [2018-09-13 16:17:31] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:17:32] plot_cnv_references:Start
## INFO [2018-09-13 16:17:32] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:17:32] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:17:32] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:17:35] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:17:35] Quantiles of plotted data range: 1.15363990062636,1.15363990062636,1.15363990062636,2.7721294387178,4.12530813326325
## INFO [2018-09-13 16:17:36] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.logtransf.png")

perform smoothing across chromosomes

infercnv_obj = smooth_by_chromosome(infercnv_obj, window_length=101, smooth_ends=TRUE)
## INFO [2018-09-13 16:17:38] ::smooth_window:Start.
save('infercnv_obj', file='infercnv_obj.smooth_by_chr')

# re-center each cell
infercnv_obj <- center_cell_expr_across_chromosome(infercnv_obj, method = "median")
## INFO [2018-09-13 16:17:40] ::center_smooth across chromosomes per cell
save('infercnv_obj', file='infercnv_obj.cells_recentered')
#plot_mean_chr_expr_lineplot(infercnv_obj)

plot_cnv(infercnv_obj, output_filename='infercnv.chr_smoothed', x.range="auto", title = "chr smoothed", color_safe_pal = FALSE)
## INFO [2018-09-13 16:17:41] ::plot_cnv:Start
## INFO [2018-09-13 16:17:41] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=-9564.10623616772 Min=-1.17632839525088 Max=2.50205880548827.
## INFO [2018-09-13 16:17:41] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## INFO [2018-09-13 16:17:41] plot_cnv(): auto thresholding at: (-0.282773 , 0.282773)
## INFO [2018-09-13 16:17:41] plot_cnv_observation:Start
## INFO [2018-09-13 16:17:41] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:17:41] clustering observations via method: average
## INFO [2018-09-13 16:17:41] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:17:53] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:17:53] Quantiles of plotted data range: -0.282772572448298,-0.0953729124297223,0,0.0853529308047876,0.282772572448298
## INFO [2018-09-13 16:17:53] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:17:54] plot_cnv_references:Start
## INFO [2018-09-13 16:17:54] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:17:54] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:17:54] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:17:58] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:17:58] Quantiles of plotted data range: -0.282772572448298,-0.0767169135809505,0,0.0787232170762187,0.282772572448298
## INFO [2018-09-13 16:17:58] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.chr_smoothed.png")

subtract the reference values from observations, NOW HAVE LOG (FOLD CHANGE) VALUES

infercnv_obj <- subtract_ref_expr_from_obs(infercnv_obj)
## INFO [2018-09-13 16:18:01] ::subtract_ref_expr_from_obs:Start
save('infercnv_obj', file='infercnv_obj.ref_subtracted')
#plot_mean_chr_expr_lineplot(infercnv_obj, sep_obs_types = TRUE)
plot_cnv(infercnv_obj, output_filename='infercnv.ref_subtracted', x.range="auto", title="ref subtracted", color_safe_pal = FALSE)
## INFO [2018-09-13 16:18:24] ::plot_cnv:Start
## INFO [2018-09-13 16:18:24] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=-8593.80079726078 Min=-0.842089154571815 Max=2.60286965503209.
## INFO [2018-09-13 16:18:24] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## INFO [2018-09-13 16:18:24] plot_cnv(): auto thresholding at: (-0.276206 , 0.276206)
## INFO [2018-09-13 16:18:24] plot_cnv_observation:Start
## INFO [2018-09-13 16:18:24] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:18:24] clustering observations via method: average
## INFO [2018-09-13 16:18:24] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:18:36] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:18:36] Quantiles of plotted data range: -0.276206316707659,-0.0525673388113904,0,0.0493368409099437,0.276206316707659
## INFO [2018-09-13 16:18:36] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:18:37] plot_cnv_references:Start
## INFO [2018-09-13 16:18:37] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:18:37] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:18:37] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:18:41] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:18:41] Quantiles of plotted data range: -0.276206316707659,-0.031081123183123,0,0.0297710772158838,0.276206316707659
## INFO [2018-09-13 16:18:41] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.ref_subtracted.png")

invert log values

Converting the log(FC) values to regular fold change values, centered at 1 (no fold change)

This is important because we want (1/2)x to be symmetrical to 1.5x, representing loss/gain of one chromosome region.

infercnv_obj <- invert_log2(infercnv_obj)
save('infercnv_obj', file='infercnv_obj.inverted_log')
#plot_mean_chr_expr_lineplot(infercnv_obj, sep_obs_types = TRUE)
plot_cnv(infercnv_obj, output_filename='infercnv.inverted', color_safe_pal = FALSE, x.range="auto", x.center=1, title = "inverted log FC to FC")
## INFO [2018-09-13 16:18:44] ::plot_cnv:Start
## INFO [2018-09-13 16:18:44] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=1056169.98990042 Min=0.557835187422296 Max=6.07493787447548.
## INFO [2018-09-13 16:18:44] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## INFO [2018-09-13 16:18:44] plot_cnv(): auto thresholding at: (-1.126848 , 1.126848)
## INFO [2018-09-13 16:18:45] plot_cnv_observation:Start
## INFO [2018-09-13 16:18:45] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:18:45] clustering observations via method: average
## INFO [2018-09-13 16:18:45] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:18:56] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:18:56] Quantiles of plotted data range: 0.557835187422296,0.964218931601017,1,1.03478915622697,1.12684808754383
## INFO [2018-09-13 16:18:56] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:18:57] plot_cnv_references:Start
## INFO [2018-09-13 16:18:57] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:18:57] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:18:57] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:19:00] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:19:00] Quantiles of plotted data range: 0.606631603937594,0.978686617002736,1,1.02085012723308,1.12684808754383
## INFO [2018-09-13 16:19:00] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.inverted.png")

Removing noise

infercnv_obj <- clear_noise_via_ref_mean_sd(infercnv_obj, sd_amplifier = 1.5)
## INFO [2018-09-13 16:19:03] :: **** clear_noise_via_ref_quantiles **** : removing noise between bounds:  0.920654261003624 - 1.0829412024659
save('infercnv_obj', file='infercnv_obj.denoised')
#plot_mean_chr_expr_lineplot(infercnv_obj, sep_obs_types = TRUE)
plot_cnv(infercnv_obj, output_filename='infercnv.denoised', x.range="auto", x.center=1, title="denoised", color_safe_pal = FALSE)
## INFO [2018-09-13 16:19:03] ::plot_cnv:Start
## INFO [2018-09-13 16:19:03] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=1056199.99050381 Min=0.557835187422296 Max=6.07493787447548.
## INFO [2018-09-13 16:19:03] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## INFO [2018-09-13 16:19:03] plot_cnv(): auto thresholding at: (-1.126848 , 1.126848)
## INFO [2018-09-13 16:19:04] plot_cnv_observation:Start
## INFO [2018-09-13 16:19:04] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:19:04] clustering observations via method: average
## INFO [2018-09-13 16:19:04] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:19:15] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:19:15] Quantiles of plotted data range: 0.557835187422296,1.00179773173476,1.00179773173476,1.00179773173476,1.12684808754383
## INFO [2018-09-13 16:19:15] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:19:16] plot_cnv_references:Start
## INFO [2018-09-13 16:19:16] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:19:16] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:19:16] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:19:19] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:19:19] Quantiles of plotted data range: 0.606631603937594,1.00179773173476,1.00179773173476,1.00179773173476,1.12684808754383
## INFO [2018-09-13 16:19:19] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.denoised.png")

Remove outlier data points

This generally improves on the visualization

infercnv_obj = remove_outliers_norm(infercnv_obj)
## INFO [2018-09-13 16:19:22] ::remove_outlier_norm:Start out_method: average_bound lower_bound: NA upper_bound: NA
## INFO [2018-09-13 16:19:22] ::remove_outlier_norm using method: average_bound for defining outliers.
save('infercnv_obj', file="infercnv_obj.outliers_removed")
plot_cnv(infercnv_obj, output_filename='infercnv.outliers_removed', color_safe_pal = FALSE, x.range="auto", x.center=1, title = "outliers removed")
## INFO [2018-09-13 16:19:22] ::plot_cnv:Start
## INFO [2018-09-13 16:19:22] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=1056137.9046635 Min=0.687883225678836 Max=1.85002718108154.
## INFO [2018-09-13 16:19:22] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## INFO [2018-09-13 16:19:22] plot_cnv(): auto thresholding at: (-1.126848 , 1.126848)
## INFO [2018-09-13 16:19:23] plot_cnv_observation:Start
## INFO [2018-09-13 16:19:23] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:19:23] clustering observations via method: average
## INFO [2018-09-13 16:19:23] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:19:33] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:19:33] Quantiles of plotted data range: 0.687883225678836,1.00179773173476,1.00179773173476,1.00179773173476,1.12684808754383
## INFO [2018-09-13 16:19:33] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:19:34] plot_cnv_references:Start
## INFO [2018-09-13 16:19:34] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:19:34] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:19:34] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:19:38] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:19:38] Quantiles of plotted data range: 0.687883225678836,1.00179773173476,1.00179773173476,1.00179773173476,1.12684808754383
## INFO [2018-09-13 16:19:38] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.outliers_removed.png")

save('infercnv_obj', file='infercnv_obj.final')

Find DE genes by comparing the mutant types to normal types, BASIC

Runs a t-Test comparing tumor/normal for each patient and normal sample, and masks out those genes that are not significantly DE.

load('infercnv_obj.final')
plot_data = infercnv_obj@expr.data
high_threshold = max(abs(quantile(plot_data[plot_data != 0], c(0.05, 0.95))))  

low_threshold = -1 * high_threshold 

infercnv_obj2 <- infercnv:::mask_non_DE_genes_basic(infercnv_obj, test.use = 't', center_val=1)
## INFO [2018-09-13 16:19:41] Finding DE genes between malignant_MGH36 and Microglia/Macrophage
## INFO [2018-09-13 16:19:42] Found 3154 genes as DE
## INFO [2018-09-13 16:19:42] Finding DE genes between malignant_MGH36 and Oligodendrocytes (non-malignant)
## INFO [2018-09-13 16:19:43] Found 2930 genes as DE
## INFO [2018-09-13 16:19:43] Finding DE genes between malignant_MGH53 and Microglia/Macrophage
## INFO [2018-09-13 16:19:44] Found 2563 genes as DE
## INFO [2018-09-13 16:19:44] Finding DE genes between malignant_MGH53 and Oligodendrocytes (non-malignant)
## INFO [2018-09-13 16:19:46] Found 2156 genes as DE
## INFO [2018-09-13 16:19:46] Finding DE genes between malignant_93 and Microglia/Macrophage
## INFO [2018-09-13 16:19:47] Found 2542 genes as DE
## INFO [2018-09-13 16:19:47] Finding DE genes between malignant_93 and Oligodendrocytes (non-malignant)
## INFO [2018-09-13 16:19:48] Found 1996 genes as DE
## INFO [2018-09-13 16:19:48] Finding DE genes between malignant_97 and Microglia/Macrophage
## INFO [2018-09-13 16:19:49] Found 2521 genes as DE
## INFO [2018-09-13 16:19:49] Finding DE genes between malignant_97 and Oligodendrocytes (non-malignant)
## INFO [2018-09-13 16:19:51] Found 2357 genes as DE
plot_cnv(infercnv_obj2, output_filename='infercnv.non-DE-genes-masked', color_safe_pal = FALSE, x.range=c(low_threshold, high_threshold), x.center=1, title = "non-DE-genes-masked")
## INFO [2018-09-13 16:19:51] ::plot_cnv:Start
## INFO [2018-09-13 16:19:51] ::plot_cnv:Current data dimensions (r,c)=5753,184 Total=1054566.68705849 Min=0.687883225678836 Max=1.85002718108154.
## INFO [2018-09-13 16:19:51] ::plot_cnv:Depending on the size of the matrix this may take a moment.
## Warning in if (length(x.range) == 1 & x.range == "auto") {: the condition
## has length > 1 and only the first element will be used
## INFO [2018-09-13 16:19:51] plot_cnv_observation:Start
## INFO [2018-09-13 16:19:51] Observation data size: Cells= 142 Genes= 5753
## INFO [2018-09-13 16:19:51] clustering observations via method: average
## INFO [2018-09-13 16:19:51] plot_cnv_observation:Writing observation groupings/color.
## INFO [2018-09-13 16:20:01] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:20:01] Quantiles of plotted data range: 0.687883225678836,1,1,1.00179773173476,1.12684808754383
## INFO [2018-09-13 16:20:01] plot_cnv_references:Writing observation data to ./observations.txt
## INFO [2018-09-13 16:20:02] plot_cnv_references:Start
## INFO [2018-09-13 16:20:02] Reference data size: Cells= 42 Genes= 5753
## INFO [2018-09-13 16:20:02] plot_cnv_references:Number reference groups= 2
## INFO [2018-09-13 16:20:02] plot_cnv_references:Plotting heatmap.
## INFO [2018-09-13 16:20:05] Colors for breaks:  #00008B,#24249B,#4848AB,#6D6DBC,#9191CC,#B6B6DD,#DADAEE,#FFFFFF,#EEDADA,#DDB6B6,#CC9191,#BC6D6D,#AB4848,#9B2424,#8B0000
## INFO [2018-09-13 16:20:05] Quantiles of plotted data range: 0.687883225678836,1.00179773173476,1.00179773173476,1.00179773173476,1.12684808754383
## INFO [2018-09-13 16:20:05] plot_cnv_references:Writing reference data to ./references.txt
## quartz_off_screen 
##                 2
knitr::include_graphics("infercnv.non-DE-genes-masked.png")