Last updated: 2021-06-22

Checks: 7 0

Knit directory: neural_scRNAseq/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it's best to always run the code in an empty environment.

The command set.seed(20200522) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 8e552ba. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .DS_Store
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    ._.DS_Store
    Ignored:    ._Filtered.pdf
    Ignored:    ._Rplots.pdf
    Ignored:    ._Unfiltered.pdf
    Ignored:    .__workflowr.yml
    Ignored:    ._coverage.pdf
    Ignored:    ._coverage_sashimi.pdf
    Ignored:    ._coverage_sashimi.png
    Ignored:    ._neural_scRNAseq.Rproj
    Ignored:    ._pbDS_cell_level.pdf
    Ignored:    ._pbDS_top_expr_umap.pdf
    Ignored:    ._pbDS_upset.pdf
    Ignored:    ._sashimi.pdf
    Ignored:    ._stmn2.pdf
    Ignored:    ._tdp.pdf
    Ignored:    analysis/.DS_Store
    Ignored:    analysis/.Rhistory
    Ignored:    analysis/._.DS_Store
    Ignored:    analysis/._01-preprocessing.Rmd
    Ignored:    analysis/._01-preprocessing.html
    Ignored:    analysis/._02.1-SampleQC.Rmd
    Ignored:    analysis/._03-filtering.Rmd
    Ignored:    analysis/._04-clustering.Rmd
    Ignored:    analysis/._04-clustering.knit.md
    Ignored:    analysis/._04.1-cell_cycle.Rmd
    Ignored:    analysis/._05-annotation.Rmd
    Ignored:    analysis/._07-cluster-analysis-all-timepoints.Rmd
    Ignored:    analysis/._Lam-0-NSC_no_integration.Rmd
    Ignored:    analysis/._Lam-01-NSC_integration.Rmd
    Ignored:    analysis/._Lam-02-NSC_annotation.Rmd
    Ignored:    analysis/._NSC-1-clustering.Rmd
    Ignored:    analysis/._NSC-2-annotation.Rmd
    Ignored:    analysis/._TDP-06-cluster_analysis.Rmd
    Ignored:    analysis/.__site.yml
    Ignored:    analysis/._additional_filtering.Rmd
    Ignored:    analysis/._additional_filtering_clustering.Rmd
    Ignored:    analysis/._index.Rmd
    Ignored:    analysis/._organoid-01-1-qualtiy-control.Rmd
    Ignored:    analysis/._organoid-01-clustering.Rmd
    Ignored:    analysis/._organoid-02-integration.Rmd
    Ignored:    analysis/._organoid-03-cluster_analysis.Rmd
    Ignored:    analysis/._organoid-04-group_integration.Rmd
    Ignored:    analysis/._organoid-04-stage_integration.Rmd
    Ignored:    analysis/._organoid-05-group_integration_cluster_analysis.Rmd
    Ignored:    analysis/._organoid-05-stage_integration_cluster_analysis.Rmd
    Ignored:    analysis/._organoid-06-1-prepare-sce.Rmd
    Ignored:    analysis/._organoid-06-conos-analysis-Seurat.Rmd
    Ignored:    analysis/._organoid-06-conos-analysis-function.Rmd
    Ignored:    analysis/._organoid-06-conos-analysis.Rmd
    Ignored:    analysis/._organoid-06-group-integration-conos-analysis.Rmd
    Ignored:    analysis/._organoid-07-conos-visualization.Rmd
    Ignored:    analysis/._organoid-07-group-integration-conos-visualization.Rmd
    Ignored:    analysis/._organoid-08-conos-comparison.Rmd
    Ignored:    analysis/._organoid-0x-sample_integration.Rmd
    Ignored:    analysis/01-preprocessing_cache/
    Ignored:    analysis/02-1-SampleQC_cache/
    Ignored:    analysis/02-quality_control_cache/
    Ignored:    analysis/02.1-SampleQC_cache/
    Ignored:    analysis/03-filtering_cache/
    Ignored:    analysis/04-clustering_cache/
    Ignored:    analysis/04.1-cell_cycle_cache/
    Ignored:    analysis/05-annotation_cache/
    Ignored:    analysis/06-clustering-all-timepoints_cache/
    Ignored:    analysis/07-cluster-analysis-all-timepoints_cache/
    Ignored:    analysis/CH-test-01-preprocessing_cache/
    Ignored:    analysis/CH-test-02-transgene-expression_cache/
    Ignored:    analysis/CH-test-03-cluster-analysis_cache/
    Ignored:    analysis/Lam-01-NSC_integration_cache/
    Ignored:    analysis/Lam-02-NSC_annotation_cache/
    Ignored:    analysis/NSC-1-clustering_cache/
    Ignored:    analysis/NSC-2-annotation_cache/
    Ignored:    analysis/TDP-01-preprocessing_cache/
    Ignored:    analysis/TDP-02-quality_control_cache/
    Ignored:    analysis/TDP-03-filtering_cache/
    Ignored:    analysis/TDP-04-clustering_cache/
    Ignored:    analysis/TDP-05-00-filtering-plasmid-QC_cache/
    Ignored:    analysis/TDP-05-plasmid_expression_cache/
    Ignored:    analysis/TDP-06-cluster_analysis_cache/
    Ignored:    analysis/TDP-07-01-STMN2_expression_cache/
    Ignored:    analysis/TDP-07-cluster_12_cache/
    Ignored:    analysis/TDP-08-00-clustering-HA-D96_cache/
    Ignored:    analysis/TDP-08-01-HA-D96-expression-changes_cache/
    Ignored:    analysis/TDP-08-02-TDP_target_genes_cache/
    Ignored:    analysis/TDP-08-clustering-timeline-HA_cache/
    Ignored:    analysis/additional_filtering_cache/
    Ignored:    analysis/additional_filtering_clustering_cache/
    Ignored:    analysis/organoid-01-1-qualtiy-control_cache/
    Ignored:    analysis/organoid-01-clustering_cache/
    Ignored:    analysis/organoid-02-integration_cache/
    Ignored:    analysis/organoid-03-cluster_analysis_cache/
    Ignored:    analysis/organoid-04-group_integration_cache/
    Ignored:    analysis/organoid-04-stage_integration_cache/
    Ignored:    analysis/organoid-05-group_integration_cluster_analysis_cache/
    Ignored:    analysis/organoid-05-stage_integration_cluster_analysis_cache/
    Ignored:    analysis/organoid-06-conos-analysis_cache/
    Ignored:    analysis/organoid-06-conos-analysis_test_cache/
    Ignored:    analysis/organoid-06-group-integration-conos-analysis_cache/
    Ignored:    analysis/organoid-07-conos-visualization_cache/
    Ignored:    analysis/organoid-07-group-integration-conos-visualization_cache/
    Ignored:    analysis/organoid-08-conos-comparison_cache/
    Ignored:    analysis/organoid-0x-sample_integration_cache/
    Ignored:    analysis/sample5_QC_cache/
    Ignored:    analysis/timepoints-01-organoid-integration_cache/
    Ignored:    analysis/timepoints-02-cluster-analysis_cache/
    Ignored:    data/.DS_Store
    Ignored:    data/._.DS_Store
    Ignored:    data/._.smbdeleteAAA17ed8b4b
    Ignored:    data/._Lam_figure2_markers.R
    Ignored:    data/._README.md
    Ignored:    data/._Reactive_astrocytes_markers.xlsx
    Ignored:    data/._known_NSC_markers.R
    Ignored:    data/._known_cell_type_markers.R
    Ignored:    data/._metadata.csv
    Ignored:    data/._virus_cell_tropism_markers.R
    Ignored:    data/._~$Reactive_astrocytes_markers.xlsx
    Ignored:    data/data_sushi/
    Ignored:    data/filtered_feature_matrices/
    Ignored:    output/.DS_Store
    Ignored:    output/._.DS_Store
    Ignored:    output/._NSC_cluster2_marker_genes.txt
    Ignored:    output/._TDP-06-no_integration_cluster12_marker_genes.txt
    Ignored:    output/._TDP-06-no_integration_cluster13_marker_genes.txt
    Ignored:    output/._organoid_integration_cluster1_marker_genes.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_0.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_1.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_10.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_11.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_12.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_13.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_14.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_5.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_7.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_8.txt
    Ignored:    output/._tbl_TDP-08-01-muscat_cluster_all.xlsx
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_0.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_1.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_10.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_11.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_12.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_13.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_14.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_5.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_7.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_8.txt
    Ignored:    output/._tbl_TDP-08-02-targets_hek_cluster_all.xlsx
    Ignored:    output/._~$tbl_TDP-08-02-targets_hek_cluster_all.xlsx
    Ignored:    output/CH-test-01-preprocessing.rds
    Ignored:    output/CH-test-01-preprocessing_singlets.rds
    Ignored:    output/CH-test-01-preprocessing_singlets_filtered.rds
    Ignored:    output/CH-test-01-preprocessing_so.rds
    Ignored:    output/CH-test-01-preprocessing_so_filtered.rds
    Ignored:    output/CH-test-03-cluster-analysis_so.rds
    Ignored:    output/CH-test-03_scran_markers.rds
    Ignored:    output/Lam-01-clustering.rds
    Ignored:    output/NSC_1_clustering.rds
    Ignored:    output/NSC_cluster1_marker_genes.txt
    Ignored:    output/NSC_cluster2_marker_genes.txt
    Ignored:    output/NSC_cluster3_marker_genes.txt
    Ignored:    output/NSC_cluster4_marker_genes.txt
    Ignored:    output/NSC_cluster5_marker_genes.txt
    Ignored:    output/NSC_cluster6_marker_genes.txt
    Ignored:    output/NSC_cluster7_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster0_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster10_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster11_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster12_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster13_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster14_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster15_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster16_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster17_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster1_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster2_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster3_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster4_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster5_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster6_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster7_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster8_marker_genes.txt
    Ignored:    output/TDP-06-no_integration_cluster9_marker_genes.txt
    Ignored:    output/TDP-06_scran_markers.rds
    Ignored:    output/additional_filtering.rds
    Ignored:    output/conos/
    Ignored:    output/conos_organoid-06-conos-analysis.rds
    Ignored:    output/conos_organoid-06-group-integration-conos-analysis.rds
    Ignored:    output/figures/
    Ignored:    output/organoid_integration_cluster10_marker_genes.txt
    Ignored:    output/organoid_integration_cluster11_marker_genes.txt
    Ignored:    output/organoid_integration_cluster12_marker_genes.txt
    Ignored:    output/organoid_integration_cluster13_marker_genes.txt
    Ignored:    output/organoid_integration_cluster14_marker_genes.txt
    Ignored:    output/organoid_integration_cluster15_marker_genes.txt
    Ignored:    output/organoid_integration_cluster16_marker_genes.txt
    Ignored:    output/organoid_integration_cluster17_marker_genes.txt
    Ignored:    output/organoid_integration_cluster1_marker_genes.txt
    Ignored:    output/organoid_integration_cluster2_marker_genes.txt
    Ignored:    output/organoid_integration_cluster3_marker_genes.txt
    Ignored:    output/organoid_integration_cluster4_marker_genes.txt
    Ignored:    output/organoid_integration_cluster5_marker_genes.txt
    Ignored:    output/organoid_integration_cluster6_marker_genes.txt
    Ignored:    output/organoid_integration_cluster7_marker_genes.txt
    Ignored:    output/organoid_integration_cluster8_marker_genes.txt
    Ignored:    output/organoid_integration_cluster9_marker_genes.txt
    Ignored:    output/res_TDP-08-01-muscat.rds
    Ignored:    output/sce_01_preprocessing.rds
    Ignored:    output/sce_02_quality_control.rds
    Ignored:    output/sce_03_filtering.rds
    Ignored:    output/sce_03_filtering_all_genes.rds
    Ignored:    output/sce_06-1-prepare-sce.rds
    Ignored:    output/sce_TDP-08-01-muscat.rds
    Ignored:    output/sce_TDP_01_preprocessing.rds
    Ignored:    output/sce_TDP_02_quality_control.rds
    Ignored:    output/sce_TDP_03_filtering.rds
    Ignored:    output/sce_TDP_03_filtering_all_genes.rds
    Ignored:    output/sce_organoid-01-clustering.rds
    Ignored:    output/sce_preprocessing.rds
    Ignored:    output/so_04-stage_integration.rds
    Ignored:    output/so_04_1_cell_cycle.rds
    Ignored:    output/so_04_clustering.rds
    Ignored:    output/so_06-clustering_all_timepoints.rds
    Ignored:    output/so_08-00_clustering_HA_D96.rds
    Ignored:    output/so_08-clustering_timeline_HA.rds
    Ignored:    output/so_0x-sample_integration.rds
    Ignored:    output/so_CH-test-02-transgene_expression.rds
    Ignored:    output/so_TDP-06-cluster-analysis.rds
    Ignored:    output/so_TDP_04_clustering.rds
    Ignored:    output/so_TDP_05_plasmid_expression.rds
    Ignored:    output/so_additional_filtering_clustering.rds
    Ignored:    output/so_integrated_organoid-02-integration.rds
    Ignored:    output/so_merged_organoid-02-integration.rds
    Ignored:    output/so_organoid-01-clustering.rds
    Ignored:    output/so_sample_organoid-01-clustering.rds
    Ignored:    output/so_timepoints-01-organoid_integration.rds
    Ignored:    output/tbl_TDP-08-01-muscat.rds
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_0.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_1.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_10.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_11.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_12.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_13.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_14.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_5.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_7.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_8.txt
    Ignored:    output/tbl_TDP-08-01-muscat_cluster_all.xlsx
    Ignored:    output/tbl_TDP-08-02-targets_hek.rds
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_0.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_1.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_10.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_11.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_12.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_13.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_14.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_5.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_7.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_8.txt
    Ignored:    output/tbl_TDP-08-02-targets_hek_cluster_all.xlsx
    Ignored:    output/~$tbl_TDP-08-02-targets_hek_cluster_all.xlsx
    Ignored:    scripts/.DS_Store
    Ignored:    scripts/._.DS_Store
    Ignored:    scripts/._bu_Rcode.R
    Ignored:    scripts/._plasmid_expression.sh
    Ignored:    scripts/._plasmid_expression_cell_hashing_test.sh
    Ignored:    scripts/._prepare_salmon_transcripts.R

