Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2f1d30c
Initial commit
ATL0368 Apr 20, 2026
a40436b
Merge branch 'main' of https://github.com/UMGCCCFCSR/CytometryInR
ATL0368 Apr 23, 2026
da6b542
Downsampling - Week 10. Slides and Concatenate inbound
DavidRach Apr 29, 2026
081d146
Downsampling Slides
DavidRach Apr 29, 2026
4b9fadb
Concatenate bug fix (SFC_GatingSet -> gs) and initial recording embed
DavidRach Apr 29, 2026
ecb08ee
Additional Resources and Take Home problems for Week 10
DavidRach Apr 30, 2026
e15b0f8
Updated recording embed for Week 10
DavidRach Apr 30, 2026
2f5f464
Week 11 - Data for Stats
DavidRach May 5, 2026
ee23250
Week 11 slides
DavidRach May 6, 2026
e370d44
Initial embedded recording for Week 11
DavidRach May 6, 2026
e3cc31a
Merge branch 'main' of https://github.com/ATL0368/CytometryInR
ATL0368 May 6, 2026
20908bb
Resolve merge conflicts
ATL0368 May 6, 2026
34ad0c1
Updated embedded video, you can actually hear the audio this time :D
DavidRach May 7, 2026
9e8c61d
Merge branch 'UMGCCCFCSR:main' into main
ATL0368 May 7, 2026
e428231
Embedded 03
DavidRach May 7, 2026
a27d760
Merge branch 'UMGCCCFCSR:main' into main
ATL0368 May 14, 2026
42c159f
homeworks done
ATL0368 May 14, 2026
617d282
Merge branch 'main' of https://github.com/ATL0368/CytometryInR
ATL0368 May 14, 2026
a7a51e3
end homeworks
ATL0368 May 14, 2026
f754d05
end homeworks
ATL0368 May 14, 2026
f6b9eb3
end homeworks
ATL0368 May 14, 2026
00d9790
finished homeworks
ATL0368 May 14, 2026
97097f7
end homeworks
ATL0368 May 15, 2026
0a9fc98
end homeworks
ATL0368 May 15, 2026
c36f151
Community Package Walkthrough for TRU-OLS
DavidRach May 23, 2026
9a0bd94
Windows Julia install screenshots
DavidRach May 23, 2026
d9a8bfd
TRU-OLS Walkthrough complete
DavidRach May 23, 2026
0111f1f
Community package walkthrough for AutoSpectral
DavidRach May 24, 2026
8ee3359
Homework folders week 10 and 11 (thanks Lynn!), plus extended version…
DavidRach Jun 1, 2026
a3f7857
Merge branch 'UMGCCCFCSR:main' into main
ATL0368 Jun 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"githubPullRequests.ignoredPullRequestBranches": [
"main"
]
}
6 changes: 6 additions & 0 deletions Announcements.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,10 @@ For previous course announcements emails, see the links below.

