No video

Single-cell Trajectory analysis using Monocle3 and Seurat | Step-by-step tutorial

  Рет қаралды 28,652

Bioinformagician

Bioinformagician

Күн бұрын

A detailed walk-though of steps to perform trajectory analysis using Monocle3 + Seurat for single-cell RNA-Seq data. In this video I cover various aspects of trajectory analysis including what is trajectory analysis, when to perform this analysis, which trajectory inference method to choose and how to perform trajectory analysis. In addition, I go over workflow steps and talk about cell data set object which monocle3 requires and finally demonstrate this workflow step-by-step in R.
I hope you find the video informative. I look forward to your comments in the comments section!
Link to code:
github.com/kpatel427/KZbinT...
Data:
scrna.sklehabc.com/
Alternate Data Link:
drive.google.com/file/d/1CJ9V...
Publication associated with the data:
academic.oup.com/nsr/article/...
Monocle3 tutorial:
cole-trapnell-lab.github.io/m...
R package collection for Trajectory Inference:
dynverse.org/
Publication comparing various Trajectory Inference methods:
www.biorxiv.org/content/10.11...
Chapters:
0:00 Intro
0:52 WHAT is Trajectory analysis?
2:11 What is pseudotime?
2:43 WHEN to perform trajectory analysis?
3:57 WHICH trajectory inference method to choose?
5:52 HOW to perform trajectory analysis? - Workflow steps
7:04 cell_data_set class
8:29 Data for demo
9:20 Fetching the data
9:47 Load libraries and read data in R
12:39 Create Seurat object
16:39 Subset Seurat object to only retain B cells
19:53 Processing steps in Seurat (NormalizeData, ScaleData, RunPCA, RunUMAP and FindClusters)
25:25 Convert Seurat object to object of cell_data_set class
26:06 Retrieving data from cds object
28:11 Transfer clustering information from Seurat object to cds object
33:37 Visualize clustering using monocle3: plot_cells()
36:44 Learn trajectory graph: learn_graph()
39:06 Order cells in pseudotime: order_cells()
41:00 Plotting pseudotime for cell types in ggplot2
43:43 Find genes that change expression along a trajectory: graph_test()
47:03 Visualizing pseudotime in Seurat's FeaturePlot()
Show your support and encouragement by buying me a coffee:
www.buymeacoffee.com/bioinfor...
To get in touch:
Website: bioinformagician.org/
Github: github.com/kpatel427
Email: khushbu_p@hotmail.com
#bioinformagician #bioinformatics #monocle3 #monocle #trajectoryinference #trajectory #singlecell #deg #seurat #integration#R #genomics #beginners #tutorial #howto ##research #omics #biology #ncbi #rnaseq #ngs