Untracked files:
    Untracked:  Filtered.pdf
    Untracked:  Rplots.pdf
    Untracked:  Unfiltered
    Untracked:  Unfiltered.pdf
    Untracked:  analysis/Lam-0-NSC_no_integration.Rmd
    Untracked:  analysis/TDP-07-01-STMN2_expression copy.Rmd
    Untracked:  analysis/additional_filtering.Rmd
    Untracked:  analysis/additional_filtering_clustering.Rmd
    Untracked:  analysis/organoid-01-1-qualtiy-control.Rmd
    Untracked:  analysis/organoid-06-conos-analysis-Seurat.Rmd
    Untracked:  analysis/organoid-06-conos-analysis-function.Rmd
    Untracked:  analysis/organoid-07-conos-visualization.Rmd
    Untracked:  analysis/organoid-07-group-integration-conos-visualization.Rmd
    Untracked:  analysis/organoid-08-conos-comparison.Rmd
    Untracked:  analysis/organoid-0x-sample_integration.Rmd
    Untracked:  analysis/sample5_QC.Rmd
    Untracked:  coverage.pdf
    Untracked:  coverage_sashimi.pdf
    Untracked:  coverage_sashimi.png
    Untracked:  data/Homo_sapiens.GRCh38.98.sorted.gtf
    Untracked:  data/Jun2021/
    Untracked:  data/Kanton_et_al/
    Untracked:  data/Lam_et_al/
    Untracked:  data/Prudencio_et_al/
    Untracked:  data/Sep2020/
    Untracked:  data/cell_hashing_test/
    Untracked:  data/reference/
    Untracked:  data/virus_cell_tropism_markers.R
    Untracked:  data/~$Reactive_astrocytes_markers.xlsx
    Untracked:  pbDS_cell_level.pdf
    Untracked:  pbDS_heatmap.pdf
    Untracked:  pbDS_top_expr_umap.pdf
    Untracked:  pbDS_upset.pdf
    Untracked:  sashimi.pdf
    Untracked:  scripts/bu_Rcode.R
    Untracked:  scripts/bu_code.Rmd
    Untracked:  scripts/plasmid_expression_cell_hashing_test.sh
    Untracked:  scripts/prepare_salmon_transcripts_cell_hashing_test.R
    Untracked:  scripts/salmon-latest_linux_x86_64/
    Untracked:  stmn2.pdf
    Untracked:  tdp.pdf

