We take the annotation data from ensembl’s biomart instance. The genome which was used to map the data was hg38 revision 100. My default when using biomart is to load the data from 1 year before the current date.
hs_annot <- sm(load_biomart_annotations(year = "2020"))
hs_annot <- hs_annot[["annotation"]]
hs_annot[["transcript"]] <- paste0(rownames(hs_annot), ".", hs_annot[["version"]])
rownames(hs_annot) <- make.names(hs_annot[["ensembl_gene_id"]], unique = TRUE)
tx_gene_map <- hs_annot[, c("transcript", "ensembl_gene_id")]
summary(hs_annot)
## ensembl_transcript_id ensembl_gene_id version transcript_version
## Length:227921 Length:227921 Min. : 1.0 Min. : 1.00
## Class :character Class :character 1st Qu.: 6.0 1st Qu.: 1.00
## Mode :character Mode :character Median :12.0 Median : 1.00
## Mean :10.7 Mean : 3.08
## 3rd Qu.:16.0 3rd Qu.: 5.00
## Max. :29.0 Max. :17.00
##
## hgnc_symbol description gene_biotype cds_length
## Length:227921 Length:227921 Length:227921 Min. : 3
## Class :character Class :character Class :character 1st Qu.: 357
## Mode :character Mode :character Mode :character Median : 694
## Mean : 1139
## 3rd Qu.: 1446
## Max. :107976
## NA's :127343
## chromosome_name strand start_position end_position
## Length:227921 Length:227921 Min. :5.77e+02 Min. :6.47e+02
## Class :character Class :character 1st Qu.:3.11e+07 1st Qu.:3.12e+07
## Mode :character Mode :character Median :6.04e+07 Median :6.06e+07
## Mean :7.41e+07 Mean :7.42e+07
## 3rd Qu.:1.09e+08 3rd Qu.:1.09e+08
## Max. :2.49e+08 Max. :2.49e+08
##
## transcript
## Length:227921
## Class :character
## Mode :character
##
##
##
##
hs_go <- sm(load_biomart_go()[["go"]])
hs_length <- hs_annot[, c("ensembl_gene_id", "cds_length")]
colnames(hs_length) <- c("ID", "length")
This document is intended to provide an overview of TMRC3 samples which have been sequenced. It includes some plots and analyses showing the relationships among the samples as well as some differential analyses when possible.
The sample sheet is copied from our shared online sheet and updated with each release of sequencing data.
samplesheet <- "sample_sheets/tmrc3_samples_20210601.xlsx"
The first thing to note is the large range in coverage. There are multiple samples with coverage which is too low to use. These will be removed shortly.
In the following block I immediately exclude any non-coding reads as well.
## Create the expressionset and immediately pass it to a filter
## removing the non protein coding genes.
sanitize_columns <- c("visitnumber", "clinicaloutcome", "donor",
"typeofcells", "clinicalpresentation",
"condition", "batch")
hs_expt <- create_expt(samplesheet,
file_column = "hg38100hisatfile",
savefile = glue::glue("rda/hs_expt_all-v{ver}.rda"),
gene_info = hs_annot) %>%
exclude_genes_expt(column = "gene_biotype", method = "keep",
pattern = "protein_coding", meta_column = "ncrna_lost") %>%
sanitize_expt_metadata(columns = sanitize_columns) %>%
set_expt_factors(columns = sanitize_columns, class = "factor")
## Reading the sample metadata.
## Dropped 71 rows from the sample metadata because they were blank.
## The sample definitions comprises: 173 rows(samples) and 75 columns(metadata fields).
## Warning in create_expt(samplesheet, file_column = "hg38100hisatfile", savefile =
## glue::glue("rda/hs_expt_all-v{ver}.rda"), : Some samples were removed when cross
## referencing the samples against the count data.
## Matched 21452 annotations and counts.
## Bringing together the count matrix and gene information.
## Some annotations were lost in merging, setting them to 'undefined'.
## The final expressionset has 21481 rows and 138 columns.
## Before removal, there were 21481 genes, now there are 19941.
## There are 13 samples which kept less than 90 percent counts.
## TMRC30015 TMRC30017 TMRC30019 TMRC30044 TMRC30045 TMRC30097 TMRC30075 TMRC30087
## 79.24 85.72 89.75 80.34 73.33 89.90 86.97 83.63
## TMRC30101 TMRC30104 TMRC30114 TMRC30131 TMRC30073
## 88.41 80.29 87.62 86.82 89.26
levels(pData(hs_expt[["expressionset"]])[["visitnumber"]]) <- list(
'0' = "notapplicable", '1' = 1, '2' = 2, '3' = 3)
Split this data into CDS and lncRNA. Oh crap in order to do that I need to recount the data. Running now (20210518)
## lnc_expt <- create_expt(samplesheet,
## file_column = "hg38100lncfile",
## gene_info = hs_annot)
Once the data was loaded, there are a couple of metrics which may be plotted immediately.
nonzero <- plot_nonzero(hs_expt)
nonzero$plot
## Warning: ggrepel: 111 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
ncrna_lost_df <- as.data.frame(pData(hs_expt)[["ncrna_lost"]])
rownames(ncrna_lost_df) <- rownames(pData(hs_expt))
colnames(ncrna_lost_df) <- "ncrna_lost"
tmpdf <- merge(nonzero$table, ncrna_lost_df, by = "row.names")
rownames(tmpdf) <- tmpdf[["Row.names"]]
tmpdf[["Row.names"]] <- NULL
ggplot(tmpdf, aes(x=ncrna_lost, y=nonzero_genes)) +
ggplot2::geom_point() +
ggplot2::ggtitle("Nonzero genes with respect to percent counts
lost when ncRNA was removed.")
Najib doesn’t want this plot, but I am using it to check new samples, so will hide it from general use.
libsize <- plot_libsize(hs_expt)
libsize$plot
I arbitrarily chose 11,000 non-zero genes as a minimum. We may want this to be higher.
hs_valid <- subset_expt(hs_expt, nonzero = 11000)
## The samples (and read coverage) removed when filtering 11000 non-zero genes are:
## TMRC30010 TMRC30050 TMRC30052
## 52471 808149 3087347
## subset_expt(): There were 138, now there are 135 samples.
valid_write <- sm(write_expt(hs_valid, excel = glue("excel/hs_valid-v{ver}.xlsx")))
The project seeks to determine the relationship of the innate immune response and inflammatory signaling to the clinical outcome of antileishmanial drug treatment. We will test the hypothesis that the profile of innate immune cell activation and their dynamics through the course of treatment differ between CL patients with prospectively determined therapeutic cure or failure.
This will be achieved through the characterization of the in vivo dynamics of blood-derived monocyte, neutrophil and eosinophil transcriptome before, during and at the end of treatment in CL patients. Cell-type specific transcriptomes, composite signatures and time-response expression profiles will be contrasted among patients with therapeutic cure or failure.
To address these, I added to the end of the sample sheet columns named ‘condition’, ‘batch’, ‘donor’, and ‘time’. These are filled in with shorthand values according to the above.
Before addressing the questions explicitly by subsetting the data, I want to get a look at the samples as they are.
new_names <- pData(hs_valid)[["samplename"]]
hs_valid <- hs_valid %>%
set_expt_batches(fact = "cellssource") %>%
set_expt_conditions(fact = "typeofcells") %>%
set_expt_samplenames(newnames = new_names)
all_norm <- sm(normalize_expt(hs_valid, transform = "log2", norm = "quant",
convert = "cpm", filter = TRUE))
all_pca <- plot_pca(all_norm, plot_labels = FALSE,
plot_title = "PCA - Cell type", size_column = "visitnumber")
pp(file = glue("images/tmrc3_pca_nolabels-v{ver}.png"), image = all_pca$plot)
write.csv(all_pca$table, file = "coords/hs_donor_pca_coords.csv")
plot_corheat(all_norm, plot_title = "Heirarchical clustering:
cell types")$plot
Now let us consider only the samples for which we have a clinical outcome. These fall primarily into either ‘cured’ or ‘failed’, but some people have not yet returned to the clinic after the first or second visit. These are deemed ‘lost’.
hs_clinical <- hs_valid %>%
set_expt_conditions(fact = "clinicaloutcome") %>%
set_expt_batches(fact = "typeofcells") %>%
subset_expt(subset = "typeofcells!='pbmcs'&typeofcells!='macrophages'")
## subset_expt(): There were 135, now there are 117 samples.
chosen_colors <- c("#D95F02", "#7570B3", "#1B9E77", "#FF0000", "#FF0000")
names(chosen_colors) <- c("cure", "failure", "lost", "null", "notapplicable")
hs_clinical <- set_expt_colors(hs_clinical, colors = chosen_colors)
newnames <- make.names(pData(hs_clinical)[["samplename"]], unique = TRUE)
hs_clinical <- set_expt_samplenames(hs_clinical, newnames = newnames)
hs_clinical_norm <- sm(normalize_expt(hs_clinical, filter = TRUE, transform = "log2",
convert = "cpm", norm = "quant"))
clinical_pca <- plot_pca(hs_clinical_norm, plot_labels = FALSE,
size_column = "visitnumber", cis = NULL,
plot_title = "PCA - clinical samples")
pp(file = glue("images/all_clinical_nobatch_pca-v{ver}.png"), image = clinical_pca$plot,
height = 8, width = 20)
hs_clinical_nobiop <- hs_clinical %>%
subset_expt(subset = "typeofcells!='biopsy'")
## subset_expt(): There were 117, now there are 75 samples.
hs_clinical_nobiop_norm <- sm(normalize_expt(hs_clinical_nobiop, filter = TRUE, transform = "log2",
convert = "cpm", norm = "quant"))
clinical_nobiop_pca <- plot_pca(hs_clinical_nobiop_norm, plot_labels = FALSE, cis = NULL,
plot_title = "PCA - clinical samples without biopsies")
pp(file = glue("images/all_clinical_nobiop_nobatch_pca-v{ver}.png"),
image = clinical_nobiop_pca$plot)
At this time we have two primary data structures of interest: hs_clinical and hs_clinical_nobiop
hs_clinical_nb <- normalize_expt(hs_clinical, filter = TRUE, batch = "svaseq",
transform = "log2", convert = "cpm")
## Removing 5312 low-count genes (14629 remaining).
## batch_counts: Before batch/surrogate estimation, 108221 entries are x==0: 6%.
## batch_counts: Before batch/surrogate estimation, 314017 entries are 0<x<1: 18%.
## Setting 22060 low elements to zero.
## transform_counts: Found 22060 values equal to 0, adding 1 to the matrix.
clinical_batch_pca <- plot_pca(hs_clinical_nb, plot_labels = FALSE, cis = NULL,
size_column = "visitnumber", plot_title = "PCA - clinical samples")
clinical_batch_pca$plot
hs_clinical_nobiop_nb <- sm(normalize_expt(hs_clinical_nobiop, filter = TRUE, batch = "svaseq",
transform = "log2", convert = "cpm"))
clinical_nobiop_batch_pca <- plot_pca(hs_clinical_nobiop_nb,
plot_title = "PCA - clinical samples without biopsies",
plot_labels = FALSE)
pp(file = "images/clinical_batch.png", image = clinical_nobiop_batch_pca$plot)
test <- plot_pca(hs_clinical_nobiop_nb, size_column = "visitnumber",
plot_title = "PCA - clinical samples without biopsies",
plot_labels = FALSE)
test$plot
clinical_nobiop_batch_tsne <- plot_tsne(hs_clinical_nobiop_nb,
plot_title = "tSNE - clinical samples without biopsies",
plot_labels = FALSE)
clinical_nobiop_batch_tsne$plot
test <- simple_varpart(hs_clinical_nobiop)
##
## Total:100 s
test$partition_plot
individual_celltypes <- subset_expt(hs_clinical_nobiop, subset="condition!='lost'")
## subset_expt(): There were 75, now there are 60 samples.
hs_clinic_de <- sm(all_pairwise(individual_celltypes, model_batch = "svaseq", filter = TRUE))
hs_clinic_table <- sm(combine_de_tables(
hs_clinic_de,
excel = glue::glue("excel/individual_celltypes_table-v{ver}.xlsx")))
hs_clinic_sig <- sm(extract_significant_genes(
hs_clinic_table,
excel = glue::glue("excel/individual_celltypes_sig-v{ver}.xlsx")))
hs_clinic_sig[["summary_df"]]
## limma_V1 limma_V2 edger_V1 edger_V2 deseq_V1 deseq_V2 ebseq_V1 ebseq_V2
## 1 169 207 260 289 227 323 63 194
## basic_V1 basic_V2
## 1 34 9
hs_clinic_de[["comparison"]][["heat"]]
## NULL
I am not sure if we have enough samples across the three visit to completely work as well as we would like, but there is only 1 way to find out! Now that I think about it, one thing which might be awesome is to use cell type as an interacting factor…
I figure this might be a place where the biopsy samples might prove useful.
clinical_nolost <- subset_expt(hs_clinical, subset="condition!='lost'")
## subset_expt(): There were 117, now there are 100 samples.
lrt_visit_clinical_test <- deseq_lrt(clinical_nolost, transform = "vst",
interactor_column = "visitnumber",
interest_column = "clinicaloutcome")
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 231 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
## Working with 2 genes.
## Warning: `distinct_()` was deprecated in dplyr 0.7.0.
## Please use `distinct()` instead.
## See vignette('programming') for more help
## Working with 0 genes after filtering: minc > 3
## Error: object 'cutoff' not found
lrt_visit_clinical_test[["favorite_genes"]]
## Error in eval(expr, envir, enclos): object 'lrt_visit_clinical_test' not found
lrt_celltype_clinical_test <- deseq_lrt(clinical_nolost, transform = "vst",
interactor_column = "typeofcells",
interest_column = "clinicaloutcome")
## converting counts to integer mode
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
## -- replacing outliers and refitting for 57 genes
## -- DESeq argument 'minReplicatesForReplace' = 7
## -- original counts are preserved in counts(dds)
## estimating dispersions
## fitting model and testing
## Working with 882 genes.
## Working with 880 genes after filtering: minc > 3
## Joining, by = "merge"
## Joining, by = "merge"
lrt_celltype_clinical_test[["favorite_genes"]]
## genes cluster
## ENSG00000001497 ENSG00000001497 1
## ENSG00000003137 ENSG00000003137 2
## ENSG00000004455 ENSG00000004455 3
## ENSG00000004846 ENSG00000004846 4
## ENSG00000005020 ENSG00000005020 5
## ENSG00000005175 ENSG00000005175 6
## ENSG00000005486 ENSG00000005486 7
## ENSG00000005801 ENSG00000005801 1
## ENSG00000007047 ENSG00000007047 5
## ENSG00000007392 ENSG00000007392 8
## ENSG00000008056 ENSG00000008056 9
## ENSG00000008086 ENSG00000008086 10
## ENSG00000010270 ENSG00000010270 11
## ENSG00000010278 ENSG00000010278 8
## ENSG00000010704 ENSG00000010704 11
## ENSG00000010803 ENSG00000010803 12
## ENSG00000011028 ENSG00000011028 2
## ENSG00000011426 ENSG00000011426 4
## ENSG00000013306 ENSG00000013306 13
## ENSG00000013583 ENSG00000013583 14
## ENSG00000017427 ENSG00000017427 15
## ENSG00000019144 ENSG00000019144 2
## ENSG00000020256 ENSG00000020256 8
## ENSG00000020577 ENSG00000020577 2
## ENSG00000020633 ENSG00000020633 16
## ENSG00000021355 ENSG00000021355 9
## ENSG00000028203 ENSG00000028203 1
## ENSG00000030066 ENSG00000030066 17
## ENSG00000032444 ENSG00000032444 16
## ENSG00000035141 ENSG00000035141 3
## ENSG00000035720 ENSG00000035720 17
## ENSG00000038945 ENSG00000038945 2
## ENSG00000039560 ENSG00000039560 2
## ENSG00000042088 ENSG00000042088 1
## ENSG00000044459 ENSG00000044459 13
## ENSG00000048828 ENSG00000048828 5
## ENSG00000050820 ENSG00000050820 18
## ENSG00000055130 ENSG00000055130 13
## ENSG00000057704 ENSG00000057704 19
## ENSG00000060138 ENSG00000060138 14
## ENSG00000060982 ENSG00000060982 2
## ENSG00000061918 ENSG00000061918 3
## ENSG00000062038 ENSG00000062038 4
## ENSG00000062598 ENSG00000062598 5
## ENSG00000064763 ENSG00000064763 10
## ENSG00000064933 ENSG00000064933 3
## ENSG00000065150 ENSG00000065150 1
## ENSG00000065809 ENSG00000065809 7
## ENSG00000065989 ENSG00000065989 12
## ENSG00000066427 ENSG00000066427 5
## ENSG00000066455 ENSG00000066455 15
## ENSG00000066651 ENSG00000066651 2
## ENSG00000067533 ENSG00000067533 1
## ENSG00000068305 ENSG00000068305 16
## ENSG00000069020 ENSG00000069020 15
## ENSG00000069345 ENSG00000069345 7
## ENSG00000069998 ENSG00000069998 13
## ENSG00000070269 ENSG00000070269 10
## ENSG00000072657 ENSG00000072657 20
## ENSG00000073150 ENSG00000073150 5
## ENSG00000073350 ENSG00000073350 8
## ENSG00000073417 ENSG00000073417 12
## ENSG00000073737 ENSG00000073737 10
## ENSG00000073754 ENSG00000073754 2
## ENSG00000074211 ENSG00000074211 4
## ENSG00000074657 ENSG00000074657 2
## ENSG00000074935 ENSG00000074935 3
## ENSG00000075643 ENSG00000075643 1
## ENSG00000076242 ENSG00000076242 3
## ENSG00000076716 ENSG00000076716 2
## ENSG00000077616 ENSG00000077616 17
## ENSG00000077782 ENSG00000077782 2
## ENSG00000077935 ENSG00000077935 13
## ENSG00000078098 ENSG00000078098 15
## ENSG00000078589 ENSG00000078589 22
## ENSG00000078596 ENSG00000078596 3
## ENSG00000079215 ENSG00000079215 1
## ENSG00000079482 ENSG00000079482 1
## ENSG00000079616 ENSG00000079616 8
## ENSG00000081386 ENSG00000081386 3
## ENSG00000081913 ENSG00000081913 9
## ENSG00000082516 ENSG00000082516 3
## ENSG00000083457 ENSG00000083457 12
## ENSG00000083828 ENSG00000083828 19
## ENSG00000084207 ENSG00000084207 13
## ENSG00000085871 ENSG00000085871 7
## ENSG00000085999 ENSG00000085999 1
## ENSG00000086730 ENSG00000086730 9
## ENSG00000087116 ENSG00000087116 1
## ENSG00000087269 ENSG00000087269 1
## ENSG00000088543 ENSG00000088543 3
## ENSG00000088726 ENSG00000088726 3
## ENSG00000088826 ENSG00000088826 1
## ENSG00000088827 ENSG00000088827 14
## ENSG00000088992 ENSG00000088992 16
## ENSG00000089012 ENSG00000089012 18
## ENSG00000089127 ENSG00000089127 14
## ENSG00000089818 ENSG00000089818 5
## ENSG00000090013 ENSG00000090013 14
## ENSG00000090674 ENSG00000090674 7
## ENSG00000091409 ENSG00000091409 18
## ENSG00000091972 ENSG00000091972 15
## ENSG00000092445 ENSG00000092445 1
## ENSG00000094841 ENSG00000094841 1
## ENSG00000095002 ENSG00000095002 18
## ENSG00000095585 ENSG00000095585 2
## ENSG00000099260 ENSG00000099260 18
## ENSG00000099783 ENSG00000099783 16
## ENSG00000100036 ENSG00000100036 13
## ENSG00000100065 ENSG00000100065 3
## ENSG00000100124 ENSG00000100124 15
## ENSG00000100138 ENSG00000100138 1
## ENSG00000100281 ENSG00000100281 16
## ENSG00000100288 ENSG00000100288 1
## ENSG00000100292 ENSG00000100292 14
## ENSG00000100335 ENSG00000100335 23
## ENSG00000100354 ENSG00000100354 10
## ENSG00000100376 ENSG00000100376 13
## ENSG00000100413 ENSG00000100413 23
## ENSG00000100558 ENSG00000100558 1
## ENSG00000100596 ENSG00000100596 16
## ENSG00000100767 ENSG00000100767 6
## ENSG00000100842 ENSG00000100842 15
## ENSG00000101000 ENSG00000101000 4
## ENSG00000101096 ENSG00000101096 17
## ENSG00000101188 ENSG00000101188 11
## ENSG00000101189 ENSG00000101189 23
## ENSG00000101255 ENSG00000101255 9
## ENSG00000101384 ENSG00000101384 3
## ENSG00000101665 ENSG00000101665 23
## ENSG00000101844 ENSG00000101844 18
## ENSG00000102007 ENSG00000102007 5
## ENSG00000102048 ENSG00000102048 1
## ENSG00000102221 ENSG00000102221 1
## ENSG00000102290 ENSG00000102290 13
## ENSG00000102384 ENSG00000102384 18
## ENSG00000102409 ENSG00000102409 3
## ENSG00000102572 ENSG00000102572 5
## ENSG00000102738 ENSG00000102738 18
## ENSG00000102967 ENSG00000102967 11
## ENSG00000102978 ENSG00000102978 9
## ENSG00000103047 ENSG00000103047 13
## ENSG00000103056 ENSG00000103056 17
## ENSG00000103257 ENSG00000103257 4
## ENSG00000103274 ENSG00000103274 13
## ENSG00000103319 ENSG00000103319 8
## ENSG00000103740 ENSG00000103740 18
## ENSG00000104133 ENSG00000104133 10
## ENSG00000104213 ENSG00000104213 2
## ENSG00000104218 ENSG00000104218 1
## ENSG00000104321 ENSG00000104321 15
## ENSG00000104689 ENSG00000104689 13
## ENSG00000104738 ENSG00000104738 3
## ENSG00000104936 ENSG00000104936 2
## ENSG00000104969 ENSG00000104969 16
## ENSG00000104980 ENSG00000104980 13
## ENSG00000104998 ENSG00000104998 13
## ENSG00000105146 ENSG00000105146 4
## ENSG00000105220 ENSG00000105220 12
## ENSG00000105245 ENSG00000105245 20
## ENSG00000105278 ENSG00000105278 6
## ENSG00000105281 ENSG00000105281 13
## ENSG00000105366 ENSG00000105366 17
## ENSG00000105499 ENSG00000105499 2
## ENSG00000105576 ENSG00000105576 3
## ENSG00000105612 ENSG00000105612 14
## ENSG00000105649 ENSG00000105649 10
## ENSG00000105656 ENSG00000105656 5
## ENSG00000105668 ENSG00000105668 15
## ENSG00000105928 ENSG00000105928 2
## ENSG00000105967 ENSG00000105967 14
## ENSG00000105997 ENSG00000105997 6
## ENSG00000106100 ENSG00000106100 22
## ENSG00000106366 ENSG00000106366 1
## ENSG00000106617 ENSG00000106617 16
## ENSG00000106635 ENSG00000106635 16
## ENSG00000106638 ENSG00000106638 13
## ENSG00000106804 ENSG00000106804 14
## ENSG00000107130 ENSG00000107130 4
## ENSG00000107185 ENSG00000107185 5
## ENSG00000107281 ENSG00000107281 1
## ENSG00000107438 ENSG00000107438 8
## ENSG00000107485 ENSG00000107485 1
## ENSG00000107719 ENSG00000107719 2
## ENSG00000107731 ENSG00000107731 3
## ENSG00000107816 ENSG00000107816 1
## ENSG00000107819 ENSG00000107819 23
## ENSG00000108219 ENSG00000108219 16
## ENSG00000108389 ENSG00000108389 10
## ENSG00000108821 ENSG00000108821 15
## ENSG00000108963 ENSG00000108963 13
## ENSG00000109113 ENSG00000109113 13
## ENSG00000109182 ENSG00000109182 4
## ENSG00000109685 ENSG00000109685 8
## ENSG00000109917 ENSG00000109917 23
## ENSG00000109919 ENSG00000109919 1
## ENSG00000109971 ENSG00000109971 2
## ENSG00000110092 ENSG00000110092 3
## ENSG00000110171 ENSG00000110171 23
## ENSG00000110200 ENSG00000110200 12
## ENSG00000110455 ENSG00000110455 12
## ENSG00000110660 ENSG00000110660 1
## ENSG00000110665 ENSG00000110665 24
## ENSG00000110851 ENSG00000110851 17
## ENSG00000111144 ENSG00000111144 11
## ENSG00000111145 ENSG00000111145 9
## ENSG00000111331 ENSG00000111331 11
## ENSG00000111335 ENSG00000111335 14
## ENSG00000111424 ENSG00000111424 9
## ENSG00000111640 ENSG00000111640 14
## ENSG00000111799 ENSG00000111799 15
## ENSG00000111801 ENSG00000111801 2
## ENSG00000111850 ENSG00000111850 6
## ENSG00000112033 ENSG00000112033 5
## ENSG00000112130 ENSG00000112130 1
## ENSG00000112208 ENSG00000112208 18
## ENSG00000112299 ENSG00000112299 11
## ENSG00000112715 ENSG00000112715 16
## ENSG00000113273 ENSG00000113273 24
## ENSG00000113360 ENSG00000113360 3
## ENSG00000113649 ENSG00000113649 13
## ENSG00000113716 ENSG00000113716 12
## ENSG00000114439 ENSG00000114439 10
## ENSG00000114735 ENSG00000114735 8
## ENSG00000114737 ENSG00000114737 16
## ENSG00000114861 ENSG00000114861 6
## ENSG00000115155 ENSG00000115155 11
## ENSG00000115414 ENSG00000115414 2
## ENSG00000115423 ENSG00000115423 1
## ENSG00000115598 ENSG00000115598 2
## ENSG00000115648 ENSG00000115648 15
## ENSG00000115718 ENSG00000115718 9
## ENSG00000115738 ENSG00000115738 23
## ENSG00000115761 ENSG00000115761 1
## ENSG00000115762 ENSG00000115762 9
## ENSG00000115904 ENSG00000115904 18
## ENSG00000115919 ENSG00000115919 14
## ENSG00000115963 ENSG00000115963 15
## ENSG00000116127 ENSG00000116127 8
## ENSG00000116132 ENSG00000116132 15
## ENSG00000116141 ENSG00000116141 3
## ENSG00000116157 ENSG00000116157 3
## ENSG00000116478 ENSG00000116478 24
## ENSG00000116514 ENSG00000116514 5
## ENSG00000116678 ENSG00000116678 1
## ENSG00000116688 ENSG00000116688 5
## ENSG00000116874 ENSG00000116874 1
## ENSG00000116898 ENSG00000116898 2
## ENSG00000116984 ENSG00000116984 8
## ENSG00000117226 ENSG00000117226 2
## ENSG00000117228 ENSG00000117228 20
## ENSG00000117245 ENSG00000117245 15
## ENSG00000117298 ENSG00000117298 5
## ENSG00000117448 ENSG00000117448 1
## ENSG00000117481 ENSG00000117481 1
## ENSG00000117501 ENSG00000117501 15
## ENSG00000117597 ENSG00000117597 1
## ENSG00000117724 ENSG00000117724 3
## ENSG00000118004 ENSG00000118004 4
## ENSG00000118680 ENSG00000118680 6
## ENSG00000118785 ENSG00000118785 15
## ENSG00000118849 ENSG00000118849 18
## ENSG00000118946 ENSG00000118946 18
## ENSG00000119121 ENSG00000119121 19
## ENSG00000119698 ENSG00000119698 6
## ENSG00000119865 ENSG00000119865 15
## ENSG00000119915 ENSG00000119915 2
## ENSG00000120008 ENSG00000120008 13
## ENSG00000120053 ENSG00000120053 3
## ENSG00000120162 ENSG00000120162 2
## ENSG00000120254 ENSG00000120254 1
## ENSG00000120278 ENSG00000120278 2
## ENSG00000120675 ENSG00000120675 2
## ENSG00000120696 ENSG00000120696 6
## ENSG00000120868 ENSG00000120868 10
## ENSG00000121057 ENSG00000121057 1
## ENSG00000121067 ENSG00000121067 10
## ENSG00000121152 ENSG00000121152 3
## ENSG00000121210 ENSG00000121210 10
## ENSG00000121410 ENSG00000121410 13
## ENSG00000121807 ENSG00000121807 14
## ENSG00000121966 ENSG00000121966 24
## ENSG00000122483 ENSG00000122483 22
## ENSG00000122729 ENSG00000122729 6
## ENSG00000123219 ENSG00000123219 3
## ENSG00000123384 ENSG00000123384 14
## ENSG00000123607 ENSG00000123607 14
## ENSG00000123838 ENSG00000123838 11
## ENSG00000124006 ENSG00000124006 3
## ENSG00000124145 ENSG00000124145 1
## ENSG00000124216 ENSG00000124216 14
## ENSG00000124357 ENSG00000124357 5
## ENSG00000124615 ENSG00000124615 4
## ENSG00000124766 ENSG00000124766 1
## ENSG00000124780 ENSG00000124780 18
## ENSG00000124785 ENSG00000124785 2
## ENSG00000125247 ENSG00000125247 13
## ENSG00000125434 ENSG00000125434 12
## ENSG00000125650 ENSG00000125650 2
## ENSG00000125733 ENSG00000125733 2
## ENSG00000125735 ENSG00000125735 19
## ENSG00000125753 ENSG00000125753 5
## ENSG00000125779 ENSG00000125779 10
## ENSG00000125821 ENSG00000125821 1
## ENSG00000125863 ENSG00000125863 2
## ENSG00000125952 ENSG00000125952 24
## ENSG00000125968 ENSG00000125968 13
## ENSG00000126457 ENSG00000126457 1
## ENSG00000126870 ENSG00000126870 3
## ENSG00000128245 ENSG00000128245 13
## ENSG00000128274 ENSG00000128274 2
## ENSG00000128731 ENSG00000128731 8
## ENSG00000129071 ENSG00000129071 19
## ENSG00000129484 ENSG00000129484 1
## ENSG00000129493 ENSG00000129493 22
## ENSG00000129675 ENSG00000129675 24
## ENSG00000130167 ENSG00000130167 5
## ENSG00000130203 ENSG00000130203 1
## ENSG00000130208 ENSG00000130208 2
## ENSG00000130300 ENSG00000130300 2
## ENSG00000130479 ENSG00000130479 16
## ENSG00000130529 ENSG00000130529 1
## ENSG00000130559 ENSG00000130559 25
## ENSG00000130638 ENSG00000130638 1
## ENSG00000130649 ENSG00000130649 1
## ENSG00000130725 ENSG00000130725 5
## ENSG00000130768 ENSG00000130768 24
## ENSG00000131019 ENSG00000131019 1
## ENSG00000131042 ENSG00000131042 5
## ENSG00000131238 ENSG00000131238 14
## ENSG00000131409 ENSG00000131409 2
## ENSG00000131508 ENSG00000131508 9
## ENSG00000131828 ENSG00000131828 3
## ENSG00000132256 ENSG00000132256 20
## ENSG00000132305 ENSG00000132305 1
## ENSG00000132530 ENSG00000132530 11
## ENSG00000132746 ENSG00000132746 3
## ENSG00000132792 ENSG00000132792 12
## ENSG00000132965 ENSG00000132965 19
## ENSG00000133030 ENSG00000133030 8
## ENSG00000133103 ENSG00000133103 3
## ENSG00000133116 ENSG00000133116 2
## ENSG00000133997 ENSG00000133997 19
## ENSG00000134057 ENSG00000134057 18
## ENSG00000134107 ENSG00000134107 7
## ENSG00000134207 ENSG00000134207 13
## ENSG00000134245 ENSG00000134245 2
## ENSG00000134318 ENSG00000134318 22
## ENSG00000134333 ENSG00000134333 1
## ENSG00000134369 ENSG00000134369 1
## ENSG00000134453 ENSG00000134453 12
## ENSG00000134460 ENSG00000134460 17
## ENSG00000134463 ENSG00000134463 7
## ENSG00000134686 ENSG00000134686 5
## ENSG00000134697 ENSG00000134697 1
## ENSG00000134759 ENSG00000134759 3
## ENSG00000134809 ENSG00000134809 2
## ENSG00000134824 ENSG00000134824 3
## ENSG00000135047 ENSG00000135047 2
## ENSG00000135077 ENSG00000135077 14
## ENSG00000135083 ENSG00000135083 19
## ENSG00000135094 ENSG00000135094 13
## ENSG00000135116 ENSG00000135116 22
## ENSG00000135205 ENSG00000135205 10
## ENSG00000135245 ENSG00000135245 18
## ENSG00000135362 ENSG00000135362 24
## ENSG00000135363 ENSG00000135363 11
## ENSG00000135372 ENSG00000135372 1
## ENSG00000135503 ENSG00000135503 12
## ENSG00000135723 ENSG00000135723 5
## ENSG00000135823 ENSG00000135823 9
## ENSG00000135916 ENSG00000135916 8
## ENSG00000135924 ENSG00000135924 17
## ENSG00000135929 ENSG00000135929 11
## ENSG00000136011 ENSG00000136011 15
## ENSG00000136045 ENSG00000136045 3
## ENSG00000136068 ENSG00000136068 8
## ENSG00000136235 ENSG00000136235 2
## ENSG00000136319 ENSG00000136319 3
## ENSG00000136631 ENSG00000136631 1
## ENSG00000136717 ENSG00000136717 14
## ENSG00000136732 ENSG00000136732 2
## ENSG00000136807 ENSG00000136807 16
## ENSG00000136830 ENSG00000136830 13
## ENSG00000136840 ENSG00000136840 1
## ENSG00000136874 ENSG00000136874 20
## ENSG00000136930 ENSG00000136930 16
## ENSG00000136932 ENSG00000136932 7
## ENSG00000136938 ENSG00000136938 23
## ENSG00000137094 ENSG00000137094 2
## ENSG00000137166 ENSG00000137166 23
## ENSG00000137265 ENSG00000137265 2
## ENSG00000137312 ENSG00000137312 5
## ENSG00000137547 ENSG00000137547 1
## ENSG00000137571 ENSG00000137571 4
## ENSG00000137628 ENSG00000137628 20
## ENSG00000137672 ENSG00000137672 17
## ENSG00000137673 ENSG00000137673 15
## ENSG00000137807 ENSG00000137807 18
## ENSG00000137812 ENSG00000137812 3
## ENSG00000137959 ENSG00000137959 11
## ENSG00000137965 ENSG00000137965 11
## ENSG00000138061 ENSG00000138061 14
## ENSG00000138180 ENSG00000138180 3
## ENSG00000138246 ENSG00000138246 20
## ENSG00000138442 ENSG00000138442 3
## ENSG00000138646 ENSG00000138646 20
## ENSG00000138709 ENSG00000138709 1
## ENSG00000138760 ENSG00000138760 2
## ENSG00000138764 ENSG00000138764 10
## ENSG00000139112 ENSG00000139112 5
## ENSG00000139160 ENSG00000139160 6
## ENSG00000139211 ENSG00000139211 2
## ENSG00000139514 ENSG00000139514 1
## ENSG00000139597 ENSG00000139597 14
## ENSG00000139684 ENSG00000139684 1
## ENSG00000139722 ENSG00000139722 5
## ENSG00000140297 ENSG00000140297 15
## ENSG00000140525 ENSG00000140525 18
## ENSG00000140564 ENSG00000140564 7
## ENSG00000140577 ENSG00000140577 23
## ENSG00000140650 ENSG00000140650 2
## ENSG00000140859 ENSG00000140859 4
## ENSG00000141298 ENSG00000141298 5
## ENSG00000141574 ENSG00000141574 11
## ENSG00000141576 ENSG00000141576 1
## ENSG00000141837 ENSG00000141837 6
## ENSG00000142528 ENSG00000142528 20
## ENSG00000142621 ENSG00000142621 2
## ENSG00000142627 ENSG00000142627 1
## ENSG00000142910 ENSG00000142910 1
## ENSG00000143079 ENSG00000143079 2
## ENSG00000143127 ENSG00000143127 3
## ENSG00000143178 ENSG00000143178 10
## ENSG00000143416 ENSG00000143416 15
## ENSG00000143420 ENSG00000143420 19
## ENSG00000143458 ENSG00000143458 8
## ENSG00000143493 ENSG00000143493 3
## ENSG00000143498 ENSG00000143498 18
## ENSG00000143669 ENSG00000143669 10
## ENSG00000143801 ENSG00000143801 3
## ENSG00000143845 ENSG00000143845 1
## ENSG00000143847 ENSG00000143847 25
## ENSG00000143851 ENSG00000143851 7
## ENSG00000144331 ENSG00000144331 15
## ENSG00000144580 ENSG00000144580 1
## ENSG00000144815 ENSG00000144815 25
## ENSG00000144908 ENSG00000144908 18
## ENSG00000145040 ENSG00000145040 2
## ENSG00000145191 ENSG00000145191 1
## ENSG00000145244 ENSG00000145244 20
## ENSG00000145246 ENSG00000145246 2
## ENSG00000145247 ENSG00000145247 3
## ENSG00000145348 ENSG00000145348 3
## ENSG00000145362 ENSG00000145362 2
## ENSG00000145375 ENSG00000145375 3
## ENSG00000145416 ENSG00000145416 23
## ENSG00000145685 ENSG00000145685 14
## ENSG00000145721 ENSG00000145721 6
## ENSG00000145817 ENSG00000145817 2
## ENSG00000145945 ENSG00000145945 1
## ENSG00000146021 ENSG00000146021 17
## ENSG00000146205 ENSG00000146205 22
## ENSG00000146243 ENSG00000146243 15
## ENSG00000146281 ENSG00000146281 6
## ENSG00000146416 ENSG00000146416 6
## ENSG00000146918 ENSG00000146918 1
## ENSG00000147138 ENSG00000147138 3
## ENSG00000147174 ENSG00000147174 6
## ENSG00000147257 ENSG00000147257 1
## ENSG00000147408 ENSG00000147408 6
## ENSG00000147454 ENSG00000147454 5
## ENSG00000147614 ENSG00000147614 15
## ENSG00000147647 ENSG00000147647 1
## ENSG00000148219 ENSG00000148219 1
## ENSG00000148225 ENSG00000148225 18
## ENSG00000148248 ENSG00000148248 23
## ENSG00000148334 ENSG00000148334 13
## ENSG00000148335 ENSG00000148335 12
## ENSG00000148606 ENSG00000148606 1
## ENSG00000148690 ENSG00000148690 3
## ENSG00000148737 ENSG00000148737 11
## ENSG00000148814 ENSG00000148814 1
## ENSG00000149418 ENSG00000149418 23
## ENSG00000149599 ENSG00000149599 2
## ENSG00000149633 ENSG00000149633 18
## ENSG00000149679 ENSG00000149679 16
## ENSG00000149972 ENSG00000149972 6
## ENSG00000150048 ENSG00000150048 20
## ENSG00000150051 ENSG00000150051 2
## ENSG00000150347 ENSG00000150347 2
## ENSG00000150556 ENSG00000150556 4
## ENSG00000150756 ENSG00000150756 18
## ENSG00000150990 ENSG00000150990 13
## ENSG00000151150 ENSG00000151150 18
## ENSG00000151320 ENSG00000151320 2
## ENSG00000151353 ENSG00000151353 1
## ENSG00000151490 ENSG00000151490 1
## ENSG00000151503 ENSG00000151503 3
## ENSG00000151576 ENSG00000151576 11
## ENSG00000151689 ENSG00000151689 8
## ENSG00000151692 ENSG00000151692 24
## ENSG00000151693 ENSG00000151693 1
## ENSG00000151778 ENSG00000151778 3
## ENSG00000151789 ENSG00000151789 2
## ENSG00000151790 ENSG00000151790 4
## ENSG00000152056 ENSG00000152056 2
## ENSG00000152061 ENSG00000152061 10
## ENSG00000152137 ENSG00000152137 1
## ENSG00000152804 ENSG00000152804 16
## ENSG00000152952 ENSG00000152952 3
## ENSG00000153823 ENSG00000153823 13
## ENSG00000153976 ENSG00000153976 4
## ENSG00000153982 ENSG00000153982 18
## ENSG00000154240 ENSG00000154240 4
## ENSG00000154265 ENSG00000154265 17
## ENSG00000154277 ENSG00000154277 18
## ENSG00000154305 ENSG00000154305 10
## ENSG00000154447 ENSG00000154447 14
## ENSG00000154451 ENSG00000154451 20
## ENSG00000154589 ENSG00000154589 11
## ENSG00000154760 ENSG00000154760 17
## ENSG00000155016 ENSG00000155016 1
## ENSG00000155158 ENSG00000155158 2
## ENSG00000155189 ENSG00000155189 3
## ENSG00000155252 ENSG00000155252 14
## ENSG00000155275 ENSG00000155275 25
## ENSG00000155363 ENSG00000155363 11
## ENSG00000155380 ENSG00000155380 1
## ENSG00000155906 ENSG00000155906 8
## ENSG00000156030 ENSG00000156030 5
## ENSG00000156042 ENSG00000156042 10
## ENSG00000156049 ENSG00000156049 17
## ENSG00000156239 ENSG00000156239 3
## ENSG00000156398 ENSG00000156398 2
## ENSG00000156711 ENSG00000156711 19
## ENSG00000156802 ENSG00000156802 8
## ENSG00000156804 ENSG00000156804 1
## ENSG00000156970 ENSG00000156970 3
## ENSG00000157036 ENSG00000157036 1
## ENSG00000157227 ENSG00000157227 2
## ENSG00000157456 ENSG00000157456 1
## ENSG00000157654 ENSG00000157654 3
## ENSG00000157657 ENSG00000157657 8
## ENSG00000157933 ENSG00000157933 7
## ENSG00000157985 ENSG00000157985 2
## ENSG00000158062 ENSG00000158062 14
## ENSG00000158373 ENSG00000158373 6
## ENSG00000158402 ENSG00000158402 4
## ENSG00000158406 ENSG00000158406 6
## ENSG00000158710 ENSG00000158710 5
## ENSG00000158715 ENSG00000158715 12
## ENSG00000158856 ENSG00000158856 8
## ENSG00000159216 ENSG00000159216 12
## ENSG00000159261 ENSG00000159261 4
## ENSG00000159307 ENSG00000159307 3
## ENSG00000160094 ENSG00000160094 12
## ENSG00000160113 ENSG00000160113 3
## ENSG00000160789 ENSG00000160789 1
## ENSG00000160791 ENSG00000160791 2
## ENSG00000160856 ENSG00000160856 2
## ENSG00000160932 ENSG00000160932 11
## ENSG00000161640 ENSG00000161640 16
## ENSG00000161835 ENSG00000161835 12
## ENSG00000161960 ENSG00000161960 3
## ENSG00000162104 ENSG00000162104 13
## ENSG00000162129 ENSG00000162129 13
## ENSG00000162139 ENSG00000162139 13
## ENSG00000162367 ENSG00000162367 8
## ENSG00000162377 ENSG00000162377 1
## ENSG00000162390 ENSG00000162390 8
## ENSG00000162627 ENSG00000162627 2
## ENSG00000162669 ENSG00000162669 9
## ENSG00000162722 ENSG00000162722 12
## ENSG00000162757 ENSG00000162757 15
## ENSG00000162877 ENSG00000162877 18
## ENSG00000162928 ENSG00000162928 3
## ENSG00000163116 ENSG00000163116 6
## ENSG00000163191 ENSG00000163191 9
## ENSG00000163328 ENSG00000163328 20
## ENSG00000163399 ENSG00000163399 13
## ENSG00000163406 ENSG00000163406 8
## ENSG00000163449 ENSG00000163449 2
## ENSG00000163466 ENSG00000163466 5
## ENSG00000163513 ENSG00000163513 19
## ENSG00000163521 ENSG00000163521 14
## ENSG00000163534 ENSG00000163534 2
## ENSG00000163624 ENSG00000163624 2
## ENSG00000163666 ENSG00000163666 2
## ENSG00000163702 ENSG00000163702 13
## ENSG00000163879 ENSG00000163879 15
## ENSG00000163995 ENSG00000163995 2
## ENSG00000164124 ENSG00000164124 13
## ENSG00000164125 ENSG00000164125 14
## ENSG00000164136 ENSG00000164136 14
## ENSG00000164187 ENSG00000164187 18
## ENSG00000164309 ENSG00000164309 15
## ENSG00000164379 ENSG00000164379 2
## ENSG00000164440 ENSG00000164440 2
## ENSG00000164442 ENSG00000164442 22
## ENSG00000164466 ENSG00000164466 8
## ENSG00000164741 ENSG00000164741 2
## ENSG00000164818 ENSG00000164818 1
## ENSG00000164985 ENSG00000164985 10
## ENSG00000165028 ENSG00000165028 8
## ENSG00000165259 ENSG00000165259 13
## ENSG00000165280 ENSG00000165280 9
## ENSG00000165527 ENSG00000165527 16
## ENSG00000165685 ENSG00000165685 13
## ENSG00000165733 ENSG00000165733 1
## ENSG00000165804 ENSG00000165804 1
## ENSG00000165819 ENSG00000165819 24
## ENSG00000165891 ENSG00000165891 17
## ENSG00000165943 ENSG00000165943 7
## ENSG00000165949 ENSG00000165949 2
## ENSG00000165966 ENSG00000165966 4
## ENSG00000166123 ENSG00000166123 1
## ENSG00000166164 ENSG00000166164 14
## ENSG00000166199 ENSG00000166199 1
## ENSG00000166257 ENSG00000166257 18
## ENSG00000166432 ENSG00000166432 24
## ENSG00000166448 ENSG00000166448 2
## ENSG00000166484 ENSG00000166484 16
## ENSG00000166503 ENSG00000166503 3
## ENSG00000166508 ENSG00000166508 19
## ENSG00000166510 ENSG00000166510 15
## ENSG00000166526 ENSG00000166526 17
## ENSG00000166557 ENSG00000166557 8
## ENSG00000166592 ENSG00000166592 14
## ENSG00000166801 ENSG00000166801 20
## ENSG00000166928 ENSG00000166928 14
## ENSG00000166949 ENSG00000166949 12
## ENSG00000167193 ENSG00000167193 9
## ENSG00000167291 ENSG00000167291 2
## ENSG00000167315 ENSG00000167315 1
## ENSG00000167543 ENSG00000167543 8
## ENSG00000167562 ENSG00000167562 10
## ENSG00000167566 ENSG00000167566 9
## ENSG00000167703 ENSG00000167703 5
## ENSG00000167772 ENSG00000167772 1
## ENSG00000167925 ENSG00000167925 16
## ENSG00000167994 ENSG00000167994 2
## ENSG00000167995 ENSG00000167995 5
## ENSG00000168016 ENSG00000168016 10
## ENSG00000168209 ENSG00000168209 19
## ENSG00000168256 ENSG00000168256 14
## ENSG00000168273 ENSG00000168273 13
## ENSG00000168421 ENSG00000168421 17
## ENSG00000168439 ENSG00000168439 2
## ENSG00000168569 ENSG00000168569 1
## ENSG00000168679 ENSG00000168679 17
## ENSG00000168795 ENSG00000168795 3
## ENSG00000168944 ENSG00000168944 17
## ENSG00000168994 ENSG00000168994 2
## ENSG00000169047 ENSG00000169047 1
## ENSG00000169239 ENSG00000169239 23
## ENSG00000169432 ENSG00000169432 20
## ENSG00000169860 ENSG00000169860 1
## ENSG00000169908 ENSG00000169908 15
## ENSG00000169946 ENSG00000169946 15
## ENSG00000170027 ENSG00000170027 2
## ENSG00000170037 ENSG00000170037 23
## ENSG00000170234 ENSG00000170234 10
## ENSG00000170312 ENSG00000170312 18
## ENSG00000170370 ENSG00000170370 18
## ENSG00000170473 ENSG00000170473 1
## ENSG00000170677 ENSG00000170677 13
## ENSG00000170989 ENSG00000170989 8
## ENSG00000171100 ENSG00000171100 24
## ENSG00000171262 ENSG00000171262 3
## ENSG00000171365 ENSG00000171365 14
## ENSG00000171530 ENSG00000171530 1
## ENSG00000171604 ENSG00000171604 14
## ENSG00000171617 ENSG00000171617 12
## ENSG00000171729 ENSG00000171729 14
## ENSG00000171812 ENSG00000171812 14
## ENSG00000171877 ENSG00000171877 4
## ENSG00000172123 ENSG00000172123 22
## ENSG00000172159 ENSG00000172159 11
## ENSG00000172331 ENSG00000172331 6
## ENSG00000172403 ENSG00000172403 15
## ENSG00000172594 ENSG00000172594 1
## ENSG00000172716 ENSG00000172716 2
## ENSG00000173124 ENSG00000173124 18
## ENSG00000173156 ENSG00000173156 2
## ENSG00000173166 ENSG00000173166 14
## ENSG00000173391 ENSG00000173391 13
## ENSG00000173457 ENSG00000173457 1
## ENSG00000173511 ENSG00000173511 3
## ENSG00000173530 ENSG00000173530 14
## ENSG00000173818 ENSG00000173818 23
## ENSG00000173917 ENSG00000173917 1
## ENSG00000174177 ENSG00000174177 12
## ENSG00000174197 ENSG00000174197 8
## ENSG00000174371 ENSG00000174371 3
## ENSG00000174705 ENSG00000174705 2
## ENSG00000174989 ENSG00000174989 8
## ENSG00000175130 ENSG00000175130 7
## ENSG00000175445 ENSG00000175445 3
## ENSG00000175544 ENSG00000175544 3
## ENSG00000175691 ENSG00000175691 3
## ENSG00000176014 ENSG00000176014 13
## ENSG00000176046 ENSG00000176046 15
## ENSG00000176105 ENSG00000176105 3
## ENSG00000176125 ENSG00000176125 18
## ENSG00000176531 ENSG00000176531 1
## ENSG00000176903 ENSG00000176903 3
## ENSG00000177119 ENSG00000177119 13
## ENSG00000177294 ENSG00000177294 20
## ENSG00000177311 ENSG00000177311 18
## ENSG00000177469 ENSG00000177469 3
## ENSG00000177479 ENSG00000177479 23
## ENSG00000177989 ENSG00000177989 11
## ENSG00000178209 ENSG00000178209 23
## ENSG00000178338 ENSG00000178338 1
## ENSG00000178573 ENSG00000178573 1
## ENSG00000178700 ENSG00000178700 2
## ENSG00000178741 ENSG00000178741 13
## ENSG00000178896 ENSG00000178896 9
## ENSG00000179044 ENSG00000179044 20
## ENSG00000179262 ENSG00000179262 23
## ENSG00000179409 ENSG00000179409 1
## ENSG00000179476 ENSG00000179476 15
## ENSG00000179528 ENSG00000179528 1
## ENSG00000180376 ENSG00000180376 8
## ENSG00000180543 ENSG00000180543 1
## ENSG00000181045 ENSG00000181045 14
## ENSG00000181350 ENSG00000181350 1
## ENSG00000181392 ENSG00000181392 22
## ENSG00000181523 ENSG00000181523 14
## ENSG00000181873 ENSG00000181873 1
## ENSG00000182158 ENSG00000182158 8
## ENSG00000182173 ENSG00000182173 8
## ENSG00000182240 ENSG00000182240 17
## ENSG00000182263 ENSG00000182263 4
## ENSG00000182378 ENSG00000182378 8
## ENSG00000182504 ENSG00000182504 15
## ENSG00000182557 ENSG00000182557 12
## ENSG00000182704 ENSG00000182704 2
## ENSG00000182885 ENSG00000182885 19
## ENSG00000182901 ENSG00000182901 6
## ENSG00000182952 ENSG00000182952 20
## ENSG00000182986 ENSG00000182986 3
## ENSG00000183044 ENSG00000183044 10
## ENSG00000183087 ENSG00000183087 1
## ENSG00000183091 ENSG00000183091 6
## ENSG00000183117 ENSG00000183117 14
## ENSG00000183283 ENSG00000183283 5
## ENSG00000183431 ENSG00000183431 7
## ENSG00000183578 ENSG00000183578 2
## ENSG00000183617 ENSG00000183617 13
## ENSG00000183763 ENSG00000183763 3
## ENSG00000183785 ENSG00000183785 22
## ENSG00000183801 ENSG00000183801 18
## ENSG00000183853 ENSG00000183853 2
## ENSG00000183955 ENSG00000183955 7
## ENSG00000184226 ENSG00000184226 15
## ENSG00000184384 ENSG00000184384 11
## ENSG00000184402 ENSG00000184402 10
## ENSG00000184661 ENSG00000184661 18
## ENSG00000185033 ENSG00000185033 11
## ENSG00000185043 ENSG00000185043 7
## ENSG00000185561 ENSG00000185561 4
## ENSG00000185669 ENSG00000185669 5
## ENSG00000185686 ENSG00000185686 4
## ENSG00000185736 ENSG00000185736 19
## ENSG00000185825 ENSG00000185825 9
## ENSG00000185842 ENSG00000185842 6
## ENSG00000185920 ENSG00000185920 18
## ENSG00000186197 ENSG00000186197 2
## ENSG00000186645 ENSG00000186645 10
## ENSG00000186818 ENSG00000186818 14
## ENSG00000186951 ENSG00000186951 12
## ENSG00000187097 ENSG00000187097 8
## ENSG00000187105 ENSG00000187105 17
## ENSG00000187164 ENSG00000187164 13
## ENSG00000187231 ENSG00000187231 11
## ENSG00000187554 ENSG00000187554 11
## ENSG00000187566 ENSG00000187566 1
## ENSG00000188037 ENSG00000188037 9
## ENSG00000188343 ENSG00000188343 15
## ENSG00000188452 ENSG00000188452 22
## ENSG00000188636 ENSG00000188636 13
## ENSG00000188921 ENSG00000188921 10
## ENSG00000188938 ENSG00000188938 9
## ENSG00000189013 ENSG00000189013 2
## ENSG00000189067 ENSG00000189067 6
## ENSG00000189077 ENSG00000189077 5
## ENSG00000189159 ENSG00000189159 19
## ENSG00000189195 ENSG00000189195 20
## ENSG00000189337 ENSG00000189337 6
## ENSG00000196072 ENSG00000196072 5
## ENSG00000196123 ENSG00000196123 14
## ENSG00000196126 ENSG00000196126 13
## ENSG00000196199 ENSG00000196199 10
## ENSG00000196230 ENSG00000196230 1
## ENSG00000196247 ENSG00000196247 6
## ENSG00000196305 ENSG00000196305 1
## ENSG00000196369 ENSG00000196369 11
## ENSG00000196378 ENSG00000196378 12
## ENSG00000196405 ENSG00000196405 8
## ENSG00000196526 ENSG00000196526 3
## ENSG00000196652 ENSG00000196652 6
## ENSG00000196872 ENSG00000196872 6
## ENSG00000196923 ENSG00000196923 5
## ENSG00000197008 ENSG00000197008 3
## ENSG00000197093 ENSG00000197093 6
## ENSG00000197283 ENSG00000197283 8
## ENSG00000197302 ENSG00000197302 18
## ENSG00000197451 ENSG00000197451 13
## ENSG00000197461 ENSG00000197461 3
## ENSG00000197603 ENSG00000197603 3
## ENSG00000197782 ENSG00000197782 18
## ENSG00000197959 ENSG00000197959 18
## ENSG00000198178 ENSG00000198178 20
## ENSG00000198286 ENSG00000198286 1
## ENSG00000198336 ENSG00000198336 18
## ENSG00000198435 ENSG00000198435 3
## ENSG00000198502 ENSG00000198502 13
## ENSG00000198690 ENSG00000198690 10
## ENSG00000198700 ENSG00000198700 13
## ENSG00000198795 ENSG00000198795 15
## ENSG00000198805 ENSG00000198805 13
## ENSG00000198829 ENSG00000198829 18
## ENSG00000198959 ENSG00000198959 2
## ENSG00000203546 ENSG00000203546 1
## ENSG00000204103 ENSG00000204103 14
## ENSG00000204388 ENSG00000204388 2
## ENSG00000204389 ENSG00000204389 6
## ENSG00000204520 ENSG00000204520 6
## ENSG00000204568 ENSG00000204568 1
## ENSG00000204869 ENSG00000204869 15
## ENSG00000204909 ENSG00000204909 6
## ENSG00000204991 ENSG00000204991 18
## ENSG00000205038 ENSG00000205038 3
## ENSG00000205060 ENSG00000205060 1
## ENSG00000205090 ENSG00000205090 10
## ENSG00000205362 ENSG00000205362 15
## ENSG00000205639 ENSG00000205639 12
## ENSG00000205730 ENSG00000205730 14
## ENSG00000211448 ENSG00000211448 15
## ENSG00000213588 ENSG00000213588 3
## ENSG00000213719 ENSG00000213719 11
## ENSG00000213859 ENSG00000213859 3
## ENSG00000214226 ENSG00000214226 2
## ENSG00000214706 ENSG00000214706 1
## ENSG00000214872 ENSG00000214872 5
## ENSG00000215788 ENSG00000215788 1
## ENSG00000219481 ENSG00000219481 8
## ENSG00000235750 ENSG00000235750 20
## ENSG00000239920 ENSG00000239920 10
## ENSG00000240445 ENSG00000240445 4
## ENSG00000244165 ENSG00000244165 13
## ENSG00000244405 ENSG00000244405 2
## ENSG00000248405 ENSG00000248405 20
## ENSG00000248993 ENSG00000248993 13
## ENSG00000249242 ENSG00000249242 1
## ENSG00000254979 ENSG00000254979 23
## ENSG00000256043 ENSG00000256043 1
## ENSG00000256235 ENSG00000256235 12
## ENSG00000257335 ENSG00000257335 5
## ENSG00000259330 ENSG00000259330 23
## ENSG00000261652 ENSG00000261652 18
## ENSG00000261832 ENSG00000261832 24
## ENSG00000263001 ENSG00000263001 25
## ENSG00000263528 ENSG00000263528 13
## ENSG00000263715 ENSG00000263715 3
## ENSG00000264364 ENSG00000264364 19
## ENSG00000268182 ENSG00000268182 8
## ENSG00000268861 ENSG00000268861 24
## ENSG00000273802 ENSG00000273802 6
## ENSG00000274810 ENSG00000274810 18
## ENSG00000275895 ENSG00000275895 7
## ENSG00000276085 ENSG00000276085 6
## ENSG00000277117 ENSG00000277117 13
## ENSG00000282988 ENSG00000282988 10
## ENSG00000283149 ENSG00000283149 13
## ENSG00000283977 ENSG00000283977 16
## ENSG00000285253 ENSG00000285253 1
## ENSG00000285708 ENSG00000285708 10
A good suggestion from Theresa was to examine only the most variant genes from failure vs. cure and see how they change the clustering/etc results. This is my attempt to address this query.
hs_clinic_topn <- sm(extract_significant_genes(hs_clinic_table, n = 100))
table <- "failure_vs_cure"
wanted <- rbind(hs_clinic_topn[["deseq"]][["ups"]][[table]],
hs_clinic_topn[["deseq"]][["downs"]][[table]])
small_expt <- exclude_genes_expt(hs_clinical_nobiop, ids = rownames(wanted), method = "keep")
## Before removal, there were 19941 genes, now there are 200.
## There are 75 samples which kept less than 90 percent counts.
## X1017n1 X1017m1 X1034n1 X1034n2 X1034m2 X1034m2. X2052e1 X2052m2
## 0.4192 0.3754 2.4868 2.9008 1.2743 1.2381 0.5331 0.6164
## X2052n2 X2052m3 X2052n3 X2065m1 X2065n1 X2066m1 X2066n1 X2065m2
## 1.4080 0.7016 1.1583 1.0719 2.8747 0.3940 0.7222 0.5819
## X2065n2 X2065e2 X2066m2 X2066n2 X2066e2 X2068m1 X2068n1 X2068e1
## 0.4933 0.8420 0.4952 0.6676 0.8413 0.5006 0.5287 1.0548
## X2072m1 X2072n1 X2072e1 X2071m1 X2071n1 X2073m1 X2073n1 X2073e1
## 0.4799 0.4190 0.6492 0.7265 1.6127 0.6570 1.7804 0.7564
## X2068m2 X2068n2 X2068e2 X2072m2 X2072n2 X2072e2 X2073m2 X2073n2
## 0.3427 0.4429 0.6802 0.3992 0.5430 0.5317 1.0397 2.8228
## X2073e2 X2066m3 X2066n3 X2065e3 X2068m3 X2068n3 X2068e3 X2072m3
## 0.7690 0.4304 0.5995 0.4657 0.4092 0.4483 0.6113 0.7292
## X2072n3 X2072e3 X2073m3 X2073n3 X2073e3 X2162m1 X2162n1 X2162e1
## 1.9625 0.7389 0.5093 0.6651 0.4507 0.4594 0.4140 0.7208
## X2167m1 X2168n1 X2168e1 X2168m2 X2168n2 X2168e2 X2167m2 X2167n3
## 0.6211 2.3153 0.9847 0.9395 2.3681 0.8613 0.3830 1.0254
## X2167e3 X2168m3 X2168n3 X2168e3 X2172n1 X2172e1 X1168m1 X1168n1
## 1.1411 1.3360 3.7049 1.0558 0.3235 0.3720 0.7320 1.4522
## X1168m2 X1168e2 X1168n3
## 0.7185 0.5010 1.0138
small_norm <- sm(normalize_expt(small_expt, transform = "log2", convert = "cpm",
norm = "quant", filter = TRUE))
plot_pca(small_norm)$plot
## Warning: ggrepel: 15 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
small_nb <- normalize_expt(small_expt, transform = "log2", convert = "cpm",
batch = "svaseq", norm = "quant", filter = TRUE)
## Warning in normalize_expt(small_expt, transform = "log2", convert = "cpm", :
## Quantile normalization and sva do not always play well together.
## Removing 0 low-count genes (200 remaining).
## batch_counts: Before batch/surrogate estimation, 2 entries are x==0: 0%.
## batch_counts: Before batch/surrogate estimation, 526 entries are 0<x<1: 4%.
## Setting 58 low elements to zero.
## transform_counts: Found 58 values equal to 0, adding 1 to the matrix.
plot_pca(small_nb)$plot
## DESeq2 MA plot of failure / cure
hs_clinic_table[["plots"]][["failure_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure
hs_clinic_table[["plots"]][["failure_vs_cure"]][["deseq_vol_plots"]]$plot
ups <- hs_clinic_sig[["deseq"]][["ups"]][[1]]
downs <- hs_clinic_sig[["deseq"]][["downs"]][[1]]
hs_clinic_gprofiler_ups <- simple_gprofiler(ups)
## Performing gProfiler GO search of 227 genes against hsapiens.
## GO search found 71 hits.
## Performing gProfiler KEGG search of 227 genes against hsapiens.
## KEGG search found 5 hits.
## Performing gProfiler REAC search of 227 genes against hsapiens.
## REAC search found 9 hits.
## Performing gProfiler MI search of 227 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 227 genes against hsapiens.
## TF search found 43 hits.
## Performing gProfiler CORUM search of 227 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 227 genes against hsapiens.
## HP search found 0 hits.
hs_clinic_gprofiler_ups[["pvalue_plots"]][["bpp_plot_over"]]
hs_clinic_gprofiler_ups[["pvalue_plots"]][["mfp_plot_over"]]
hs_clinic_gprofiler_ups[["pvalue_plots"]][["reactome_plot_over"]]
##hs_try2 <- simple_gprofiler2(ups)
hs_clinic_gprofiler_downs <- simple_gprofiler(downs)
## Performing gProfiler GO search of 323 genes against hsapiens.
## GO search found 106 hits.
## Performing gProfiler KEGG search of 323 genes against hsapiens.
## KEGG search found 3 hits.
## Performing gProfiler REAC search of 323 genes against hsapiens.
## REAC search found 5 hits.
## Performing gProfiler MI search of 323 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 323 genes against hsapiens.
## TF search found 40 hits.
## Performing gProfiler CORUM search of 323 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 323 genes against hsapiens.
## HP search found 3 hits.
hs_clinic_gprofiler_downs[["pvalue_plots"]][["bpp_plot_over"]]
hs_clinic_gprofiler_downs[["pvalue_plots"]][["mfp_plot_over"]]
hs_clinic_gprofiler_downs[["pvalue_plots"]][["reactome_plot_over"]]
hs_celltype_gsva_c2 <- sm(simple_gsva(individual_celltypes))
hs_celltype_gsva_c2_sig <- sm(get_sig_gsva_categories(
hs_celltype_gsva_c2,
excel = "excel/individual_celltypes_gsva_c2.xlsx"))
broad_c7 <- GSEABase::getGmt("reference/msigdb/c7.all.v7.2.entrez.gmt",
collectionType = GSEABase::BroadCollection(category = "c7"),
geneIdType = GSEABase::EntrezIdentifier())
hs_celltype_gsva_c7 <- sm(simple_gsva(individual_celltypes, signatures = broad_c7,
msig_xml = "reference/msigdb_v7.2.xml", cores = 10))
hs_celltype_gsva_c7_sig <- sm(get_sig_gsva_categories(
hs_celltype_gsva_c7,
excel = "excel/individual_celltypes_gsva_c7.xlsx"))
## The raw heatmap of the C2 values
hs_celltype_gsva_c2_sig[["raw_plot"]]
## The 'significance' scores of the C2 values
hs_celltype_gsva_c2_sig[["score_plot"]]
## The subset of scores for categories deemed significantly different.
hs_celltype_gsva_c2_sig[["subset_plot"]]
## The raw heatmap of the C7 values
hs_celltype_gsva_c7_sig[["raw_plot"]]
## The 'significance' scores of the C7 values
hs_celltype_gsva_c7_sig[["score_plot"]]
## The subset of scores for categories deemed significantly different.
hs_celltype_gsva_c7_sig[["subset_plot"]]
The following blocks split the samples into a few groups by sample type and look at the distributions between them.
Get top/bottom n genes for each cell type, using clinical outcome as the factor of interest. For the moment, use sva for the DE analysis. Provide cpms for the top/bottom n genes.
Start with top/bottom 200. Perform default logFC and p-value as well.
mono <- subset_expt(hs_valid, subset = "typeofcells=='monocytes'") %>%
set_expt_conditions(fact = "clinicaloutcome") %>%
set_expt_batches(fact = "donor") %>%
set_expt_colors(colors = chosen_colors)
## subset_expt(): There were 135, now there are 27 samples.
## FIXME set_expt_colors should speak up if there are mismatches here!!!
save_result <- save(mono, file = "rda/monocyte_expt.rda")
mono_norm <- normalize_expt(mono, convert = "cpm", filter = TRUE,
transform = "log2", norm = "quant")
## Removing 8915 low-count genes (11026 remaining).
## transform_counts: Found 9 values equal to 0, adding 1 to the matrix.
plt <- plot_pca(mono_norm, plot_labels = FALSE)$plot
pp(file = glue("images/mono_pca_normalized-v{ver}.pdf"), image = plt)
mono_nb <- normalize_expt(mono, convert = "cpm", filter = TRUE,
transform = "log2", batch = "svaseq")
## Removing 8915 low-count genes (11026 remaining).
## batch_counts: Before batch/surrogate estimation, 1404 entries are x==0: 0%.
## batch_counts: Before batch/surrogate estimation, 17611 entries are 0<x<1: 6%.
## Setting 556 low elements to zero.
## transform_counts: Found 556 values equal to 0, adding 1 to the matrix.
plt <- plot_pca(mono_nb, plot_labels = FALSE)$plot
pp(file = glue("images/mono_pca_normalized_batch-v{ver}.pdf"), image = plt)
mono_de <- sm(all_pairwise(mono, model_batch = FALSE, filter = TRUE))
mono_tables <- sm(combine_de_tables(
mono_de, keepers = keepers,
excel = glue::glue("excel/monocyte_clinical_all_tables-v{ver}.xlsx")))
written <- write_xlsx(data = mono_tables[["data"]][[1]],
excel = glue::glue("excel/monocyte_clinical_table-v{ver}.xlsx"))
mono_sig <- sm(extract_significant_genes(mono_tables, according_to = "deseq"))
written <- write_xlsx(data = mono_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/monocyte_clinical_sigup-v{ver}.xlsx"))
written <- write_xlsx(data = mono_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/monocyte_clinical_sigdown-v{ver}.xlsx"))
mono_pct_sig <- sm(extract_significant_genes(mono_tables, n = 200,
lfc = NULL, p = NULL, according_to = "deseq"))
written <- write_xlsx(data = mono_pct_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/monocyte_clinical_sigup_pct-v{ver}.xlsx"))
written <- write_xlsx(data = mono_pct_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/monocyte_clinical_sigdown_pct-v{ver}.xlsx"))
mono_sig$summary_df
## data frame with 0 columns and 1 row
## Print out a table of the cpm values for other explorations.
mono_cpm <- sm(normalize_expt(mono, convert = "cpm"))
written <- write_xlsx(data = exprs(mono_cpm),
excel = glue::glue("excel/monocyte_cpm_before_batch-v{ver}.xlsx"))
mono_bcpm <- sm(normalize_expt(mono, filter = TRUE, convert = "cpm", batch = "svaseq"))
written <- write_xlsx(data = exprs(mono_bcpm),
excel = glue::glue("excel/monocyte_cpm_after_batch-v{ver}.xlsx"))
mono_de_sva <- sm(all_pairwise(mono, model_batch = "svaseq", filter = TRUE))
mono_tables_sva <- sm(combine_de_tables(
mono_de_sva, keepers = keepers,
excel = glue::glue("excel/monocyte_clinical_all_tables_sva-v{ver}.xlsx")))
mono_sig_sva <- sm(extract_significant_genes(
mono_tables_sva,
excel = glue::glue("excel/monocyte_clinical_sig_tables_sva-v{ver}.xlsx"),
according_to = "deseq"))
First print out the DE plots without and then with sva estimates.
## DESeq2 MA plot of failure / cure
mono_tables[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure
mono_tables[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
## DESeq2 MA plot of failure / cure with svaseq
mono_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure with svaseq
mono_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
ups <- mono_sig[["deseq"]][["ups"]][["fail_vs_cure"]]
downs <- mono_sig[["deseq"]][["downs"]][["fail_vs_cure"]]
mono_up_gp <- simple_gprofiler(sig_genes = ups)
## Performing gProfiler GO search of 103 genes against hsapiens.
## GO search found 22 hits.
## Performing gProfiler KEGG search of 103 genes against hsapiens.
## KEGG search found 4 hits.
## Performing gProfiler REAC search of 103 genes against hsapiens.
## REAC search found 4 hits.
## Performing gProfiler MI search of 103 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 103 genes against hsapiens.
## TF search found 13 hits.
## Performing gProfiler CORUM search of 103 genes against hsapiens.
## CORUM search found 1 hits.
## Performing gProfiler HP search of 103 genes against hsapiens.
## HP search found 19 hits.
mono_up_gp[["pvalue_plots"]][["bpp_plot_over"]]
mono_up_gp[["pvalue_plots"]][["mfp_plot_over"]]
mono_up_gp[["pvalue_plots"]][["reactome_plot_over"]]
mono_down_gp <- simple_gprofiler(sig_genes = downs)
## Performing gProfiler GO search of 265 genes against hsapiens.
## GO search found 97 hits.
## Performing gProfiler KEGG search of 265 genes against hsapiens.
## KEGG search found 2 hits.
## Performing gProfiler REAC search of 265 genes against hsapiens.
## REAC search found 6 hits.
## Performing gProfiler MI search of 265 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 265 genes against hsapiens.
## TF search found 136 hits.
## Performing gProfiler CORUM search of 265 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 265 genes against hsapiens.
## HP search found 0 hits.
mono_down_gp[["pvalue_plots"]][["bpp_plot_over"]]
mono_down_gp[["pvalue_plots"]][["mfp_plot_over"]]
mono_down_gp[["pvalue_plots"]][["reactome_plot_over"]]
broad_c7 <- GSEABase::getGmt("reference/msigdb/c7.all.v7.2.entrez.gmt",
collectionType = GSEABase::BroadCollection(category = "c7"),
geneIdType = GSEABase::EntrezIdentifier())
mono_up_goseq_msig <- goseq_msigdb(sig_genes = ups, signatures = broad_c7,
signature_category = "c7", length_db = hs_length)
## Before conversion: 103, after conversion: 104.
## Before conversion: 227921, after conversion: 35341.
## Found 99 go_db genes and 104 length_db genes out of 104.
mono_down_goseq_msig <- goseq_msigdb(sig_genes = downs, signatures = broad_c7,
signature_category = "c7", length_db = hs_length)
## Before conversion: 265, after conversion: 264.
## Before conversion: 227921, after conversion: 35341.
## Found 254 go_db genes and 264 length_db genes out of 264.
## Monocyte genes with increased expression in the failed samples
## share genes with the following experiments
mono_up_goseq_msig[["pvalue_plots"]][["mfp_plot_over"]]
## Monocyte genes with increased expression in the cured samples
## share genes with the following experiments
mono_down_goseq_msig[["pvalue_plots"]][["mfp_plot_over"]]
neut <- subset_expt(hs_valid, subset = "typeofcells=='neutrophils'") %>%
set_expt_conditions(fact = "clinicaloutcome") %>%
set_expt_batches(fact = "donor") %>%
set_expt_colors(colors = chosen_colors)
## subset_expt(): There were 135, now there are 28 samples.
save_result <- save(neut, file = "rda/neutrophil_expt.rda")
neut_norm <- sm(normalize_expt(neut, convert = "cpm", filter = TRUE, transform = "log2"))
plt <- plot_pca(neut_norm, plot_labels = FALSE)$plot
pp(file = glue("images/neut_pca_normalized-v{ver}.pdf"), image = plt)
neut_nb <- sm(normalize_expt(neut, convert = "cpm", filter = TRUE,
transform = "log2", batch = "svaseq"))
plt <- plot_pca(neut_nb, plot_labels = FALSE)$plot
pp(file = glue("images/neut_pca_normalized_svaseq-v{ver}.pdf"), image = plt)
neut_de <- sm(all_pairwise(neut, model_batch = FALSE, filter = TRUE))
neut_tables <- sm(combine_de_tables(
neut_de, keepers = keepers,
excel = glue::glue("excel/neutrophil_clinical_all_tables-v{ver}.xlsx")))
written <- write_xlsx(data = neut_tables[["data"]][[1]],
excel = glue::glue("excel/neutrophil_clinical_table-v{ver}.xlsx"))
neut_sig <- sm(extract_significant_genes(neut_tables, according_to = "deseq"))
written <- write_xlsx(data = neut_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/neutrophil_clinical_sigup-v{ver}.xlsx"))
written <- write_xlsx(data = neut_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/neutrophil_clinical_sigdown-v{ver}.xlsx"))
neut_pct_sig <- sm(extract_significant_genes(neut_tables, n = 200, lfc = NULL,
p = NULL, according_to = "deseq"))
written <- write_xlsx(data = neut_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/neutrophil_clinical_sigup_pct-v{ver}.xlsx"))
written <- write_xlsx(data = neut_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/neutrophil_clinical_sigdown_pct-v{ver}.xlsx"))
neut_cpm <- sm(normalize_expt(neut, convert = "cpm"))
written <- write_xlsx(data = exprs(neut_cpm),
excel = glue::glue("excel/neutrophil_cpm_before_batch-v{ver}.xlsx"))
neut_bcpm <- sm(normalize_expt(neut, filter = TRUE, batch = "svaseq", convert = "cpm"))
written <- write_xlsx(data = exprs(neut_bcpm),
excel = glue::glue("excel/neutrophil_cpm_after_batch-v{ver}.xlsx"))
neut_de_sva <- sm(all_pairwise(neut, model_batch = "svaseq", filter = TRUE))
neut_tables_sva <- sm(combine_de_tables(
neut_de_sva, keepers = keepers,
excel = glue::glue("excel/neutrophil_clinical_all_tables_sva-v{ver}.xlsx")))
neut_sig_sva <- sm(extract_significant_genes(
neut_tables_sva,
excel = glue::glue("excel/neutrophil_clinical_sig_tables_sva-v{ver}.xlsx"),
according_to = "deseq"))
## DESeq2 MA plot of failure / cure
neut_tables[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure
neut_tables[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
## DESeq2 MA plot of failure / cure with sva
neut_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure with sva
neut_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
ups <- neut_sig[["deseq"]][["ups"]][["fail_vs_cure"]]
downs <- neut_sig[["deseq"]][["downs"]][["fail_vs_cure"]]
neut_up_gp <- simple_gprofiler(sig_genes = ups)
## Performing gProfiler GO search of 122 genes against hsapiens.
## GO search found 0 hits.
## Performing gProfiler KEGG search of 122 genes against hsapiens.
## KEGG search found 1 hits.
## Performing gProfiler REAC search of 122 genes against hsapiens.
## REAC search found 1 hits.
## Performing gProfiler MI search of 122 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 122 genes against hsapiens.
## TF search found 6 hits.
## Performing gProfiler CORUM search of 122 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 122 genes against hsapiens.
## HP search found 1 hits.
neut_up_gp[["pvalue_plots"]][["bpp_plot_over"]]
## NULL
neut_up_gp[["pvalue_plots"]][["mfp_plot_over"]]
## NULL
neut_up_gp[["pvalue_plots"]][["reactome_plot_over"]]
neut_down_gp <- simple_gprofiler(downs)
## Performing gProfiler GO search of 137 genes against hsapiens.
## GO search found 2 hits.
## Performing gProfiler KEGG search of 137 genes against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 137 genes against hsapiens.
## REAC search found 0 hits.
## Performing gProfiler MI search of 137 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 137 genes against hsapiens.
## TF search found 6 hits.
## Performing gProfiler CORUM search of 137 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 137 genes against hsapiens.
## HP search found 5 hits.
neut_down_gp[["pvalue_plots"]][["bpp_plot_over"]]
neut_down_gp[["pvalue_plots"]][["mfp_plot_over"]]
## NULL
neut_down_gp[["pvalue_plots"]][["reactome_plot_over"]]
## NULL
neut_up_goseq_msig <- goseq_msigdb(sig_genes = ups, signatures = broad_c7,
signature_category = "c7", length_db = hs_length)
## Before conversion: 122, after conversion: 121.
## Before conversion: 227921, after conversion: 35341.
## Found 114 go_db genes and 121 length_db genes out of 121.
neut_down_goseq_msig <- goseq_msigdb(sig_genes = downs, signatures = broad_c7,
signature_category = "c7", length_db = hs_length)
## Before conversion: 137, after conversion: 133.
## Before conversion: 227921, after conversion: 35341.
## Found 127 go_db genes and 133 length_db genes out of 133.
## Neutrophil genes with increased expression in the failed samples
## share genes with the following experiments
neut_up_goseq_msig[["pvalue_plots"]][["mfp_plot_over"]]
## Neutrophil genes with increased expression in the cured samples
## share genes with the following experiments
neut_down_goseq_msig[["pvalue_plots"]][["mfp_plot_over"]]
eo <- subset_expt(hs_valid, subset = "typeofcells=='eosinophils'") %>%
set_expt_conditions(fact = "clinicaloutcome") %>%
set_expt_batches(fact = "donor") %>%
set_expt_colors(colors = chosen_colors)
## subset_expt(): There were 135, now there are 20 samples.
save_result <- save(eo, file = "rda/eosinophil_expt.rda")
eo_norm <- sm(normalize_expt(eo, convert = "cpm", transform = "log2",
norm = "quant", filter = TRUE))
plt <- plot_pca(eo_norm, plot_labels = FALSE)$plot
pp(file = glue("images/eo_pca_normalized-v{ver}.pdf"), image = plt)
eo_nb <- sm(normalize_expt(eo, convert = "cpm", transform = "log2",
filter = TRUE, batch = "svaseq"))
plot_pca(eo_nb)$plot
eo_de <- sm(all_pairwise(eo, model_batch = FALSE, filter = TRUE))
eo_tables <- sm(combine_de_tables(
eo_de, keepers = keepers,
excel = glue::glue("excel/eosinophil_clinical_all_tables-v{ver}.xlsx")))
written <- write_xlsx(data = eo_tables[["data"]][[1]],
excel = glue::glue("excel/eosinophil_clinical_table-v{ver}.xlsx"))
eo_sig <- sm(extract_significant_genes(eo_tables, according_to = "deseq"))
written <- write_xlsx(data = eo_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/eosinophil_clinical_sigup-v{ver}.xlsx"))
written <- write_xlsx(data = eo_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/eosinophil_clinical_sigdown-v{ver}.xlsx"))
eo_pct_sig <- sm(extract_significant_genes(eo_tables, n = 200,
lfc = NULL, p = NULL, according_to = "deseq"))
written <- write_xlsx(data = eo_pct_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/eosinophil_clinical_sigup_pct-v{ver}.xlsx"))
written <- write_xlsx(data = eo_pct_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/eosinophil_clinical_sigdown_pct-v{ver}.xlsx"))
eo_cpm <- sm(normalize_expt(eo, convert = "cpm"))
written <- write_xlsx(data = exprs(eo_cpm),
excel = glue::glue("excel/eosinophil_cpm_before_batch-v{ver}.xlsx"))
eo_bcpm <- sm(normalize_expt(eo, filter = TRUE, batch = "svaseq", convert = "cpm"))
written <- write_xlsx(data = exprs(eo_bcpm),
excel = glue::glue("excel/eosinophil_cpm_after_batch-v{ver}.xlsx"))
eo_de_sva <- sm(all_pairwise(eo, model_batch = "svaseq", filter = TRUE))
eo_tables_sva <- sm(combine_de_tables(
eo_de_sva, keepers = keepers,
excel = glue::glue("excel/eosinophil_clinical_all_tables_sva-v{ver}.xlsx")))
eo_sig_sva <- sm(extract_significant_genes(
eo_tables_sva,
excel = glue::glue("excel/eosinophil_clinical_sig_tables_sva-v{ver}.xlsx"),
according_to = "deseq"))
## DESeq2 MA plot of failure / cure
eo_tables[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure
eo_tables[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
## DESeq2 MA plot of failure / cure with sva
eo_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure with sva
eo_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
ups <- eo_sig[["deseq"]][["ups"]][["fail_vs_cure"]]
downs <- eo_sig[["deseq"]][["downs"]][["fail_vs_cure"]]
eo_up_gp <- simple_gprofiler(sig_genes = ups)
## Performing gProfiler GO search of 103 genes against hsapiens.
## GO search found 97 hits.
## Performing gProfiler KEGG search of 103 genes against hsapiens.
## KEGG search found 9 hits.
## Performing gProfiler REAC search of 103 genes against hsapiens.
## REAC search found 9 hits.
## Performing gProfiler MI search of 103 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 103 genes against hsapiens.
## TF search found 50 hits.
## Performing gProfiler CORUM search of 103 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 103 genes against hsapiens.
## HP search found 1 hits.
eo_up_gp[["pvalue_plots"]][["bpp_plot_over"]]
eo_up_gp[["pvalue_plots"]][["mfp_plot_over"]]
eo_up_gp[["pvalue_plots"]][["reactome_plot_over"]]
eo_down_gp <- simple_gprofiler(downs)
## Performing gProfiler GO search of 40 genes against hsapiens.
## GO search found 0 hits.
## Performing gProfiler KEGG search of 40 genes against hsapiens.
## KEGG search found 0 hits.
## Performing gProfiler REAC search of 40 genes against hsapiens.
## REAC search found 0 hits.
## Performing gProfiler MI search of 40 genes against hsapiens.
## MI search found 0 hits.
## Performing gProfiler TF search of 40 genes against hsapiens.
## TF search found 0 hits.
## Performing gProfiler CORUM search of 40 genes against hsapiens.
## CORUM search found 0 hits.
## Performing gProfiler HP search of 40 genes against hsapiens.
## HP search found 0 hits.
eo_down_gp[["pvalue_plots"]][["bpp_plot_over"]]
## NULL
eo_down_gp[["pvalue_plots"]][["mfp_plot_over"]]
## NULL
eo_down_gp[["pvalue_plots"]][["reactome_plot_over"]]
## NULL
eo_up_goseq_msig <- goseq_msigdb(sig_genes = ups, signatures = broad_c7,
signature_category = "c7", length_db = hs_length)
## Before conversion: 103, after conversion: 103.
## Before conversion: 227921, after conversion: 35341.
## Found 101 go_db genes and 103 length_db genes out of 103.
eo_down_goseq_msig <- goseq_msigdb(sig_genes = downs, signatures = broad_c7,
signature_category = "c7", length_db = hs_length)
## Before conversion: 40, after conversion: 39.
## Before conversion: 227921, after conversion: 35341.
## Found 34 go_db genes and 39 length_db genes out of 39.
## Eosinophil genes with increased expression in the failed samples
## share genes with the following experiments
eo_up_goseq_msig[["pvalue_plots"]][["mfp_plot_over"]]
## Eosinophil genes with increased expression in the cured samples
## share genes with the following experiments
eo_down_goseq_msig[["pvalue_plots"]][["mfp_plot_over"]]
biop <- subset_expt(hs_valid, subset = "typeofcells=='biopsy'") %>%
set_expt_conditions(fact = "clinicaloutcome") %>%
set_expt_batches(fact = "donor") %>%
set_expt_colors(colors = chosen_colors)
## subset_expt(): There were 135, now there are 42 samples.
save_result <- save(biop, file = "rda/biopsy_expt.rda")
biop_norm <- normalize_expt(biop, filter = TRUE, convert = "cpm",
transform = "log2", norm = "quant")
## Removing 5799 low-count genes (14142 remaining).
## transform_counts: Found 5 values equal to 0, adding 1 to the matrix.
plt <- plot_pca(biop_norm, plot_labels = FALSE)$plot
pp(file = glue("images/biop_pca_normalized-v{ver}.pdf"), image = plt)
biop_nb <- sm(normalize_expt(biop, convert = "cpm", filter = TRUE,
transform = "log2", batch = "svaseq"))
plt <- plot_pca(biop_nb, plot_labels = FALSE)$plot
pp(file = glue("images/biop_pca_normalized_svaseq-v{ver}.pdf"), image = plt)
biop_de <- sm(all_pairwise(biop, model_batch = FALSE, filter = TRUE))
biop_tables <- combine_de_tables(biop_de, keepers = keepers,
excel = glue::glue("excel/biopsy_clinical_all_tables-v{ver}.xlsx"))
## Deleting the file excel/biopsy_clinical_all_tables-v202106.xlsx before writing the tables.
written <- write_xlsx(data = biop_tables[["data"]][[1]],
excel = glue::glue("excel/biopsy_clinical_table-v{ver}.xlsx"))
biop_sig <- extract_significant_genes(biop_tables, according_to = "deseq")
##written <- write_xlsx(data = biop_sig[["deseq"]][["ups"]][[1]],
## excel = glue::glue("excel/biopsy_clinical_sigup-v{ver}.xlsx"))
written <- write_xlsx(data = biop_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/biopsy_clinical_sigdown-v{ver}.xlsx"))
biop_pct_sig <- extract_significant_genes(biop_tables, n = 200, lfc = NULL, p = NULL, according_to = "deseq")
## Getting the top and bottom 200 genes.
written <- write_xlsx(data = biop_pct_sig[["deseq"]][["ups"]][[1]],
excel = glue::glue("excel/biopsy_clinical_sigup_pct-v{ver}.xlsx"))
written <- write_xlsx(data = biop_pct_sig[["deseq"]][["downs"]][[1]],
excel = glue::glue("excel/biopsy_clinical_sigdown_pct-v{ver}.xlsx"))
biop_cpm <- sm(normalize_expt(biop, convert = "cpm"))
written <- write_xlsx(data = exprs(biop_cpm),
excel = glue::glue("excel/biopsy_cpm_before_batch-v{ver}.xlsx"))
biop_bcpm <- sm(normalize_expt(biop, filter = TRUE, batch = "svaseq", convert = "cpm"))
written <- write_xlsx(data = exprs(biop_bcpm),
excel = glue::glue("excel/biopsy_cpm_after_batch-v{ver}.xlsx"))
biop_de_sva <- sm(all_pairwise(biop, model_batch = "svaseq", filter = TRUE))
biop_tables_sva <- sm(combine_de_tables(
biop_de_sva, keepers = keepers,
excel = glue::glue("excel/biopsy_clinical_all_tables_sva-v{ver}.xlsx")))
biop_sig_sva <- sm(extract_significant_genes(
biop_tables_sva,
excel = glue::glue("excel/biopsy_clinical_sig_tables_sva-v{ver}.xlsx"),
according_to = "deseq"))
## DESeq2 MA plot of failure / cure
biop_tables[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure
biop_tables[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
## DESeq2 MA plot of failure / cure
biop_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_ma_plots"]]$plot
## DESeq2 Volcano plot of failure / cure
biop_tables_sva[["plots"]][["fail_vs_cure"]][["deseq_vol_plots"]]$plot
visit_colors <- chosen_colors <- c("#D95F02", "#7570B3", "#1B9E77")
names(visit_colors) <- c(1, 2, 3)
mono_visit <- subset_expt(hs_valid, subset = "typeofcells=='monocytes'") %>%
set_expt_conditions(fact = "visitnumber") %>%
set_expt_batches(fact = "clinicaloutcome") %>%
set_expt_colors(colors = chosen_colors)
## subset_expt(): There were 135, now there are 27 samples.
mono_visit_norm <- normalize_expt(mono_visit, filter = TRUE, norm = "quant", convert = "cpm",
transform = "log2")
## Removing 8915 low-count genes (11026 remaining).
## transform_counts: Found 9 values equal to 0, adding 1 to the matrix.
mono_visit_pca <- plot_pca(mono_visit_norm)
pp(file = "images/monocyte_by_visit.png", image = mono_visit_pca$plot)
mono_visit_nb <- normalize_expt(mono_visit, filter = TRUE, convert = "cpm",
batch = "svaseq", transform = "log2")
## Removing 8915 low-count genes (11026 remaining).
## batch_counts: Before batch/surrogate estimation, 1404 entries are x==0: 0%.
## batch_counts: Before batch/surrogate estimation, 17611 entries are 0<x<1: 6%.
## Setting 441 low elements to zero.
## transform_counts: Found 441 values equal to 0, adding 1 to the matrix.
mono_visit_nb_pca <- plot_pca(mono_visit_nb)
pp(file = "images/monocyte_by_visit_nb.png", image = mono_visit_nb_pca$plot)
table(pData(mono_visit_norm)$batch)
##
## cure failure lost
## 9 12 6
keepers <- list(
"second_vs_first" = c("c2", "c1"),
"third_vs_second" = c("c3", "c2"),
"third_vs_first" = c("c3", "c1"))
mono_visit_de <- all_pairwise(mono_visit, model_batch = "svaseq", filter = TRUE)
## batch_counts: Before batch/surrogate estimation, 1404 entries are x==0: 0%.
## Plotting a PCA before surrogate/batch inclusion.
## Using svaseq to visualize before/after batch inclusion.
## Performing a test normalization with: raw
## Removing 0 low-count genes (11026 remaining).
## batch_counts: Before batch/surrogate estimation, 1404 entries are x==0: 0%.
## batch_counts: Before batch/surrogate estimation, 17611 entries are 0<x<1: 6%.
## Setting 441 low elements to zero.
## transform_counts: Found 441 values equal to 0, adding 1 to the matrix.
## Finished running DE analyses, collecting outputs.
## Comparing analyses.
mono_visit_tables <- combine_de_tables(
mono_visit_de,
keepers = keepers,
excel = glue::glue("excel/mono_visit_tables-v{ver}.xlsx"))
new_factor <- as.character(pData(mono_visit)[["visitnumber"]])
not_one_idx <- new_factor != 1
new_factor[not_one_idx] <- "not_1"
mono_one_vs <- set_expt_conditions(mono_visit, new_factor)
mono_one_vs_de <- all_pairwise(mono_one_vs, model_batch = "svaseq", filter = TRUE)
## batch_counts: Before batch/surrogate estimation, 1404 entries are x==0: 0%.
## Plotting a PCA before surrogate/batch inclusion.
## Using svaseq to visualize before/after batch inclusion.
## Performing a test normalization with: raw
## Removing 0 low-count genes (11026 remaining).
## batch_counts: Before batch/surrogate estimation, 1404 entries are x==0: 0%.
## batch_counts: Before batch/surrogate estimation, 17611 entries are 0<x<1: 6%.
## Setting 436 low elements to zero.
## transform_counts: Found 436 values equal to 0, adding 1 to the matrix.
## Finished running DE analyses, collecting outputs.
## Comparing analyses.
mono_one_vs_tables <- combine_de_tables(
mono_one_vs_de,
excel = glue::glue("excel/mono_one_vs_tables-v{ver}.xlsx"))
In writing the following, I quickly realized that tspair was not joking when it said it is intended for small numbers of genes. For a full expressionset of human data it is struggling. I like the idea, it may prove worth while to spend some time optimizing the package so that it is more usable.
expt <- hs_clinical_nobiop
simple_tsp <- function(expt, column = "condition") {
facts <- levels(as.factor(pData(expt)[[column]]))
retlist <- list()
if (length(facts) < 2) {
stop("This requires factors with at least 2 levels.")
} else if (length(facts) == 2) {
retlist <- simple_tsp_pair(expt, column = column)
} else {
for (first in 1:(length(facts) - 1)) {
for (second in 2:(length(facts))) {
if (first < second) {
name <- glue::glue("{facts[first]}_vs_{facts[second]}")
message("Starting ", name, ".")
substring <- glue::glue("{column}=='{facts[first]}'|{column}=='{facts[second]}'")
subby <- subset_expt(expt, subset=as.character(substring))
retlist[[name]] <- simple_tsp_pair(subby, column = column)
}
}
}
}
}
simple_tsp_pair <- function(subby, column = "condition", repetitions = 50) {
tsp_input <- subby[["expressionset"]]
tsp_output <- tspcalc(tsp_input, column)
tsp_scores <- tspsig(tsp_input, column, B = repetitions)
}
tsp1 <- tspcalc(tsp_input, "condition")
if (!isTRUE(get0("skip_load"))) {
pander::pander(sessionInfo())
message(paste0("This is hpgltools commit: ", get_git_commit()))
message(paste0("Saving to ", savefile))
tmp <- sm(saveme(filename = savefile))
}
## If you wish to reproduce this exact build of hpgltools, invoke the following:
## > git clone http://github.com/abelew/hpgltools.git
## > git reset 72947fcc6afe09da22d71967059edd84e3063341
## This is hpgltools commit: Tue Jun 1 15:57:56 2021 -0400: 72947fcc6afe09da22d71967059edd84e3063341
## Saving to tmrc3_02sample_estimation_v202106.rda.xz
tmp <- loadme(filename = savefile)