Samuel Marsh Ph.D.
@samuelmarsh.bsky.social
1.6K followers 850 following 50 posts
Postdoc Beth Stevens Lab | Interested in Alzheimer’s disease, all things single cell, and neuroimmune | Dad 👧👶🏻 | #scicomm #rstats | NEU ‘10 & UCI ’16 https://samuel-marsh.science
Posts Media Videos Starter Packs
Pinned
samuelmarsh.bsky.social
Hello to all new and old friends over here!

For those who are new I’m postdoc in Beth Stevens lab studying neuroimmune mechanisms in neurodegeneration using single cell genomics.

For more about my work you can check out my website (includes free access to all publications).
samuel-marsh.science
Samuel E. Marsh
samuel-marsh.science
samuelmarsh.bsky.social
Finally, I’m still on lookout for my next opportunity and would love to connect with anyone in industry/biotech space! Feel free to reach out here or on the floor!

#AAIC #AAIC25
samuelmarsh.bsky.social
Come check out our whole session (starts at 4:15pm) with excellent talks from collaborators Evan Macosko, Henrik Zetterberg, Ville Leinonen, & Tarja Malm.
𝙎𝙩𝙪𝙙𝙮𝙞𝙣𝙜 𝙩𝙞𝙨𝙨𝙪𝙚 𝙨𝙖𝙢𝙥𝙡𝙚𝙨 𝙛𝙧𝙤𝙢 𝙧𝙖𝙧𝙚 𝙘𝙤𝙝𝙤𝙧𝙩𝙨 𝙩𝙤 𝙡𝙚𝙖𝙧𝙣 𝙖𝙗𝙤𝙪𝙩 𝙚𝙖𝙧𝙡𝙮 𝙨𝙩𝙖𝙜𝙚 𝘼𝘿 𝙥𝙖𝙩𝙝𝙤𝙥𝙝𝙮𝙨𝙞𝙤𝙡𝙤𝙜𝙮.
samuelmarsh.bsky.social
Excited for start of AAIC!

I’ll be giving talk Tuesday afternoon on unique population of AD-relevant macrophages we have identified in CSF via scRNA-seq:
𝗦𝗶𝗻𝗴𝗹𝗲 𝗖𝗲𝗹𝗹 𝗧𝗿𝗮𝗻𝘀𝗰𝗿𝗶𝗽𝘁𝗼𝗺𝗶𝗰𝘀 𝗼𝗳 𝗣𝗮𝗶𝗿𝗲𝗱 𝗖𝗦𝗙 𝗮𝗻𝗱 𝗕𝗹𝗼𝗼𝗱 𝗜𝗺𝗺𝘂𝗻𝗲 𝗣𝗼𝗽𝘂𝗹𝗮𝘁𝗶𝗼𝗻𝘀 𝗥𝗲𝘃𝗲𝗮𝗹𝘀 𝗨𝗻𝗶𝗾𝘂𝗲 𝗠𝗮𝗰𝗿𝗼𝗽𝗵𝗮𝗴𝗲 𝗣𝗼𝗽𝘂𝗹𝗮𝘁𝗶𝗼𝗻 𝘄𝗶𝘁𝗵 𝗥𝗲𝗹𝗲𝘃𝗮𝗻𝗰𝗲 𝘁𝗼 𝗔𝗹𝘇𝗵𝗲𝗶𝗺𝗲𝗿'𝘀 𝗗𝗶𝘀𝗲𝗮𝘀𝗲
samuelmarsh.bsky.social
scCustomize 3.0.1 now on CRAN. Hotfix release with couple of bug fixes.
Enjoy!
Reposted by Samuel Marsh Ph.D.
liddelowsa.bsky.social
Implementation and validation of single-cell genomics experiments in neuroscience

www.nature.com/articles/s41...
Validation is key! This review dives into best practices for validating ssc/snRNAseq experiments. Learn about the challenges and solutions for ensuring robust and reliable findings.
a cartoon character is holding a can of beans with the words how do i use it below him
ALT: a cartoon character is holding a can of beans with the words how do i use it below him
media.tenor.com
Reposted by Samuel Marsh Ph.D.
liddelowsa.bsky.social
3 reviews on planning, execution, & validation of transcriptomic experiments in neuroscience published in @natureportfolio.bsky.social #NatureNeuroscience.
A MUST READ if you're doing transcriptomics.
3 reviews, an amazing editorial, a beautiful cover – this is the issue of the year!
(mini thread)
samuelmarsh.bsky.social
Finally, as always, I want to thank everyone who uses scCustomize. I could never have imagined it would be adopted and used by some many people and it’s really fantastic every time I read paper or see plot that was made using scCustomize.