Unstaged changes:
    Modified:   analysis/05-annotation.Rmd
    Modified:   analysis/TDP-04-clustering.Rmd
    Modified:   analysis/TDP-07-cluster_12.Rmd
    Modified:   analysis/TDP-08-01-HA-D96-expression-changes.Rmd
    Modified:   analysis/_site.yml
    Modified:   analysis/organoid-02-integration.Rmd
    Modified:   analysis/organoid-04-group_integration.Rmd
    Modified:   analysis/organoid-06-conos-analysis.Rmd

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/TDP-07-02-Prudencio_marker_expression.Rmd) and HTML (docs/TDP-07-02-Prudencio_marker_expression.html) files. If you've configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd 8e552ba khembach 2021-06-22 cluster 12 marker expression in brain RNA-seq (Prudencio et al.)

Load packages

library(ggplot2)
library(dplyr)
library(readxl)
library(edgeR)
library(tidyr)
metadat <- read_excel(file.path("data", "Prudencio_et_al", 
                                "GSE67196_Petrucelli2015_ALS_genes.rawcount.xlsx"), 
                      sheet = "metadata")
dat <- read_excel(file.path("data", "Prudencio_et_al", 
                                "GSE67196_Petrucelli2015_ALS_genes.rawcount.xlsx"),
                  sheet = "GSE67196_Petrucelli2015_ALS_gen")