Пікірлер: 87
@adhirajnath5432
@adhirajnath5432 Жыл бұрын
This channel will be a respectable resource in our bioinformatics community
@christinaz3573
@christinaz3573 3 ай бұрын
Honestly, this was so precisely what I needed in a previously very frustrating situation. The way you manage to explain the background of what you are doing connected to how it is done is absolutely awesome. Thank you so so much!
@beyzaozdemir394
@beyzaozdemir394 2 жыл бұрын
You are making my learning journey much more easier for an intermediate use and making follow vignettes a breeze! Glad to have found your SEURAT videos!
@zlj8435
@zlj8435 2 жыл бұрын
Thanks a lot! The class is easy to follow with the github code and great to know how to do that and why we need to do that. Really appreciate it!!
@waynejanuzaj9679
@waynejanuzaj9679 2 жыл бұрын
Your tutorials have been very timely, informative and helpful. We will appreciate it if you could also make a tutorial on SCENIC. Thank you so much!
@Bioinformagician
@Bioinformagician 2 жыл бұрын
Will surely consider making a video on it! Thanks for the suggestion :)
@jintaoxu6393
@jintaoxu6393 Жыл бұрын
This playlist is so helpful. Would it be possible to have a Step-by-step tutorial for cell-cell interaction?
@Aquaria-
@Aquaria- 2 ай бұрын
Thank you so much! Really helpful for me to convert Seurat object for Monocle3
@junorzhu4313
@junorzhu4313 Жыл бұрын
very detailed tutorial, I found that myself more susceptible to your pattern compaired to others
@tautarius
@tautarius 2 жыл бұрын
thanks for making these awesome videos. I really appreciate it !!!
@melinabordone8243
@melinabordone8243 Жыл бұрын
First, thank you a lot. Your tutorial videos on scRNAseq analysis are a treasure! I would like to know if you already have a video on differential cell-type composition analysis or if you are planning to record one. Thank you so much!
@5602KK
@5602KK 11 ай бұрын
EXCELLENT video thank you very much. Excellent clear explanations accompanied with great demonstrations & slides I really mean that
@SwedishRagers
@SwedishRagers 2 жыл бұрын
Hi! there is not tutorial on YT on combining microarray and rna sequencing data under one analysis. this would be a very helpful tutorial! thanks again for all your amazing content!
@Bioinformagician
@Bioinformagician 2 жыл бұрын
Since microarray and RNA-Seq are different technologies, I am not sure of any use cases where there would be a requirement to combine data from both these technologies.
@SwedishRagers
@SwedishRagers 2 жыл бұрын
@@Bioinformagician I was thinking of when one does a meta-analysis on data from GEO. Some studies have done this for example: doi: 10.3389/fgene.2021.663787 however, it is difficult to learn how to replicate this. Thank you though.
@yairprawer4405
@yairprawer4405 Жыл бұрын
so helpful!! saved me hours of of reading error messages
@babil1908
@babil1908 Жыл бұрын
I am learning so much from you, thank you so much!
@cocnfkdjsnnnbb
@cocnfkdjsnnnbb 3 ай бұрын
Excellent tutorial 👏
@navyanandhanaofficial
@navyanandhanaofficial 2 жыл бұрын
Very nice Presentation! I liked it... Appreciate you!
@kiranpatil2924
@kiranpatil2924 11 ай бұрын
Thank you,, Please Make same video for Spatial Transcriptomics Analysis
@jasminjeffery5668
@jasminjeffery5668 5 ай бұрын
Would you consider a tutorial for TI with slingshot? that would be so helpful for me!
@Phsjd.2736
@Phsjd.2736 2 жыл бұрын
Thanks so much. Very informative videos!
@abdullahaltulea142
@abdullahaltulea142 Жыл бұрын
Excellent! Thank you very much
@ryanpark7323
@ryanpark7323 Жыл бұрын
Thank you! So so helpful :)
@Pato-py7wt
@Pato-py7wt Жыл бұрын
Amazing clear helpful video
@tushardhyani3931
@tushardhyani3931 2 жыл бұрын
Thank you for this video !!
@potterae
@potterae Жыл бұрын
Your videos are awesome, very helpful! For setting the clusters in the cell data set, do you think it could be a viable option to use the defined subclusters or is it better to use the clusters which seurat found with FindClusters? Thank you!
@youvikasingh7955
@youvikasingh7955 Жыл бұрын
Hi @Bioinfomagician..Loved your tutorial, and much-needed channel for budding bioinformaticians. I wanted to know if we don't have information on root cluster then how do we order cells according to Pseudotime?For eg in your case ProB cells are from cluster 5 but In my case, I just have CD4T cells in 4 clusters...how do I order them? Thanks in advance🙏
@Bioinformagician
@Bioinformagician Жыл бұрын
I am afraid pseudotime can be determined accurately for other cells if we don't know the cells it originated from i.e. the root cluster.
@youvikasingh7955
@youvikasingh7955 Жыл бұрын
@@Bioinformagicianthanks for your reply😍 is there any strategy to find out root cluster? I was doing this like..looking for lymphoid differentiation markers and setting those clusters or cells as root I am not sure if this way is right I appreciate your help! Thanks a lot... you are doing a great job..whenever i am stuck somewhere i look into your channel for help😊
@Bioinformagician
@Bioinformagician Жыл бұрын
@@youvikasingh7955 Unfortunately I am not aware of any reliable methods to find out root cluster. Your best bet is to dig up literature and research papers to find out whether any lineage studies have been done previously for the cells you are studying which can give you clues for the origin cell type and associated markers. I am glad to hear my channel is serving as a useful resource :)
@rps2930
@rps2930 7 ай бұрын
Hi Khushbu, first of all I really appreciate the effort you put in sharing your knowledge with us. I want to know from where I can get dataset for trajectory analysis which can be further published?
@mayaziv8088
@mayaziv8088 Жыл бұрын
Thank you great videos!!
@2007dolphinlover
@2007dolphinlover 7 ай бұрын
Why do you also want to compare the cluster before trajectory?
@prasadchaskar8542
@prasadchaskar8542 2 жыл бұрын
Thank you so much. Best!!!!
@miguelcuevas2976
@miguelcuevas2976 Ай бұрын
What is the benefit of monocle over other trajectory analysis tools such as slingshot?
@qiongyujadehe5778
@qiongyujadehe5778 2 жыл бұрын
Thanks alot !very useful!
@anaburgos4969
@anaburgos4969 Жыл бұрын
Thank you SO MUCH :)
@meetukaur0909
@meetukaur0909 5 ай бұрын
Ma'am, can you please let me know where can I get gene and cell meta data for a particular single cell analysis dataset?
@abhimanyu--3741
@abhimanyu--3741 11 ай бұрын
Thank you for the tutorial. Can you extend this to "plot_genes_in_pseudotime" after the "graph_test"? that is one confusing part of the code on their tutorial
@lukesimpson1507
@lukesimpson1507 2 жыл бұрын
Hi Bioinfomagician, great video as always. You spoke about the importance of having the optimal cluster resolution, is there any objective way to determine this? Is there any tools you would recommend? Thank you!
@Bioinformagician
@Bioinformagician 2 жыл бұрын
What I usually do is run clustering with multiple clustering resolutions like this: FindClusters(object = seurat_integrated, resolution = c(0.2, 0.5, 0.8, 1.0)) and then plot each of them to visually see which resolutions provide optimal separation. If you have known cell types in your data, it might be of help to visualize the markers for those cell types too for different resolutions to make sure different cell types, group into separate clusters.
@user-ck3ki9hq9t
@user-ck3ki9hq9t 9 ай бұрын
Thank you! I am not seeing any '^MT- genes showing up in the data seuratobj I made from the downloaded data. Just get error: Error in validObject(object = x) : invalid class “Seurat” object: 1: all cells in assays must be in the same order as the Seurat object invalid class “Seurat” object: 2: 'active.idents' must be named with cell names Thanks if you have seen this error before
@louisgervais5059
@louisgervais5059 8 ай бұрын
I have the same error message
@xinyuqu4407
@xinyuqu4407 Ай бұрын
I have the same issue. I use the AddMetaData function from Seurat to solve the problem. rownames(metadata)
@sreejas1302
@sreejas1302 Жыл бұрын
Hi, thank you so much for this video. How to do trajectory analysis in diffusion maps instead of principal components?
@adelyntsai1116
@adelyntsai1116 Жыл бұрын
This is great!! Thank you so much. Will it be possible if you can make tutorials on intercellular interaction tools in R? Thank you again!
@Bioinformagician
@Bioinformagician Жыл бұрын
Thanks for the suggestion, will surely considering making videos covering this topic.
@alexbrown2272
@alexbrown2272 Жыл бұрын
Thank you so much for this great video! Curious if you have found a way to plot individual genes in pseudo time? There is a way in Monocle, but when using this integration with Seurat there is not an expression family that is needed to plot specific genes in pseudo time or to find which genes are driving the trajectory. Any advice would be greatly appreciated! Thanks again!
@brooke2100
@brooke2100 Жыл бұрын
I am wondering this as well. Thanks in advance!
@Bioinformagician
@Bioinformagician Жыл бұрын
You can plot specific genes in pseudotime by running cds
@stacygenovese1761
@stacygenovese1761 2 жыл бұрын
As always these are wonderful. Quick question - if we're doing a trajectory analysis following integration do we just run as.cell_data_set() on our existing Seurat object? Or do we have to re-create the object transforming the expression matrix?
@Bioinformagician
@Bioinformagician 2 жыл бұрын
I think you could read the integrated object into as.cell_data_set() and use the clustering information from Seurat's UMAP to cluster cells and learn trajectory on those embeddings.
@judep6077
@judep6077 Жыл бұрын
Make sure to change the active assay to 'RNA' from 'integrated' before you run the monocle or you will get an error.
@adampassman
@adampassman Жыл бұрын
I have hundred of laser-microdissected samples, is there a pipeline for trajectory analysis for this kind of data? Do you think that I could just format my libraries as if they were single cells instead of single microdissections and trick it into working?
@msumode4493
@msumode4493 Жыл бұрын
Hello Khushbu. 2 points I am confused about. 1. I was wondering when converting from Seurat to Monocle3 cds object, are the counts used for downstream analysis in your tutorial or the data from Seurat's data slot? Counts are not normalized and wouldn't that lead to erroneous calculations if not normalized in Monocle3 later on? I am not sure if this was done in this tutorial. 2. Why take Seurat's UMAP coordinates for analysis in Monocle3? Wouldn't it be more informative to know how Monocle3 projects the Seurat generated clusters in 2D space? Otherwise, isn't Monocle just drawing or projecting pseudotime over Seurat based proximity? Thank you.
@tizianatocci1176
@tizianatocci1176 Жыл бұрын
Hey, your videos are truly amazing! Thank you so much! I have a question concerning point 3 "# 3 Learn trajectory graph -----------". I obtain a trajectory different from the one that you obtain in the video and the same happens if I copy your code from github. Do you have any idea of what I am doing wrong? Thank you again!! This is the error I get when I run the plot of the third point: Warning message: ggrepel: 7 unlabeled data points (too many overlaps). Consider increasing max.overlaps
@kitdordkhar4964
@kitdordkhar4964 2 жыл бұрын
Question? From where did you get the redefined_cluster? I always get confused with the term "Subset" in scRNA analysis.
@Bioinformagician
@Bioinformagician 2 жыл бұрын
'redefined_cluster' was already present in the data I am using, as the data was already annotated. The term 'subset' is to just get certain group of cells from the entire dataset.
@kitdordkhar4964
@kitdordkhar4964 2 жыл бұрын
@@Bioinformagician Gotcha! It was already in the ref database I guess. Thanks!
@user-mb5ld7re8m
@user-mb5ld7re8m Жыл бұрын
Sorry,my monocle3 cannot find funtion as.cell_data_set(). Can you help me?
@erin8360
@erin8360 Жыл бұрын
Thank you for sharing this! Is there a way to compare the trajectories between two conditions/treatments?
@Bioinformagician
@Bioinformagician Жыл бұрын
You could build separate trajectories for each condition/treatment, get top 50 or 100 genes that change expression over pseudotime from both groups and compare them.
@aimanbarki9968
@aimanbarki9968 2 жыл бұрын
link for data is not working :(.. Can you please cite another source
@Bioinformagician
@Bioinformagician 2 жыл бұрын
It seems to be working fine for me. Here's the link to the associated publication: academic.oup.com/nsr/article/8/3/nwaa180/5896476#267860186 They have their data deposited in NCBI GEO - GSE137864 and GSE149938
@zeeman5007
@zeeman5007 2 жыл бұрын
@@Bioinformagician Hi. Love these videos! The link to the data is not working for me as well. I am able to get the expression matrix file from NCBI GEO. But having difficulty finding the gene and cell metadata files. Any assistance would be greatly appreciated! :)
@Bioinformagician
@Bioinformagician 2 жыл бұрын
@@zeeman5007 I have uploaded these files here: drive.google.com/file/d/1CJ9VSrUCoqPsUI1jrdm2nrLRawI04xZ1/view?usp=sharing
@yongdongwu8472
@yongdongwu8472 2 жыл бұрын
ZLJ 3周前 Thanks a lot! you are so excellent !!and i have a question,the s5" filter(status=="OK")",what's difference between “OK" and "failure",i cannot figure out the meaning and difference.
@Bioinformagician
@Bioinformagician 2 жыл бұрын
graph_test() results outputs status "FAIL" for those genes whose p values, Moran I and Moran test statistic values are NA
@hsinchiehwu4397
@hsinchiehwu4397 Жыл бұрын
Thank you for all the Rstudio vedios. They're so clear and helpful !!!! I've failed to instal SeuratWrappers (Mac Monterey 12.5, Rstudio IDE 4.2) using remotes or devtools; troubleshooting follow the github site was also nothing worked. Any suggestion would be greatly appreciated !!! Many thanks,
@Bioinformagician
@Bioinformagician Жыл бұрын
What is the error you see?
@mmhmmh8545
@mmhmmh8545 Жыл бұрын
I had the same problem, I was able to install SeuratWrappers after installing R.utils package install.packages("R.utils"). try doing this and see.
@jianwu4593
@jianwu4593 2 жыл бұрын
Thanks
@eramartinez8790
@eramartinez8790 Жыл бұрын
Thanks for the video you are saving my PhD, but I have the same problem, I can´t install SeuratWrappers, this is the Warning in install.packages :package ‘SeuratWrappers’ is not available for this version of R , I tried to install from but devtools::install_github("satijalab/seurat-wrappers") and remotes::install_github('satijalab/seurat-wrappers')nothing, any recommendation? I have R version 4.2.2
@TheVillka
@TheVillka Жыл бұрын
Hi, I had the same problem and installed r.utils. Then it worked with SeuratWrappers
@merrinleong1388
@merrinleong1388 Жыл бұрын
Error in as.cell_data_set(b.seu) : could not find function "as.cell_data_set"
@Bioinformagician
@Bioinformagician Жыл бұрын
Have you loaded SeuratWrappers library before running that command?
@moinicholas3828
@moinicholas3828 Жыл бұрын
Hi, Following yout script I find that mitopercent is always 0, any ideas why this might be?
@moinicholas3828
@moinicholas3828 Жыл бұрын
Is it that the sample size is small enough that there are actually 0 mitochondrial genes?
@moinicholas3828
@moinicholas3828 Жыл бұрын
I also find that seu.obj.filtered@metadata has the same number of rows as the orignal, is this right?
@MsZhang666
@MsZhang666 Жыл бұрын
The voice and the video do not match on 25:00-33:00 min.
@marinafernandez6778
@marinafernandez6778 2 ай бұрын
Hi, Great video! thanks! I got this error any idea how to solve it? seu.obj$mitopercent
@xinyuqu4407
@xinyuqu4407 Ай бұрын
I have the same issue. I use the AddMetaData function from Seurat to solve the problem. rownames(metadata)
@soburali5430
@soburali5430 Ай бұрын
@@xinyuqu4407 It worked, Thank you so much!
@felixoluwasegun8567
@felixoluwasegun8567 25 күн бұрын
@@xinyuqu4407 Hello, I have tried this solution multiple times; it still shows the same error. is there anything else I can do?
@burakkahveci4123
@burakkahveci4123 Жыл бұрын
Hi, thank you for this great video, but I have a problem. When I install monocle3, I get a error. ** byte-compile and prepare package for lazy loading Hata: package or namespace load failed for 'SummarizedExperiment' in library.dynam(lib, package, package.lib): DLL 'DelayedArray' not found: maybe not installed for this architecture? Ek olarak: Warning messages: 1: package 'matrixStats' was built under R version 4.1.3 2: package 'GenomicRanges' was built under R version 4.1.2 3: package 'S4Vectors' was built under R version 4.1.3 4: package 'GenomeInfoDb' was built under R version 4.1.2 Çalıştırma durduruldu ERROR: lazy loading failed for package 'monocle3' * removing 'C:/Users/Burak/OneDrive - Dokuz Eylül Üniversitesi/Belgeler/R/win-library/4.1/monocle3' Warning message: In i.p(...) : installation of package ‘C:/Users/Burak/AppData/Local/Temp/RtmpC69TpC/file28646e1844d/monocle3_1.2.9.tar.gz’ had non-zero exit status
WHO CAN RUN FASTER?
00:23
Zhong
Рет қаралды 15 МЛН
艾莎撒娇得到王子的原谅#艾莎
00:24
在逃的公主
Рет қаралды 28 МЛН
Harley Quinn's plan for revenge!!!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 21 МЛН
Why Is He Unhappy…?
00:26
Alan Chikin Chow
Рет қаралды 92 МЛН
Single Cell Sequencing - Eric Chow (UCSF)
24:37
iBiology Techniques
Рет қаралды 238 М.
Cell  Differentiation Trajectory Analysis and Cell State Analysis using Palantir
20:00
Single Cell Genomics, Transcriptomics & Proteomics
Рет қаралды 462
WHO CAN RUN FASTER?
00:23
Zhong
Рет қаралды 15 МЛН