Happy single cell analysis!!! 💻📈🧬
20/20
samuelmarsh.bsky.social
As always there are a ton of bug fixes in this update here too. Thank you to everyone who has report issues on GitHub!

There’s more in this update too besides these highlights so check out changelog for full details!!
19/n
samuelmarsh.bsky.social
A number of functions have updated parameters, including `Clustered_DotPlot` which has 8!! new parameters to further customize the output plot and plot legends.
See changelog for full details on new/updated parameters in this update.
18/n
samuelmarsh.bsky.social
scCustomize now includes `seq_zeros` function to easily create sequences with preceding zeros. You can either specify the number of preceding zeros desired or the function will set automatically based on sequence length.
17/n
samuelmarsh.bsky.social
The base R `seq` family of functions has a ton of uses. However, due to the way numbers are ordered in R (and other software) it can sometimes be helpful to have preceding zeros in your number sequences in order to keep things in numerical order (e.g., 01, 02, 03, instead of 1, 2, 3).
16/n
samuelmarsh.bsky.social
Now here’s two functions that aren’t limited to scRNA-seq analysis but can generally be helpful in your work in R.

First, `Split_Vector` which allows you to split a vector in a specified number of chunks or chunks of specific length.
15/n
samuelmarsh.bsky.social
Now we supply that to `cells` parameter of `DoHeatmap` and the result now looks like this. We can now clearly visualize the differences in expression between the identities.

To make it even easier you can also just call `Random_Cells_Downsample` from within the `DoHeatmap` call.
14/n
samuelmarsh.bsky.social
However, by using `Random_Cells_Downsample` we can create a plot with equal number of cells per identity for proper visualization. Here I create a down sampled cell vector of 150 cells per group (or the max number of cells for groups smaller than 150 cells)
13/n
samuelmarsh.bsky.social
The default cell level heatmap scales the size of each identity based on the number of cells. This can lead to heatmaps where visualizing the expression in small clusters can be nearly impossible.
12/n
samuelmarsh.bsky.social
This update also contains new feature called `Random_Cells_Downsample` to return randomly downsampled set of cells from object with equal numbers of cells per identity.

There are many scenarios where this can be helpful but one that I use a lot is when plotting cell-level heatmaps.
11/n
samuelmarsh.bsky.social
Just like human function, `Updated_MGI_Symbols` requires one time internet connection to download the MGI file but then stores it in local cache so not internet is required for subsequent use.
10/n
samuelmarsh.bsky.social
The last scCustomize update brought the advance of `Updated_HGNC_Symbols` for updating human gene symbols. This update brings the equivalent function of mice using MGI database: `Updated_MGI_Symbols`.
9/n
samuelmarsh.bsky.social
scCustomize also makes it’s first venture in spatial plotting with addition of `SpatialDimPlot_scCustom` which is sibling to `DimPlot_scCustom` and contains similar updates to color scheme and other defaults.
See new spatial vignette for details:
samuel-marsh.github.io/scCustomize/...
8/n
Plotting #5: Spatial Plotting Functions
scCustomize
samuel-marsh.github.io
samuelmarsh.bsky.social
One new plotting function “Factor_Cor_Plot” has been added which will plot correlation between feature loadings of liger iNMF factors (works with both Seurat and Liger objects).

LIGER vignette is in progress and will I get that finished as soon as I can!
7/n
samuelmarsh.bsky.social
Old liger functions have been updated to enable working with either old or new style liger objects.

New liger interaction functions have been added. “Subset_LIGER”, “Cells_by_Identities_LIGER”.
6/n
samuelmarsh.bsky.social
scCustomize v3.0.0 contains massive updates for interaction with new style liger objects (liger v2.0.0+). Changelog contains the full function update list but some highlights are:

Extending Seurat generic functions to work with liger (Cells, Features, Idents, WhichCells, etc)
5/n
samuelmarsh.bsky.social
In addition to new species and metrics `Add_Cell_QC` is now S3 generic function and works with either Seurat or Liger objects.

I have also added new vignette specifically dedicated to this and other QC functions in scCustomize.
samuel-marsh.github.io/scCustomize/...
4/n
Object QC Functions
scCustomize
samuel-marsh.github.io
samuelmarsh.bsky.social
`Add_Cell_QC` also can work with ensembl IDs instead of feature names and has all ensembl IDs for default species stored within the package, no download required!
3/n
samuelmarsh.bsky.social
First, QC functions.
`Add_Cell_QC_Metrics` now includes addition of % of hemoglobin counts as metric & chicken was added to default species.

Default species are now human, mouse, rat, drosophila, zebrafish, macaque, marmoset, & chicken.

One line will add all QC metrics to your object.
2/n