What is the sum of counts per sample? How different are the samples?

colSums(dat[,-c(1,2)])
  ALS001_fcx   ALS002_fcx   ALS006_fcx   ALS007_fcx   ALS011_fcx   ALS012_fcx 
    26554860     41454722     42360282     23538490     32640786     37958110 
  ALS013_fcx   ALS014_fcx   ALS024_fcx   ALS034_fcx   ALS057_fcx   ALS062_fcx 
    85167674     41173910     29136444     36695030     34223326     52580520 
  ALS063_fcx   ALS070_fcx   ALS071_fcx   ALS072_fcx   ALS073_fcx   ALS074_fcx 
    56301898     33040420     41906874     47039564     19736212     32053046 
  ALS075_fcx   ALS086_fcx   ALS090_fcx   ALS091_fcx   ALS093_fcx   ALS094_fcx 
    42280538     40875180     41202516     28834020     38194838     38893108 
  ALS095_fcx   ALS097_fcx   ALS100_fcx ALS001_cereb ALS002_cereb ALS006_cereb 
    33657802     49963292     36320214     59447166     69885944     25674652 
ALS007_cereb ALS011_cereb ALS012_cereb ALS013_cereb ALS014_cereb ALS024_cereb 
    31319694     38067046     43907402     68151038     33665914     39854022 
