Last updated: 2026-08-25

Checks: 7 0

Knit directory: flex-fusion-probes/

This reproducible R Markdown analysis was created with workflowr (version 1.7.1). 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(20240925) 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 6dfa5d7. 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:    CLAUDE.md
    Ignored:    analysis/.gitignore
    Ignored:    analysis/B-ALL_exp2_nonblast_fusion_analysis_cache/
    Ignored:    analysis/obsolete/B-ALL_nonblast_fusion_analysis_cache/
    Ignored:    analysis/projectionFigures/
    Ignored:    code/files/
    Ignored:    data/.DS_Store
    Ignored:    data/BoneMarrowMap/
    Ignored:    data/BoneMarrowMapBoneMarrowMap_SymphonyReference.rds
    Ignored:    data/BoneMarrowMapBoneMarrowMap_uwot_model.uwot
    Ignored:    data/CAPTURE-1-POOL-FLEX/
    Ignored:    data/CAPTURE-2-POOL-FLEX/
    Ignored:    data/Pool-240917-FLEX/
    Ignored:    data/RDS/
    Ignored:    data/Run_1_and_Run_2/
    Ignored:    data/Run_2/
    Ignored:    data/victoria_stuff/
    Ignored:    logs/
    Ignored:    methods_updated.md
    Ignored:    output/
    Ignored:    projectionFigures/
    Ignored:    renv/library/
    Ignored:    renv/staging/

Untracked files:
    Untracked:  _to_delete/
    Untracked:  data/Config_Sample_CAPTURE-1-POOL-FLEX.csv
    Untracked:  data/Config_Sample_CAPTURE-2-POOL-FLEX.csv
    Untracked:  data/Config_Sample_Pool-240917-FLEX.csv
    Untracked:  data/cellranger-multi_flex_fusions_pool_1.sbatch
    Untracked:  data/cellranger-multi_flex_fusions_pool_2.sbatch

