
beginner-friendly introduction to differential expression analysis using edgeR in R, guiding RNA-seq data exploration with read counts, sample information, and a psoriatic arthritis dataset from the Gene Expression Omnibus repository.
Install the language and use RStudio, an integrated development environment favored by bioinformaticians, then explore the script, environment, plots, console, installed packages, and help on functions.
Master R commands: check and change your working directory with getwd and setwd, switch to home with tilde, assign and remove variables with <-, =, and rm to clear workspace.
Install the required packages from cran and bioconductor using the bike manager, then install the remaining packages to start the differential expression analysis with edgeR.
Load and initialize essential libraries, including open zsh for excel manipulation, ggplot, dplyr, factominer, and biomart. Read expression read counts and sample information to prepare data frames for downstream analysis.
Reorder expression data to match sample metadata, verify with identical, and check for missing values using is.na before proceeding to normalize counts in edgeR differential expression analysis.
Build the edgeR model matrix by treating tissue type as a factor, compare healthy, lesional, and uninvolved skin, and verify normalization with CPM and log CPM.
Learn to filter lowly expressed genes in edgeR by keeping genes with CPM > 1 in at least 5% of samples, then re-normalize and compute log counts per million.
Explore data visually through box plots and log normalized expressions, perform a principal component analysis using FactoMineR, and visualize pca with ggplot to distinguish lesional, healthy, and uninvolved samples.
Estimate dispersions and fit a differential expression model with edgeR, define contrasts lesional versus healthy, compute log fold changes and FDR, and filter by abs logFC and FDR.
Annotate results with Biomart using the useEnsembl function to fetch Ensembl IDs, descriptions, positions, and symbols, then left-join annotations to your data for lesional skin versus healthy samples.
Visualize differential expression with a volcano plot, plotting log fold change on the x-axis and -log10 FDR on the y-axis to identify significant upregulated and downregulated genes via thresholds.
Plot a top 100 differential expressed gene heatmap (50 up, 50 down) using log normalized counts to show expression across lesional skin, uninvolved, and healthy controls.
Document edgeR differential expression analysis reproducibly by saving the complete workspace including volcano plots and heat maps with date-stamped names, recording package versions via sessionInfo, and logging output with sink.
Wrap up the differential expression analysis course using edgeR in R for RNA sequencing data, targeting users with basic R knowledge, and invite feedback for future courses via LinkedIn.
Hello everyone!
My name is George and I am a bioinformatician.
I am here to guide you through an analysis of RNA sequencing data using edgeR.
This is a differential expression analysis where we compare samples from Psoriatic Arthritis patients to Healthy controls in order to identify deregulated genes. It is a very simple and common experimental design that is an industry-standard nowadays and a great tool to have at your disposal.
For this course, you need to have some basic R programming experience and you need to have a computer with R language installed. This course is intended for people aiming to dive into the world of RNA sequencing data analysis and have not had the chance to analyse data using edgeR before.
We will use the publicly available Psoriatic Arthritis dataset and perform some data cleaning, preparation, exploratory analysis, data normalization and subsequently reach our desired goal which is the differential expression analysis. Finally, we will visualize the results by creating a volcano plot and a heatmap of the top differentially expressed genes and we will save any information needed for this analysis to be documented in a reproducible way.
If you fulfil the above-mentioned criteria, tag along and let's explore the basics of differential expression using edgeR!