ALS034_cereb ALS057_cereb ALS062_cereb ALS063_cereb ALS070_cereb ALS071_cereb 
    56249184     63180188     53565152     62135672     42210478     49287260 
ALS072_cereb ALS073_cereb ALS074_cereb ALS075_cereb ALS086_cereb ALS090_cereb 
    42509026     36439888     60039372     53721930     59513110     63361344 
ALS091_cereb ALS093_cereb ALS094_cereb ALS095_cereb ALS097_cereb 
    60207348     63138550     56130312     40510656     62747986 
## generate DGE object
dge <- DGEList(counts = dat[,-c(1,2)], genes = dat[,c(1,2)], samples = metadat)
dge <- calcNormFactors(dge)
cpm <- cpm(dge)

We want to compare the gene expression of the cluster 12 markers in controls and ALS patients.

markers <- list(up = c("NPTX2", "FGF18", "TDP43-HA", "PCED1A", "MEF2A", "DYNC2H1", 
                   "APOE", "GADD45A", "BCAM", "DDIT3"),
           down = c("VGF", "SCG2", "GAP43", "C4orf48", "HINT1", "LY6H", 
                     "TUBA1A", "TMSB4X", "TUBB2B", "STMN2"))

lapply(markers, function(x) x[x %in% dge$genes$GeneID])
$up
[1] "NPTX2"   "FGF18"   "MEF2A"   "DYNC2H1" "APOE"    "GADD45A" "BCAM"   
[8] "DDIT3"  

