Scientific background
Today, phenomena such as morphological mutations, diseases or developmental processes are primarily investigated on the molecular level using transcriptomics approaches. Transcriptomes denote the total number of quantifiable transcripts present at a specific stage in a biological process. In disease or developmental (defect) studies, transcriptomes are usually measured over several time points. In treatment studies aiming to quantify differences in the transcriptome due to biotic stimuli, abiotic stimuli, or diseases usually treatment / disease versus non-treatment / non-disease transcriptomes are compared. In either case, comparing changes in transcriptomes over time or between treatments allows us to identify genes and gene regulatory mechanisms that might be involved in governing the biological process of investigation. Although classic transcriptomics studies are based on an established methodology, little is known about the evolution and conservation mechanisms underlying such transcriptomes. Understanding the evolutionary mechanism that change transcriptomes over time, however, might give us a new perspective on how diseases emerge in the first place or how morphological changes are triggered by changes of developmental transcriptomes.
Evolutionary transcriptomics aims to capture and quantify the evolutionary conservation of genes that contribute to the transcriptome during a specific stage of the biological process of interest. The resulting temporal conservation pattern then enables to detect stages of development or other biological processes that are evolutionarily conserved (Drost et al., 2018). This quantification on the highest level is achieved through transcriptome indices (e.g. Transcriptome Age Index or Transcriptome Divergence Index) which aim to quantify the average evolutionary age Barrera-Redondo et al., 2023 or sequence conservation Drost et al., 2015 of genes that contribute to the transcriptome at a particular stage. In general, evolutionary transcriptomics can be used as a method to quantify the evolutionary conservation of transcriptomes at particular developmental stages and to investigate how transcriptomes underlying biological processes are constrained or channeled due to events in evolutionary history (Dollo’s law) (Drost et al., 2017).
Please note, since myTAI relies on gene age inference and
there has been an extensive debate about the best approaches for gene
age inference in the last years, please follow my updated
discussion about the gene age inference literature. With GenEra, we addressed
all previously raised issues and we encourage users to run
GenEra
when aiming to infer gene ages for further
myTAI
analyses.
Installation
Users can install myTAI
from CRAN:
# install myTAI 0.9.3 from CRAN
install.packages("myTAI", dependencies = TRUE)
# install the developer version containing the newest features
devtools::install_github("drostlab/myTAI")
myTAI
is using OpenMP
to run cpp code in
parallel, thus you might need to install additional software.
Ensure that the dependencies requirements are met:
Mac
Linux
-
Check if you have an OpenMP-enabled compiler: Open a terminal and run the command
gcc --version
org++ --version
to check if you have the GNU Compiler Collection (GCC) installed. OpenMP support is typically included in GCC.If you don’t have GCC installed, you can install it using your distribution’s package manager. For example, on Ubuntu, you can use sudo apt-get install build-essential to install GCC.
-
Install the libomp library: Open a terminal and run the command appropriate for your package manager:
On Ubuntu or Debian-based systems:
sudo apt-get install libomp-dev
orsudo apt install libomp-dev
On Fedora or CentOS systems:
sudo dnf install libomp-devel
On Arch Linux:
sudo pacman -S libomp
Windows
On Windows, the most common OpenMP implementation is provided by Microsoft Visual C++ (MSVC) compiler, which includes OpenMP support by default. So, if you are using MSVC as your C++ compiler, you should have OpenMP support without any additional installations.
Running myTAI
Quantify transcriptome conservation using TAI
# visualize global Transcriptome Age Index pattern
PlotSignature(ExprExample)
Quantify expression level distributions for each gene age category
# plot expression level distributions for each age (=PS) category
# and each developmental stage
PlotCategoryExpr(ExprExample, "PS") + ggplot2::labs(y = "log2(expression level)")
Quantify mean expression of individual gene age categories
# plot mean expression of each age category seperated by old (PS1-3)
# versus young (PS4-12) genes
PlotMeans(ExprExample, Groups = list(1:3, 4:12))
Quantify relative mean expression of each age category seperated by old versus young genes
# plot relative mean expression of each age category seperated by old (PS1-3)
# versus young (PS4-12) genes
PlotRE(ExprExample, Groups = list(1:3, 4:12))
# plot the significant differences between gene expression distributions
# of old (=group1) versus young (=group2) genes
PlotGroupDiffs(ExpressionSet = ExprExample,
Groups = list(group_1 = 1:3, group_2 = 4:12),
legendName = "PS",
plot.type = "boxplot")
If you successfully ran these myTAI functions, congrats! Please check
out the more detailed tutorials and discussions under the
Articles
tab. For the list of functions, click on the
Reference
tab.
Hope you enjoy your (non-alcoholic) myTAI
!