Unstaged changes:
    Modified:   .gitignore
    Modified:   data/sample_information_flex_experiment_2.csv
    Modified:   render_all.sh

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/getting_started.Rmd) and HTML (docs/getting_started.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 6dfa5d7 Jovana Maksimovic 2026-08-25 wflow_publish("analysis/getting_started.Rmd")
html 193a05c Jovana Maksimovic 2026-07-16 Build site.
html e9c8f13 Jovana Maksimovic 2026-05-19 Build site.
Rmd 87de268 Jovana Maksimovic 2026-05-19 Updated flexify repo links.
html 1437758 Jovana Maksimovic 2026-05-19 Build site.
Rmd 71c5f99 Jovana Maksimovic 2026-05-08 docs: add getting_started page; fix myeloid_types error; move exploratory notebooks to obsolete

This page describes how to download the data and code used in this analysis, set up the project directory, and reproduce the analysis. We have used the workflowr and renv packages to organise this project and ensure reproducibility.

Getting the code

All the code and outputs of this analysis are available from the public GitHub repository at <[GITHUB_URL_PLACEHOLDER]>. The Flexify probe design tool used to generate custom fusion probes is available separately at https://github.com/Oshlack/flexify.

Clone the repository with:

git clone [GITHUB_URL_PLACEHOLDER]
cd flex-fusion-probes

Alternatively, download it as a zipped directory directly from GitHub (Code > Download ZIP) and extract it locally. Once you have a local copy of the repository you should see the following directory structure:

analysis/   - Contains the R Markdown documents with the various stages of analysis,
              grouped by experiment (MCF7 validation, B-ALL Experiment 1, B-ALL Experiment 2).
code/       - R scripts with custom functions used across analysis stages (utilities.R).
data/       - Input data files used in the analysis, with a data/RDS/ sub-directory for
              processed intermediate R objects generated during the analysis.
docs/       - Analysis website HTML files, as well as associated image files.
output/     - Output files produced by the analysis (e.g. differential expression tables).
renv/
README.md                      - README describing the project.
.gitignore                     - Files and directories excluded from the repository.
_workflowr.yml                 - workflowr configuration file.
flex-fusion-probes.Rproj       - RStudio project file.
renv.lock                      - renv lock file, used to restore the correct versions of
                                 R packages required for this project.

This analysis was completed using R version 4.3.3 (2024-02-29). To ensure reproducibility the renv package was used to track package sources and versions. Ensure you have the correct version of R and renv installed prior to beginning. To install the necessary package versions you can use:

renv::restore()

For more information on using renv see the renv website.

Getting the data

The preprocessed single-cell count data (CellRanger output) for all MCF7 and B-ALL samples used in this study can be downloaded from Zenodo at [ZENODO_DOI_PLACEHOLDER]. This archive contains, for each of the three sequencing pools (Pool-240917-FLEX, CAPTURE-1-POOL-FLEX, CAPTURE-2-POOL-FLEX):

  • the raw (unfiltered) feature-barcode matrix per pool, needed to reproduce the emptyDrops()-based cell calling performed in the quality control notebooks, and
  • the filtered per-sample feature-barcode matrices used by all downstream notebooks.

Raw sequencing reads (FASTQ) are not included in this archive; see the Data Availability statement in the manuscript and the top-level README.md for how to request access to those separately.

To unpack the data into the correct directory structure, download flex_fusion_probes_data.tar, place it in the root of the cloned repository, and run:

tar -xf flex_fusion_probes_data.tar -C data

on the command line. This will populate data/Run_1_and_Run_2/ with the Cell Ranger output expected by the analysis notebooks.

Running the analysis

The analysis/ directory contains the following analysis notebooks, which should be run in the order listed:

MCF7 breast cancer cell line (validation)

[1] "MCF7_exp1_data_preparation.Rmd"  "MCF7_exp1_fusion_expression.Rmd"
[3] "MCF7_exp1_probe_quality.Rmd"    

B-ALL Experiment 1 (MLM_22, EKL44_2)

[1] "B-ALL_exp1_annotate_with_BoneMarrowMap.Rmd"
[2] "B-ALL_exp1_clustering.Rmd"                 
[3] "B-ALL_exp1_quality_control.Rmd"            

B-ALL Experiment 2 (C1437, C369, C659, C601, C658)

[1] "B-ALL_exp2_annotate_with_BoneMarrowMap.Rmd"
[2] "B-ALL_exp2_c1437_clone_analysis.Rmd"       
[3] "B-ALL_exp2_c369_mrd_analysis.Rmd"          
[4] "B-ALL_exp2_clustering.Rmd"                 
[5] "B-ALL_exp2_fig4_assembly.Rmd"              
[6] "B-ALL_exp2_joint_clustering.Rmd"           
[7] "B-ALL_exp2_nonblast_fusion_analysis.Rmd"   
[8] "B-ALL_exp2_quality_control.Rmd"            

Within each group, notebooks must be run in the order shown above, as each stage depends on outputs from the preceding stage (quality control → annotation → clustering). The MCF7 notebooks are independent of the B-ALL notebooks and can be run in either order.

Individual notebooks can be reproduced by supplying the file name to workflowr::wflow_build():

workflowr::wflow_build("analysis/B-ALL_exp1_quality_control.Rmd")

or by manually knitting the document (for example using the Knit button in RStudio).

─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.4.1 (2024-06-14)
 os       macOS 15.7.9
 system   aarch64, darwin20
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Australia/Melbourne
 date     2026-08-25
 pandoc   3.8.3 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/aarch64/ (via rmarkdown)
 quarto   1.9.38 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 ! package     * version   date (UTC) lib source
 P BiocManager   1.30.27   2025-11-14 [?] CRAN (R 4.4.3)
 P bslib         0.9.0     2025-01-30 [?] CRAN (R 4.4.1)
 P cachem        1.1.0     2024-05-16 [?] CRAN (R 4.4.1)
 P callr         3.7.6     2024-03-25 [?] CRAN (R 4.4.0)
 P cli           3.6.5     2025-04-23 [?] CRAN (R 4.4.1)
 P digest        0.6.37    2024-08-19 [?] CRAN (R 4.4.1)
 P evaluate      1.0.3     2025-01-10 [?] CRAN (R 4.4.1)
 P fastmap       1.2.0     2024-05-15 [?] CRAN (R 4.4.1)
 P fs            1.6.6     2025-04-12 [?] CRAN (R 4.4.1)
 P getPass       0.2-4     2023-12-10 [?] CRAN (R 4.4.1)
 P git2r         0.36.2    2025-03-29 [?] CRAN (R 4.4.1)
 P glue          1.8.0     2024-09-30 [?] CRAN (R 4.4.1)
 P here          1.0.1     2020-12-13 [?] CRAN (R 4.4.1)
 P htmltools     0.5.8.1   2024-04-04 [?] CRAN (R 4.4.1)
 P httpuv        1.6.16    2025-04-16 [?] CRAN (R 4.4.1)
 P httr          1.4.7     2023-08-15 [?] CRAN (R 4.4.0)
 P jquerylib     0.1.4     2021-04-26 [?] CRAN (R 4.4.0)
 P jsonlite      2.0.0     2025-03-27 [?] CRAN (R 4.4.1)
 P knitr         1.50      2025-03-16 [?] CRAN (R 4.4.1)
 P later         1.4.2     2025-04-08 [?] CRAN (R 4.4.1)
 P lifecycle     1.0.4     2023-11-07 [?] CRAN (R 4.4.1)
 P magrittr      2.0.3     2022-03-30 [?] CRAN (R 4.4.1)
 P pillar        1.10.2    2025-04-05 [?] CRAN (R 4.4.1)
 P pkgconfig     2.0.3     2019-09-22 [?] CRAN (R 4.4.1)
 P processx      3.8.6     2025-02-21 [?] CRAN (R 4.4.1)
 P promises      1.3.3     2025-05-29 [?] CRAN (R 4.4.1)
 P ps            1.9.1     2025-04-12 [?] CRAN (R 4.4.1)
 P R6            2.6.1     2025-02-15 [?] CRAN (R 4.4.1)
 P Rcpp          1.1.1-1.1 2026-04-24 [?] CRAN (R 4.4.1)
   renv          1.1.4     2025-03-20 [1] CRAN (R 4.4.1)
 P rlang         1.1.6     2025-04-11 [?] CRAN (R 4.4.1)
 P rmarkdown     2.29      2024-11-04 [?] CRAN (R 4.4.1)
 P rprojroot     2.0.4     2023-11-05 [?] CRAN (R 4.4.1)
 P rstudioapi    0.17.1    2024-10-22 [?] CRAN (R 4.4.1)
 P sass          0.4.10    2025-04-11 [?] CRAN (R 4.4.1)
 P sessioninfo   1.2.3     2025-02-05 [?] CRAN (R 4.4.1)
 P stringi       1.8.7     2025-03-27 [?] CRAN (R 4.4.1)
 P stringr       1.6.0     2025-11-04 [?] CRAN (R 4.4.1)
 P tibble        3.2.1     2023-03-20 [?] CRAN (R 4.4.0)
 P vctrs         0.6.5     2023-12-01 [?] CRAN (R 4.4.0)
 P whisker       0.4.1     2022-12-05 [?] CRAN (R 4.4.1)
 P workflowr   * 1.7.1     2023-08-23 [?] CRAN (R 4.4.0)
 P xfun          0.56      2026-01-18 [?] CRAN (R 4.4.3)
 P yaml          2.3.10    2024-07-26 [?] CRAN (R 4.4.1)

 [1] /Users/maksimovicjovana/projects/active/flex-fusion-probes/renv/library/macos/R-4.4/aarch64-apple-darwin20
 [2] /Users/maksimovicjovana/Library/Caches/org.R-project.R/R/renv/sandbox/macos/R-4.4/aarch64-apple-darwin20/f7156815

 * ── Packages attached to the search path.
 P ── Loaded and on-disk path mismatch.

──────────────────────────────────────────────────────────────────────────────

R version 4.4.1 (2024-06-14)
Platform: aarch64-apple-darwin20
Running under: macOS 15.7.9

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Australia/Melbourne
tzcode source: internal

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

other attached packages:
[1] workflowr_1.7.1

loaded via a namespace (and not attached):
 [1] jsonlite_2.0.0      compiler_4.4.1      BiocManager_1.30.27
 [4] renv_1.1.4          promises_1.3.3      Rcpp_1.1.1-1.1     
 [7] stringr_1.6.0       git2r_0.36.2        callr_3.7.6        
[10] later_1.4.2         jquerylib_0.1.4     yaml_2.3.10        
[13] fastmap_1.2.0       here_1.0.1          R6_2.6.1           
[16] knitr_1.50          tibble_3.2.1        rprojroot_2.0.4    
[19] bslib_0.9.0         pillar_1.10.2       rlang_1.1.6        
[22] cachem_1.1.0        stringi_1.8.7       httpuv_1.6.16      
[25] xfun_0.56           getPass_0.2-4       fs_1.6.6           
[28] sass_0.4.10         cli_3.6.5           magrittr_2.0.3     
[31] ps_1.9.1            digest_0.6.37       processx_3.8.6     
[34] rstudioapi_0.17.1   lifecycle_1.0.4     vctrs_0.6.5        
[37] evaluate_1.0.3      glue_1.8.0          whisker_0.4.1      
[40] sessioninfo_1.2.3   rmarkdown_2.29      httr_1.4.7         
[43] tools_4.4.1         pkgconfig_2.0.3     htmltools_0.5.8.1