$down
 [1] "VGF"     "SCG2"    "GAP43"   "C4orf48" "HINT1"   "LY6H"    "TUBA1A" 
 [8] "TMSB4X"  "TUBB2B"  "STMN2"  
lapply(markers, function(x) x[!x %in% dge$genes$GeneID])
$up
[1] "TDP43-HA" "PCED1A"  

$down
character(0)
ind <- lapply(markers, function(x) match(x, dge$genes$GeneID))
markers <- lapply(names(ind), function(x) markers[[x]][!is.na(ind[[x]])])
names(markers) <- names(ind)
ind <- lapply(ind, function(x) x[!is.na(x)])

## data frame with cpms, marker label (up/down), sample group and tissue
markers_cpm <- data.frame(gene = unlist(markers), 
                          direction = c(rep(names(markers)[[1]], length(markers[[1]])),
                                        rep(names(markers)[[2]], length(markers[[2]]))))
markers_cpm <- cbind(markers_cpm, cpm[unlist(ind),])

Prepare data frame for plotting.

## long format and join metadata to add group and tissue info
markers_cpm_long <- markers_cpm %>% 
  tidyr::pivot_longer(cols = -c(1,2), 
                      names_to = "sample_name", values_to = "cpm")

markers_cpm_long <- markers_cpm_long %>% dplyr::left_join(metadat) %>%
  dplyr::mutate(group = factor(group, levels = c("control", "c9ALS", "sALS")))

Marker gene expression

We plot the expression of the different markers in the experimental groups and tissues.

for (d in names(markers)){
  for(g in markers[[d]]){
     cat("## ", g, " - ", d, "\n")
    p <- markers_cpm_long %>% dplyr::filter(gene == g) %>%
      ggplot(aes(x = group, y = cpm))  +
      geom_boxplot() + 
      geom_point(alpha = 0.6) + 
      facet_wrap(vars(tissue))  +
      scale_y_log10() + 
      theme_bw() + 
      ggtitle(paste0(g, " - ", d))
    print(p)
    cat("\n\n")
  }
}

NPTX2 - up

FGF18 - up

MEF2A - up

DYNC2H1 - up

APOE - up

GADD45A - up

BCAM - up

DDIT3 - up

VGF - down

SCG2 - down

GAP43 - down

C4orf48 - down

HINT1 - down

LY6H - down

TUBA1A - down

TMSB4X - down

TUBB2B - down

STMN2 - down


sessionInfo()
R version 4.0.5 (2021-03-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS

Matrix products: default
BLAS:   /usr/local/R/R-4.0.5/lib/libRblas.so
LAPACK: /usr/local/R/R-4.0.5/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tidyr_1.1.0     edgeR_3.30.3    limma_3.44.3    readxl_1.3.1   
[5] dplyr_1.0.2     ggplot2_3.3.2   workflowr_1.6.2

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.5       cellranger_1.1.0 pillar_1.4.6     compiler_4.0.5  
 [5] later_1.1.0.1    git2r_0.27.1     tools_4.0.5      digest_0.6.25   
 [9] lattice_0.20-41  evaluate_0.14    lifecycle_1.0.0  tibble_3.0.3    
[13] gtable_0.3.0     pkgconfig_2.0.3  rlang_0.4.10     yaml_2.2.1      
[17] xfun_0.15        withr_2.4.1      stringr_1.4.0    knitr_1.29      
[21] generics_0.0.2   fs_1.5.0         vctrs_0.3.4      locfit_1.5-9.4  
[25] rprojroot_1.3-2  grid_4.0.5       tidyselect_1.1.0 glue_1.4.2      
[29] R6_2.4.1         rmarkdown_2.3    farver_2.0.3     purrr_0.3.4     
[33] magrittr_1.5     whisker_0.4      codetools_0.2-16 backports_1.1.9 
[37] scales_1.1.1     promises_1.1.1   ellipsis_0.3.1   htmltools_0.5.0 
[41] colorspace_1.4-1 httpuv_1.5.4     stringi_1.4.6    munsell_0.5.0   
[45] crayon_1.3.4