This is so good. I am not a statistician, but needed to understand what a heat map for RNAseq results meant in one of the papers I was reading. I have a better understanding now. Thank you!
Nice presentation. Particularly because it shows how the choice of the parameter of evaluation of distances of a point to distinct groups affects the visualization of the maps of heat. I suggest exploring in another presentation what is the most appropriate selection method.
The start was really clear and helpful, but then on the second heatmap i instantly got lost, couldn't even tell what each row was, i wish you'd given some more references for it, and made it smaller, and maybe gave one of two examples of interpreting. That said, thanks for the video, it was helpful!
OMG!!:D In my 300 years+ as a vampire I've never seen such an excellent and clean explanation of heatmaps and hierarchical clustering. Thank you - you are a great teacher! Is there any chance you could share the PowerPoint presentation? (I'm okay if you say no - it's a lot of hard work)
Thank you very much, Joshua. I'll just use the slides to explain heatmaps to a small group of my non-English speaking friends. Of course I will recommend your channel and the website. Please keep up this great work!
That is crazy good. Now I have to mention. That I don't believe that one should go with the one that looks good. There is always a reason to choose one or other method. Rationalizing why using centroids for example will provide more robustness to the result because outliers is a better argument if you want to keep a conservative interpretation. Another is using different clustering methods and see those that converge in similar results would be advisable. At least that is my opinion. In any case super good statquest
Glad you like the video. However, regardless of how you justify your method, you will always end up with some relatively arbitrary cut off because there is no way to prove that you've made the correct decision.
In another video you spoke about dividing by the lenght of the sequence and the dividing by the sum of the column counts. Is it better to do it like that or to normalize like you explain in this video?
Hey Josh, I started to follow you from France and I find your videos really top. However, I have a small question: when you say for each sample, do you mean each row? thanks :)
Unfortunately I am very sloppy when I say "sample" - in earlier videos I use the word to indicate a row of data, but it also means a collection of rows... In newer videos I call a row of data an "observation" and a collection of observations a "dataset". I wish I did that from the beginning... oh well. :(
Thanks for the great lecture! For hierarchical clustering in R, do we only need to provide a count matrix of the log transformed normalized counts of all samples as input (generated from Rsubread or DESeq)? The hierarchical clustering script will calculate the Z-scaling based on the input count matrix, am I right?
Hi Josh, huge subscriber, Love you bro, Trying to clarify what kind of data are these numbers. Is it like, the "presence" of each gene in a cell? And what does that tell us? What are we looking for? I know these are big questions. You can just provide an example. My stats background is based mostly from linear regression, where samples are rows and variables are columns, but it always seems like you're rows and columns are reversed.
The data in these examples are the number of mRNA transcripts per gene in a pool of cells. This number roughly correlates with how "active" a gene is in a cell. For example, in liver cells, genes associated with liver functions have relatively large numbers of mRNA transcripts associated with them. In contrast, in skin cells, genes associated skin function (like pigments etc.) have a relatively large number mRNA transcripts associated with them.
Hi Josh, Just a quick clarifying question: When you say "sample", do you mean a collection of observations? I'm trying to conceptualize how the data is stored. Is each sample a single participant or is it a vector?
Unfortunately I was relatively sloppy when I used the word "sample" in this video. At 0:32 I say that a "sample" refers to a column of measurements (the rows are individual genes, or measurements takin within each sample.). To clarify, imagine a "sample" being a single person and on each person we measure weight, height and age. That said, usually the word "sample" refers to a bunch of people or a bunch of whatever.
Hi! Quick Question: When we are scaling data, do we scale them by samples or by genes? Or do we find mean and standard deviation of all the genes (expressed in all samples) and scale them all at once? The second makes more sense to me. Would be glad if you could answer it. :)
If we scale the data per gene, can it be used for the comparison of expression among different genes in a single sample? Similarly, if we scale the data per sample, can we use to compare expression patterns in different samples?
The scaling can go either way. The goal is to use something that makes the relationships clear. Sometimes that means scaling by gene, other times that means scaling by sample, and you can also do a global scaling.
This video is great! One teeny tiny part that can be improved is the name of genes and samples in 8:15. Using "gene #1" instead of "gene 1" could be misleading at the first glance since you call sample #1, #2, #3. However, it's just a tedious point for your future reference. Other than that, your video is flawless.
We "z-scale" all of these genes by subtracting the mean value (per gene) and dividing by the standard deviation (per gene). That said, this does not mean that all genes will have the same maximum and minimum values. For example, if gene "a" has these values: 100, 10, -10, -100, then the scaled values = 1.2, 0.1, -0.1, -1.2. In contrast, if gene 'b' has these values: 1, 1, -1, -1, then the scaled values = 0.9, 0.9, -0.9, -0.9. In this case, gene 'a' will have a darker blue and a darker red than gene 'b'.
Great question! The answer is that although the log transformation can make the data easier to look at (by preventing the highly expressed genes from making it impossible to see differences in moderately expressed genes), it's not the same as normalizing - it doesn't center the mean of the measurements on 0 and it doesn't standardize the range of values.
@@rebeccaeliscu3460 Yes. However, there are no fixed rules for how to transform the data - the goal is to have something that is relatively easy to interpret, and that means there is a lot of flexibility. Try stuff and see what works best.
Can I make heat-map of only differential expressed genes? Or the right thing to do is doing of all expressed genes?. I did a heat-map, and, the differential expressed genes are mix with not differential expressed genes. Some rows and columns are bad to look at because some outliers.
One more follow-up question about heatmaps. If I have multiple groups of samples. Let's say Treatment 1, Treatment 2, and Control. Would you suggest us to make a heatmap based on differentially expressed genes in "Treatment 1 vs Control" or "Treatment 2 vs Control"? I am asking because those DE genes in the first comparison will not be the same as those in the second comparison. In this case, if you have to make a heatmap to describe your results, would you pick the top 100 genes with highest reads instead of top 100 DE genes? Does that make any sense?
Hi Joshua, Thank you for your detail explanation! I aimed to discover the differentially expressed genes between different treatment groups so I think the second option would be more suitable for that purpose. Now I just have to figure out hoe to color code the heatmap...which would take a while. Thanks again :)
Sir , i understood why local scaling is helpful in case of an outlier in data. But can you please tell me how its done or any popular name of local scaling method which i can google and understand. Nonetheless , Thanks alot.
I am somewhat surprised and a tad vexed that, in doing clustering, there are so many choices in terms of calculating the distance and choosing the method of clustering. It's very... empirical... I somehow expected that certain parameters would fit best certain scenarios/ types of problems . Has anybody checked systematically the various permutations of parameters for "best fitting" of a problem (say gene expression). Perhaps, the scenarios need to be better defined in order to find this correspondence. It seems that there are cases in which a certain combination of parameters fit best the essence of the system , according to the researcher's experience. Maybe scrutinizing such cases can reveal a certain feature of the system that is not encountered in seemingly similar cases for which the combination doesn't work so well...? Maybe some empirical "constant" a la theorems encountered in physics can do the trick? ;)
Gotcha. Each of these techniques in just another weapon in our arsenal. Hypothesis testing through experimentation is the best. But there is also model testing in statistics, isn't it. Can you make a video about that? Methods, parameters, best practices Thank you.
Thanks. I also meant to reply to your message on Statquest.org but I can't find it any more to save my life... Today I learned about about "lasso regression" . Apparently, it can "do variable selection and prediction" which seems like the bee's knees. Can you expand on that in a video, por favor? Here's something you might enjoy: another "Bam" aficionado ( ua-cam.com/video/XvazQUYG1kE/v-deo.html)
Support StatQuest by buying my book The StatQuest Illustrated Guide to Machine Learning or a Study Guide or Merch!!! statquest.org/statquest-store/
These are one of best Statistics presentations I have ever seen. Too much helpful.
This is so good. I am not a statistician, but needed to understand what a heat map for RNAseq results meant in one of the papers I was reading. I have a better understanding now. Thank you!
Glad it was helpful!
Thank you for making statistics look so simple!!! These are the best videos I've ever seen !
Thank you! :)
I love when your videos results on my youtube searches! *.*
BAM! :)
I only discovered this channel yesterday. Thank you very much!!!!!!!!!!!
Hooray! I'm glad you like the videos. :)
I am going to watch all videos in this playlist. Very useful for a new grad student(also neural research). Thank you ;)
Glad you like them!
Thank you statquest, it was extremely helpful
Glad it helped!
Thanks Josh, helped me a lot in understanding heat map and hierarchical clustering. Greetings from Japan.
Hooray!!! I'm glad to hear that the video was helpful. I will be visiting Japan in 2 months! I can't wait.
That's awesome Josh! Hope you have a great time in Japan.
Thank you very much for your wonderful explanation
Thanks!
Nice presentation. Particularly because it shows how the choice of the parameter of evaluation of distances of a point to distinct groups affects the visualization of the maps of heat. I suggest exploring in another presentation what is the most appropriate selection method.
Thank you for such a lucid explanation!
Glad it was helpful!
your videos are so clear and helpful! Thank you!
Thanks for the complement! They are fun to make and it's nice to know people like them. :)
This was so helpful! Thank you so much!!!❤
Thanks!
Thanks. You make these things look very simple.
nobody:
StatQuest: statquest, statqueeessst .............. STATQUEST!
:)
Fantastic one-stop-shop for clustering basics!
Hooray!!!
it will be really great to get a dedicated episode for scaling data the way it is described in this video.
I'll keep that in mind.
Thanks Josh! I love your videos.
Thank you so much!!!! :)
Great effort was put in this! Thank you so much for sharing.
The start was really clear and helpful, but then on the second heatmap i instantly got lost, couldn't even tell what each row was, i wish you'd given some more references for it, and made it smaller, and maybe gave one of two examples of interpreting. That said, thanks for the video, it was helpful!
I'm sorry you had trouble following the concepts in this video.
Such a great explanation!
Thank you! :)
Great tutorial... Love it
Thank you! :)
it was really informative.
Thanks! :)
Thank you Sir 🌹✨
:)
Can you please do a video on PERMANOVA. I find your videos easy to understand
thanks so much..you are making my life easier
Hooray!!!
Great video! Thank you so much!
Burst out at 12.30 😂😂😂 Can't believe stats made me laugh, I used to oly cry bcz of stats before 😂 you are goooood
Hooray!!! :)
very nice video...thanks
:)
You are amazing ,,,,,,how you do it???? THANK YOU
Thanks!
Thank you!
Thanks!
The values used in clustering by the eucleadian distance are scaled read counts right
Yep! :)
OMG!!:D In my 300 years+ as a vampire I've never seen such an excellent and clean explanation of heatmaps and hierarchical clustering. Thank you - you are a great teacher! Is there any chance you could share the PowerPoint presentation? (I'm okay if you say no - it's a lot of hard work)
Thank you very much, Joshua. I'll just use the slides to explain heatmaps to a small group of my non-English speaking friends. Of course I will recommend your channel and the website. Please keep up this great work!
That is crazy good. Now I have to mention. That I don't believe that one should go with the one that looks good. There is always a reason to choose one or other method. Rationalizing why using centroids for example will provide more robustness to the result because outliers is a better argument if you want to keep a conservative interpretation. Another is using different clustering methods and see those that converge in similar results would be advisable. At least that is my opinion. In any case super good statquest
Glad you like the video. However, regardless of how you justify your method, you will always end up with some relatively arbitrary cut off because there is no way to prove that you've made the correct decision.
thank you so much
Welcome 😊!
Thank you so much! Your video helped a lot.
thank you very helpful
Thanks!
In another video you spoke about dividing by the lenght of the sequence and the dividing by the sum of the column counts. Is it better to do it like that or to normalize like you explain in this video?
It really depends on your data.
wonderful
Thank you!
thx a lot for this rich explain and I wish if you have videos for PCOA, LDA, alpha diversity and R language
I have videos on PCoA and LDA. Here's a link to all of my videos: statquest.org/video-index/
Hey Josh,
I started to follow you from France and I find your videos really top. However, I have a small question: when you say for each sample, do you mean each row? thanks :)
Unfortunately I am very sloppy when I say "sample" - in earlier videos I use the word to indicate a row of data, but it also means a collection of rows... In newer videos I call a row of data an "observation" and a collection of observations a "dataset". I wish I did that from the beginning... oh well. :(
Thanks for the great lecture! For hierarchical clustering in R, do we only need to provide a count matrix of the log transformed normalized counts of all samples as input (generated from Rsubread or DESeq)? The hierarchical clustering script will calculate the Z-scaling based on the input count matrix, am I right?
I believe so.
15:10 Is it just me or does comparing points to the cluster average results in a more neatly colored heatmap?
I'm partial to the furthest.
Thank you for the nice presentation and great explanation. Is global scaling similar to scaling by column?
No, it uses all of the columns to find a single scaling factor for all of the data instead of finding one scaling factor per column.
@@statquest What is the function that performs global scaling in R?
@@munaalhammadi4237 x
Hi Josh, huge subscriber, Love you bro,
Trying to clarify what kind of data are these numbers. Is it like, the "presence" of each gene in a cell? And what does that tell us? What are we looking for?
I know these are big questions. You can just provide an example. My stats background is based mostly from linear regression, where samples are rows and variables are columns, but it always seems like you're rows and columns are reversed.
The data in these examples are the number of mRNA transcripts per gene in a pool of cells. This number roughly correlates with how "active" a gene is in a cell. For example, in liver cells, genes associated with liver functions have relatively large numbers of mRNA transcripts associated with them. In contrast, in skin cells, genes associated skin function (like pigments etc.) have a relatively large number mRNA transcripts associated with them.
Hi Josh,
Just a quick clarifying question:
When you say "sample", do you mean a collection of observations?
I'm trying to conceptualize how the data is stored. Is each sample a single participant or is it a vector?
Unfortunately I was relatively sloppy when I used the word "sample" in this video. At 0:32 I say that a "sample" refers to a column of measurements (the rows are individual genes, or measurements takin within each sample.). To clarify, imagine a "sample" being a single person and on each person we measure weight, height and age. That said, usually the word "sample" refers to a bunch of people or a bunch of whatever.
made me say "OHHHHHH!!" out loud, 10/10
BAM! :)
@@statquest Double BAM :> :>
Thanks, Josh, could you please share with us a tutorial about how to draw heatmap in R-Studio or any other online database for the RNA Seq data.
I'll keep that in mind.
Hi! Quick Question: When we are scaling data, do we scale them by samples or by genes? Or do we find mean and standard deviation of all the genes (expressed in all samples) and scale them all at once? The second makes more sense to me. Would be glad if you could answer it. :)
If we scale the data per gene, can it be used for the comparison of expression among different genes in a single sample? Similarly, if we scale the data per sample, can we use to compare expression patterns in different samples?
The scaling can go either way. The goal is to use something that makes the relationships clear. Sometimes that means scaling by gene, other times that means scaling by sample, and you can also do a global scaling.
Can you pls do a video on genetic algorithm
This video is great! One teeny tiny part that can be improved is the name of genes and samples in 8:15. Using "gene #1" instead of "gene 1" could be misleading at the first glance since you call sample #1, #2, #3. However, it's just a tedious point for your future reference. Other than that, your video is flawless.
hey can you make a video on how would i arrange data in a way that i would prepare heatmap of genes which are mostly expressed in all samples
I'll keep that in mind.
Great for a beginner 😁
Thanks! :)
At. 1:23, you said the relative abundances are scaled on per gene basis. if so, should all genes have dark red and dark blue in their row?
We "z-scale" all of these genes by subtracting the mean value (per gene) and dividing by the standard deviation (per gene). That said, this does not mean that all genes will have the same maximum and minimum values. For example, if gene "a" has these values: 100, 10, -10, -100, then the scaled values = 1.2, 0.1, -0.1, -1.2. In contrast, if gene 'b' has these values: 1, 1, -1, -1, then the scaled values = 0.9, 0.9, -0.9, -0.9. In this case, gene 'a' will have a darker blue and a darker red than gene 'b'.
@@statquest Thank you very much for your kind answer.
Does applying a log transformation to the count data accomplish the same thing as normalizing the data across genes?
Great question! The answer is that although the log transformation can make the data easier to look at (by preventing the highly expressed genes from making it impossible to see differences in moderately expressed genes), it's not the same as normalizing - it doesn't center the mean of the measurements on 0 and it doesn't standardize the range of values.
@@statquest Is it then appropriate to normalize the rlog data?
Thanks for your response!
@@rebeccaeliscu3460 Yes. However, there are no fixed rules for how to transform the data - the goal is to have something that is relatively easy to interpret, and that means there is a lot of flexibility. Try stuff and see what works best.
Can I make heat-map of only differential expressed genes? Or the right thing to do is doing of all expressed genes?. I did a heat-map, and, the differential expressed genes are mix with not differential expressed genes. Some rows and columns are bad to look at because some outliers.
+Joshua Starmer Thanks.
One more follow-up question about heatmaps. If I have multiple groups of samples. Let's say Treatment 1, Treatment 2, and Control. Would you suggest us to make a heatmap based on differentially expressed genes in "Treatment 1 vs Control" or "Treatment 2 vs Control"? I am asking because those DE genes in the first comparison will not be the same as those in the second comparison. In this case, if you have to make a heatmap to describe your results, would you pick the top 100 genes with highest reads instead of top 100 DE genes? Does that make any sense?
Hi Joshua,
Thank you for your detail explanation! I aimed to discover the differentially expressed genes between different treatment groups so I think the second option would be more suitable for that purpose. Now I just have to figure out hoe to color code the heatmap...which would take a while.
Thanks again :)
Sir , i understood why local scaling is helpful in case of an outlier in data. But can you please tell me how its done or any popular name of local scaling method which i can google and understand. Nonetheless , Thanks alot.
Z scaling
Greatdiscussion
Thanks!
a great vedio,help me lot.
Hooray! :)
I love you thank you
:)
Kick it up a notch! :)
Will it be better if we use median than mean? 4 min 45 sec.
The decision is arbitrary. Try them both and see what looks better.
@@statquest well I love to see but do not know R or any comp language. But it is good to know.
Can you share with us the R code ???
I am somewhat surprised and a tad vexed that, in doing clustering, there are so many choices in terms of calculating the distance and choosing the method of clustering. It's very... empirical... I somehow expected that certain parameters would fit best certain scenarios/ types of problems . Has anybody checked systematically the various permutations of parameters for "best fitting" of a problem (say gene expression). Perhaps, the scenarios need to be better defined in order to find this correspondence.
It seems that there are cases in which a certain combination of parameters fit best the essence of the system , according to the researcher's experience. Maybe scrutinizing such cases can reveal a certain feature of the system that is not encountered in seemingly similar cases for which the combination doesn't work so well...? Maybe some empirical "constant" a la theorems encountered in physics can do the trick? ;)
Gotcha. Each of these techniques in just another weapon in our arsenal. Hypothesis testing through experimentation is the best. But there is also model testing in statistics, isn't it. Can you make a video about that? Methods, parameters, best practices Thank you.
Thanks. I also meant to reply to your message on Statquest.org but I can't find it any more to save my life...
Today I learned about about "lasso regression" . Apparently, it can "do variable selection and prediction" which seems like the bee's knees. Can you expand on that in a video, por favor?
Here's something you might enjoy: another "Bam" aficionado ( ua-cam.com/video/XvazQUYG1kE/v-deo.html)
its hard to be a scientist fck!! i was thinking what if i shouldve gone to medical school instead
strijderssss
?
Josh runs out songs...
a sad day. :(
horrible video quality, irreleavant choice of example
Sorry about that.