Last updated: 2024-01-31
Checks: 6 1
Knit directory: SuperCellCyto-analysis/
This reproducible R Markdown analysis was created with workflowr (version 1.7.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
The R Markdown file has unstaged changes. To know which version of
the R Markdown file created these results, you’ll want to first commit
it to the Git repo. If you’re still working on the analysis, you can
ignore this warning. When you’re finished, you can run
wflow_publish
to commit the R Markdown file and build the
HTML.
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(42)
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 264aa64. 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: analysis/.DS_Store
Ignored: code/.DS_Store
Ignored: code/b_cell_identification/.DS_Store
Ignored: code/b_cell_identification/runtime_benchmark/.DS_Store
Ignored: code/batch_correction/.DS_Store
Ignored: code/batch_correction/runtime_benchmark/.DS_Store
Ignored: code/explore_supercell_purity_clustering/.DS_Store
Ignored: code/explore_supercell_purity_clustering/functions/.DS_Store
Ignored: code/explore_supercell_purity_clustering/louvain_all_cells/.DS_Store
Ignored: code/explore_supercell_purity_clustering/louvain_all_cells/levine_32dim/.DS_Store
Ignored: code/label_transfer/.DS_Store
Ignored: code/label_transfer/.Rhistory
Ignored: data/.DS_Store
Ignored: data/bodenmiller_cytof/
Ignored: data/explore_supercell_purity_clustering/
Ignored: data/haas_bm/
Ignored: data/oetjen_bm_dataset/
Ignored: data/trussart_cytofruv/
Ignored: output/.DS_Store
Ignored: output/bodenmiller_cytof/
Ignored: output/explore_supercell_purity_clustering/
Ignored: output/label_transfer/
Ignored: output/oetjen_b_cell_panel/
Ignored: output/trussart_cytofruv/
Untracked files:
Untracked: code/b_cell_identification/additional_code/
Untracked: code/batch_correction/additional_code/
Untracked: code/explore_supercell_purity_clustering/additional_code/
Untracked: code/label_transfer/additional_code/
Unstaged changes:
Modified: SuperCellCyto-analysis.Rproj
Modified: analysis/b_cells_identification.Rmd
Modified: analysis/batch_correction.Rmd
Modified: analysis/explore_supercell_purity_clustering.Rmd
Modified: analysis/index.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/index.Rmd
) and HTML
(docs/index.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 |
---|---|---|---|---|
html | 98e46e0 | Givanna Putri | 2023-08-15 | Build site. |
html | a55c3ba | Givanna Putri | 2023-07-28 | Build site. |
html | 366514e | Givanna Putri | 2023-07-28 | Build site. |
Rmd | 402358b | Givanna Putri | 2023-07-28 | wflow_publish(c("analysis/*Rmd")) |
Rmd | aeae8b0 | Givanna Putri | 2023-07-28 | Start workflowr project. |
The rapid advancements in cytometry technologies have enabled the quantification of up to 50 proteins across millions of cells at a single-cell resolution. The analysis of cytometry data necessitates the use of computational tools for tasks such as data integration, clustering, and dimensionality reduction. While numerous computational methods exist in the cytometry and single-cell RNA sequencing (scRNAseq) fields, many are hindered by extensive run times when processing large cytometry data containing millions of cells. Existing solutions, such as random subsampling, often prove inadequate as they risk excluding small, rare cell subsets. To address this, we propose a practical strategy that builds on the SuperCell framework from the scRNAseq field. The supercell concept involves grouping single cells with highly similar transcriptomic profiles, and has been shown to be an effective unit of analysis for scRNAseq data. We show that for cytometry datasets, there is no loss of information by grouping cells into supercells. Further, we demonstrate the effectiveness of our approach by conducting a series of downstream analyses on six publicly available cytometry datasets at the supercell level, and successfully replicating previous findings performed at the single cell level. We present a computationally efficient solution for transferring cell type labels from single-cell multiomics data which combines RNA with protein measurements, to a cytometry dataset, allowing for more precise cell type annotations. Our SuperCellCyto R package and the associated analysis workflows are available on our GitHub repositories (https://github.com/phipsonlab/SuperCellCyto and https://github.com/phipsonlab/SuperCellCyto-analysis/).
31st Jan 2023: Extra analyses were done to address reviewers’
comments. Code used to perform the extra analyses are available on the
code
directory of this website’s Github
repository.
Extra analyses done and corresponding codes:
code/explore_supercell_purity_clustering/additional_code
.
count_cell_type_per_supercell.R
: counted how many cell
types were captured per supercell and illustrated that as bar
chart.draw_purity_table.R
: stratify the purity scores and
compute how many supercells obtained purity of 1, 0.9-1, 0.5-0.9,
<0.5.plot_supercell_size_distribution.R
: illustrate the
number of cells captured per supercell.randomly_group_cells.R
: randomly group cells into
groups which total number matches the number of supercells generated,
and calculate base purity score.code/b_cell_identification/additional_code
.
analyse_subsampled_data.R
: randomly subsampled over
400k cells, clustered them, and attempted to identify the B cell
subsets.code/batch_correction/additional_code
.
calculate_scib_metrics_for_submission.ipynb
: python
notebook for computing biological signal preservation metrics in scib
package.cluster_supercells.R
: cluster the supercells before and
after batch correction. Needed for computing the biological signal
preservation metrics.create_h5ad_files.ipynb
: convert the output of the
clustered supercelsl to h5ad file. Needed for computing the biological
signal preservation metrics.plot_metrics.R
: plot the heatmap to illustrate the
scores for biological signal preservation metrics.code/label_transfer/additional_code
.
calculate_weighted_accuracy.ipynb
: python notebook to
compute weighted accuracy.check_subsets.R
: plotting the UMAP of the CITEseq
annotations (original and mapped).confusion_matrix.R
: for drawing confusion
matrices.draw_umap.R
: draw UMAP for the outcome of the label
transfer.plot_accuracies.R
: plot charts for the accuracy
scores.
sessionInfo()
R version 4.2.3 (2023-03-15)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS 14.0
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] workflowr_1.7.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.10 compiler_4.2.3 pillar_1.8.1 bslib_0.4.2
[5] later_1.3.0 git2r_0.31.0 jquerylib_0.1.4 tools_4.2.3
[9] getPass_0.2-2 digest_0.6.31 jsonlite_1.8.4 evaluate_0.20
[13] lifecycle_1.0.3 tibble_3.1.8 pkgconfig_2.0.3 rlang_1.0.6
[17] cli_3.6.1 rstudioapi_0.14 yaml_2.3.7 xfun_0.39
[21] fastmap_1.1.0 httr_1.4.4 stringr_1.5.0 knitr_1.42
[25] fs_1.6.1 vctrs_0.5.2 sass_0.4.5 rprojroot_2.0.3
[29] glue_1.6.2 R6_2.5.1 processx_3.8.0 fansi_1.0.4
[33] rmarkdown_2.20 callr_3.7.3 magrittr_2.0.3 whisker_0.4.1
[37] ps_1.7.2 promises_1.2.0.1 htmltools_0.5.4 httpuv_1.6.9
[41] utf8_1.2.3 stringi_1.7.12 cachem_1.0.6