- April 12, 2026 [Cytometry in R - Week # 09 - It's Raining Functions!](https://github.com/UMGCCCFCSR/CytometryInR/discussions/162)

- April 21, 2026 [No Class This Week](https://github.com/UMGCCCFCSR/CytometryInR/discussions/174)

- April 28, 2026 [Cytometry in R - Week # 10 - Downsampling and Concatenation](https://github.com/UMGCCCFCSR/CytometryInR/discussions/179)

- May 05, 2026 [Cytometry in R - Week # 11 - Data for Statistics](https://github.com/UMGCCCFCSR/CytometryInR/discussions/186)

![](images/YouTubeHex.png)
95 changes: 95 additions & 0 deletions ExistingResources.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,29 @@ sidebar: false
[![CC BY-SA 4.0][cc-by-sa-shield]][cc-by-sa]
</div>

<<<<<<< HEAD
We are not the first "Cytometry in R" course, nor will we be the last. This page is linking to the already existant online Cytometry in R resources that we have encountered and benefited from during our own learning journey. May they prove useful to you as you progress your way through yours!
=======
We are not the first "Cytometry in R" course, nor will we be the last. If this is your first R course, now that we are about a third of the way through the course (and you have some general R knowledge, context, and troubleshooting skills), exploring how others approached some of these same initial subjects may be useful if you want to dive deeper.

This page links to existing online Cytometry in R resources that I have encountered and benefited from during my own learning journey. Not all the code as presented may still work, as R packages evolve over time, so some troubleshooting may be necessary on your end to replicate what they show. Good luck, and may you find some useful concepts to further help you along on your own journeys!

![](images/ExistingResources.png)
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

<br>

---

# Christopher Hall - Flow Cytometry Data Analysis in R

<<<<<<< HEAD
[Cytometry-R-Scripts: R scripts to help with your flow cytometry analysis](https://github.com/hally166/Cytometry-R-scripts)

[R_flowcytometry_course: The files and presentation from the Cytometry Core Facility flow cytometry data analysis course in R](https://github.com/hally166/R_flowcytometry_course)
=======
[Christopher Hall](https://uk.linkedin.com/in/christopher1hall) (currently at University of Edinburgh) created a series of YouTube videos on how to implement flow cytometry analysis in R. In the course of an hour, he provides an overview of many of the same topics we looked at over the first 8 weeks. I first encountered these videos late 2021/early 2022, and they were immensely helpful in getting started.
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

### Installation and Loading Data

Expand All @@ -43,6 +53,10 @@ This page links to existing online Cytometry in R resources that I have encounte

[(3) Flow Cytometry Data Analysis in R: gating with flowWorkspace](https://youtu.be/ijHOGHP82EY?si=87OB8t8wynJNnTf3)

<<<<<<< HEAD

=======
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90
<iframe width="560" height="315" src="https://www.youtube.com/embed/ijHOGHP82EY?si=-kAM2ExNW4Og0y3U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

### Visualization
Expand All @@ -58,7 +72,11 @@ This page links to existing online Cytometry in R resources that I have encounte

# Ozette Technologies - BioC 2023 Workshop

<<<<<<< HEAD
Workshop given at the Bioc2023 conference, authored by Arpan Neupane and Andrew McDavid.
=======
During the [Bioc2023](https://bioc2023.bioconductor.org/) conference in Boston, Arpan Neupane and Andrew McDavid, who were working at [Ozette](https://ozette.com/) gave a workshop on how to use flowWorkspace and the other R packages that they maintain. I didn't make it to the workshop (misread the room number and ended up in an interesting parallel computing talk), but went through the material on the train ride back to Baltimore. In the process, I found out about the memory benefits of using "cytosets" and how to implement `openCyto` gates, which fast forward a few years has led to much of the general workflow showcased throughout the Cytometry in R course.
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

[Workshop: Reproducible and programmatic analysis of flow cytometry experiments with the cytoverse](https://youtu.be/_8x-prIxJgw?si=Tm-QoBQ3qc568xXD)

Expand All @@ -68,10 +86,32 @@ During the [Bioc2023](https://bioc2023.bioconductor.org/) conference in Boston,

---

<<<<<<< HEAD
# Pritam Kumar Panda - Flow Cytometry Data Analysis & Visualization in R using CytoExploreR

[Flow-Cytometry-analysis-in-R](https://github.com/pritampanda15/Proteomics/tree/main/Flow-Cytometry-analysis-in-R-main)

[CytoExploreR-Interactive-visualization](https://github.com/pritampanda15/Proteomics/tree/main/CytoExploreR-Interactive-visualization-main)

### Complete Guide

[Flow Cytometry Data Analysis & Visualization in R using CytoExploreR: Complete Guide](https://youtu.be/AvIvRorrh8c?si=MVViua5fSBrahtzv)

<iframe width="560" height="315" src="https://www.youtube.com/embed/AvIvRorrh8c?si=QektorbguSVJ_lP-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<br>

---


# Bioinformatics DotCa - Introduction to Flow Cytometry in R

=======
# Bioinformatics DotCa - Introduction to Flow Cytometry in R

One of the older Cytometry in R series on YouTube compromising a workshop series by [Ryan Brinkman](https://www.bccrc.ca/dept/tfl/people/ryan-brinkman)'s group. While I didn't encounter them until much later, they influenced many of the other video series you can see on this page. Some of the code is starting to show its age, as quite a few of the R packages have been superseeded (especially when it comes to gating and visualization), but still worthwhile watching.

>>>>>>> e277891a345df446c1e406e18bbff78126d26c90
### Introduction to Flow Cytometry in R

[Introduction to Flow Cytometry in R](https://youtu.be/0_dN8VKhOJ0?si=Mn7UB0Gps5twqAqK)
Expand Down Expand Up @@ -102,6 +142,10 @@ One of the older Cytometry in R series on YouTube compromising a workshop series

<iframe width="560" height="315" src="https://www.youtube.com/embed/xnvNCsu56Vo?si=botz0swIm31W5340" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<<<<<<< HEAD
# Tulika Rai - Learn Innovatively With Me

=======

# Givanna Putri and Thomas Ashhurst - Introduction to Cytometry Data Analysis in R workshop

Expand Down Expand Up @@ -151,6 +195,7 @@ One of the more recent tutorial series I encountered in the last year, while rel

One of the more recent tutorial series I encountered in the last year, while a bit more focused on a particular application than the other video series, once you have some additional R context it is worth checking out.

>>>>>>> e277891a345df446c1e406e18bbff78126d26c90
### flowAI Flow Cytometry Data Cleaning using R

[flowAI Flow Cytometry Data Cleaning using R: A Step-by-step Tutorial](https://youtu.be/PvB37SEe7lI?si=X3iYcGT7A3G603oP)
Expand All @@ -167,12 +212,26 @@ One of the more recent tutorial series I encountered in the last year, while a b

---

<<<<<<< HEAD
# Givanna Putri - Introduction to Cytometry Data Analysis in R workshop

[ACS 2021 Workshops - Introduction to Cytometry Data Analysis in R workshop](https://youtu.be/-0QrXgk_NRw?si=GqcjU-_MQ3UvYwvI)

<iframe width="560" height="315" src="https://www.youtube.com/embed/-0QrXgk_NRw?si=GqcjU-_MQ3UvYwvI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<br>

---

# Timothy Keyes -
=======
# Others

The additional resources below are ones that I encountered while building this Existing Resources page, but have not had time to fully watch yet.


### Timothy Keyes -
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

[{tidytof}: Predicting Patient Outcomes from Single-cell Data using Tidy Data Principles](https://youtu.be/5NhpC836aSc?si=QqoeW31cQcHFzu5W)

Expand All @@ -182,15 +241,44 @@ The additional resources below are ones that I encountered while building this E

---

<<<<<<< HEAD
# Ryan Duggan - Cytometry on Air

[Cytometry on Air: Analyzing Flow Cytometry Data in R](https://www.youtube.com/live/_B7mo6dB3BU?si=eW20X4YWgaCoYnfw) Presentation by TJ Chen and Greg Finak,

<iframe width="560" height="315" src="https://www.youtube.com/embed/_B7mo6dB3BU?si=eW20X4YWgaCoYnfw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<br>

---


# Guillaume Beyrend - Learn Cytometry

[Learn Cytometry](https://learncytometry.com/videos/) Originally appeared to have been paywalled, doesn't currently appear to be the case.

<br>

---

# Hong Qin - flow analysis in R

### Flow Analysis in R
=======
### Hong Qin - flow analysis in R

#### Flow Analysis in R
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

[flow analysis in R, bio125, Spring 2015](https://youtu.be/r7Mf6joCNzM?si=5j9Fy8fn6d7o0Z-u)

<iframe width="560" height="315" src="https://www.youtube.com/embed/r7Mf6joCNzM?si=5j9Fy8fn6d7o0Z-u" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<<<<<<< HEAD
### Flow Cytometer Data Analysis
=======
#### Flow Cytometer Data Analysis
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

[BIO233 demo, flow cytometer data analysis, simple example](https://youtu.be/BN5Ldu1AFgk?si=FV2K7jJGe9H6na08)

Expand All @@ -201,7 +289,11 @@ The additional resources below are ones that I encountered while building this E

---

<<<<<<< HEAD
# Swayam Prabha - Flow cytometry data analysis in R/Bioconductor
=======
### Swayam Prabha - Flow cytometry data analysis in R/Bioconductor
>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

[Lecture 15 : Flow cytometry data analysis in R/Bioconductor](https://youtu.be/g-VUT3riwOM?si=SlX88J3HpsjYaqFI)

Expand All @@ -211,6 +303,8 @@ The additional resources below are ones that I encountered while building this E

---

<<<<<<< HEAD
=======
### Guillaume Beyrend - Learn Cytometry

[Learn Cytometry](https://learncytometry.com/videos/) Originally appeared to have been pay-walled, doesn't currently appear to be the case. Has a very different teaching approach from my own.
Expand All @@ -219,6 +313,7 @@ The additional resources below are ones that I encountered while building this E

---

>>>>>>> e277891a345df446c1e406e18bbff78126d26c90

<div style="text-align: right;">
[![AGPL-3.0][agpl3-image]][agpl3]
Expand Down
45 changes: 45 additions & 0 deletions Homeworks.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -266,4 +266,49 @@ Click [here](https://github.com/UMGCCCFCSR/CytometryInR/pulls?q=label%3A%22Week+

Stay tuned for our [walk-through]() answers on Course section completion.

# Week 10 - Downsampling and Concatenation

![](/course/10_Downsampling/images/TakeAway.jpg)

Redirect to [Week 10](course/10_Downsampling/index.qmd) content.


:::{.callout-tip title="Problem 1"}
Load a dataset into R, gate it however you like, and then export out a population of interest as their own .fcs files. Open them in either Floreada.io or the commercial software of your choice, and take a screenshot of how they look by two markers of interest.
:::

:::{.callout-tip title="Problem 2"}
In the example for `Downsampling()` we only changed one keyword (GUID), after substituting in our desired addon right before the .fcs. Since keyword use might vary by manufacturer, create a couple additional arguments for `Downsampling()` that allow you to change out the values for some additional keywords.
:::

:::{.callout-tip title="Problem 3"}
Trickier - After concatenating out an .fcs file for a cell subset of your choice, reload it back into R, extract out both the exprs matrix, and the description list. Using the keywords that got added, figure out a way using dplyr to revert the numeric keys (denoted by "_key") in the exprs matrix back to their original character values as recorded in the keywords.
:::

Click [here](https://github.com/UMGCCCFCSR/CytometryInR/pulls?q=label%3A%22Week+10%22) to see previous community attempts at answering these optional take-home problems.

Stay tuned for our [walk-through]() answers on Course section completion.

# Week 11 - Data for Statistics

![](/course/11_DataForStats/images/TakeAway.jpg)

Redirect to [Week 11](course/11_DataForStats/index.qmd) content.

:::{.callout-tip title="Problem 1"}
Implement additional `openCyto` gates, and validate that they are being placed correctly using `Utility_GatingPlot()`. Update the gate_range arguments until satisfied. Then, add new gates, and run the resulting dataset through `CombinedFlow()`, screenshotting any values that return with p-values that upon visualizing the data also look reasonable (not driven by a single-outlier).
:::

:::{.callout-tip title="Problem 2"}
In our ggbeeswarm boxplot, currently we are seeing the proportion on the y-axis. Figure out how to modify the `StatPlotsForFlow()` function to instead display the axis as a percentage, and then using additional function arguments and conditions, set the function up to allow you to switch between as desired. Also, externalize size and cex to modify your beeswarm boxplots in an easier fashion!
:::

:::{.callout-tip title="Problem 3"}
Some "typical" immunology workflows run a "normality" test before implementing a corresponding downstream test based on the result (Your friendly-neighbourhood statistician may have some strong thoughts on this field practice). Regardless of your position on this approach, see if you can modify our `StatsFromFlow()` function, using additional arguments conditional statements, to incorporate in a shapiro-wilks or `fBasics` package Omnibus K2 test first, and based on the outputs proceed downstream to either the parametric or non-parametric options
:::

Click [here](https://github.com/UMGCCCFCSR/CytometryInR/pulls?q=label%3A%22Week+11%22) to see previous community attempts at answering these optional take-home problems.

Stay tuned for our [walk-through]() answers on Course section completion.


2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Cytometry in R is a free virtual mini-course being organized by the [Flow Cytome

We are excited that so many individuals worldwide have chosen to take part, and we look forward to helping you get started on your own learning journeys.

![](/images/WorldwideSignups.png){width=100%}
![](/images/WorldwideSignups.png){width="100%"}

Click here to go to our [Course Website](https://umgcccfcsr.github.io/CytometryInR)

Expand Down
Loading