Today, phenotypic 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 being 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 transcriptomics studies are based on a powerful methodology little is known about the evolution of 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. This quantification on the highest level is achieved through transcriptome indices (Domazet-Lošo and Tautz, 2010; Drost et al., 2016a) which denote weighted means of gene age or rate of protein substitutions. In general, evolutionary transcriptomics can be used as a method to quantify the evolutionary conservation of transcriptomes to investigate how transcriptomes underlying biological processes are constrained or channeled due to evolutionary history (Dollow's law) (Drost et al., 2017).
In principle, any transcriptome dataset published so far can be combined with evolutionary information. Thus, myTAI
in combination with evolutionary information can be used to study corresponding transcriptomes with any available transcriptome dataset.
For the purpose of performing large scale evolutionary transcriptomics studies, the myTAI
package implements frameworks to allow researchers to study the evolution of biological processes and to detect stages or periods of evolutionary conservation or variability.
I hope that myTAI
will become the community standard tool to perform evolutionary transcriptomics studies and I am happy to add required functionality upon request.
The following tutorials will provide use cases and detailed explainations of how to quantify transcriptome onservation with myTAI
and how to interpret the results generated with this software tool.
Please cite the following paper when using myTAI
for your own research. This will allow me to continue working on this software tool and will motivate me to extend its functionality and usability in the next years. Many thanks in advance :)
Drost HG, Gabel A, Jiu J, Quint M, Grosse I. myTAI: Evolutionary Transcriptomics with R . Bioinformatics (2017) doi:10.1093
Users can download myTAI
from CRAN :
# install myTAI 0.6.0 from CRAN
source("http://bioconductor.org/biocLite.R")
biocLite('myTAI')
Some bug fixes or new functionality will not be available on CRAN yet, but in
the developer version here on GitHub. To download and install the most recent
version of myTAI
run:
# install the developer version of myTAI on your system
source("http://bioconductor.org/biocLite.R")
biocLite("HajkD/myTAI")
The current status of the package as well as a detailed history of the
functionality of each version of myTAI
can be found in the NEWS section.
These tutorials introduce users to myTAI
:
# to perform differential gene expression analyses with myTAI
# please install the edgeR package
# install edgeR
source("http://bioconductor.org/biocLite.R")
biocLite("edgeR")
myTAI
Users can also read the tutorials within (RStudio) :
# source the myTAI package
library(myTAI)
# look for all tutorials (vignettes) available in the myTAI package
# this will open your web browser
browseVignettes("myTAI")
# or as single tutorials
# open tutorial: Introduction to Phylotranscriptomics and myTAI
vignette("Introduction", package = "myTAI")
# open tutorial: Intermediate Concepts of Phylotranscriptomics
vignette("Intermediate", package = "myTAI")
# open tutorial: Advanced Concepts of Phylotranscriptomics
vignette("Advanced", package = "myTAI")
# open tutorial: Age Enrichment Analyses
vignette("Enrichment", package = "myTAI")
# open tutorial: Gene Expression Analysis with myTAI
vignette("Expression", package = "myTAI")
# open tutorial: Taxonomic Information Retrieval with myTAI
vignette("Taxonomy", package = "myTAI")
In the myTAI
framework users can find:
TAI()
: Function to compute the Transcriptome Age Index (TAI)TDI()
: Function to compute the Transcriptome Divergence Index (TDI)TPI()
: Function to compute the Transcriptome Polymorphism Index (TPI)REMatrix()
: Function to compute the relative expression profiles of all phylostrata or divergence-strataRE()
: Function to transform mean expression levels to relative expression levelspTAI()
: Compute the Phylostratum Contribution to the global TAIpTDI()
: Compute the Divergence Stratum Contribution to the global TDIpMatrix()
: Compute Partial TAI or TDI ValuespStrata()
: Compute Partial Strata ValuesPlotSignature()
: Main visualization function to plot evolutionary signatures across transcriptomesPlotPattern()
: Base graphics function to plot evolutionary signatures across transcriptomesPlotContribution()
: Plot Cumuative Transcriptome IndexPlotCorrelation()
: Function to plot the correlation between phylostratum values and divergence-stratum valuesPlotRE()
: Function to plot the relative expression profilesPlotBarRE()
: Function to plot the mean relative expression levels of phylostratum or divergence-stratum classes as barplotPlotMeans()
: Function to plot the mean expression profiles of age categoriesPlotMedians()
: Function to plot the median expression profiles of age categoriesPlotVars()
: Function to plot the expression variance profiles of age categoriesPlotDistribution()
: Function to plot the frequency distribution of genes within the corresponding age categoriesPlotCategoryExpr()
: Plot the Expression Levels of each Age or Divergence Category as Barplot or ViolinplotPlotEnrichment()
: Plot the Phylostratum or Divergence Stratum Enrichment of a given Gene SetPlotGeneSet()
: Plot the Expression Profiles of a Gene SetPlotGroupDiffs()
: Plot the significant differences between gene expression distributions of PS or DS groupsPlotSelectedAgeDistr()
: Plot the PS or DS distribution of a selected set of genesFlatLineTest()
: Function to perform the Flat Line Test that quantifies the statistical significance of an observed
phylotranscriptomics pattern (significant deviation from a frat line = evolutionary signal)ReductiveHourglassTest()
: Function to perform the Reductive Hourglass Test that statistically evaluates the existence of a phylotranscriptomic hourglass pattern (hourglass model)EarlyConservationTest()
: Function to perform the Reductive Early Conservation Test that statistically evaluates the existence of a monotonically increasing phylotranscriptomic pattern (early conservation model)EnrichmentTest()
: Phylostratum or Divergence Stratum Enrichment of a given Gene Set based on Fisher's TestbootMatrix()
: Compute a Permutation Matrix for Test StatisticsAll functions also include visual analytics tools to quantify the goodness of test statistics.
DiffGenes()
: Implements Popular Methods for Differential Gene Expression AnalysisCollapseReplicates()
: Combine Replicates in an ExpressionSetCombinatorialSignificance()
: Compute the Statistical Significance of Each Replicate CombinationExpressed()
: Filter Expression Levels in Gene Expression Matrices (define expressed genes)SelectGeneSet()
: Select a Subset of Genes in an ExpressionSetPlotReplicateQuality()
: Plot the Quality of Biological ReplicatesGroupDiffs()
: Quantify the significant differences between gene expression distributions of PS or DS groupstaxonomy()
: Retrieve Taxonomic Information for any Organism of InterestMatchMap()
: Match a Phylostratigraphic Map or Divergence Map with a ExpressionMatrixtf()
: Transform Gene Expression Levelsage.apply()
: Age Category Specific apply FunctionecScore()
: Compute the Hourglass Score for the EarlyConservationTestgeom.mean()
: Geometric Meanharm.mean()
: Harmonic MeanomitMatrix()
: Compute TAI or TDI Profiles Omitting a Given GenerhScore()
: Compute the Hourglass Score for the Reductive Hourglass TestmyTAI
The developer version of myTAI
might include more functionality than the stable version on CRAN.
Hence users can download the current developer version of myTAI
by typing:
# The developer version can be installed directly from github:
# install.packages("devtools")
# install developer version of myTAI
library(devtools)
install_github("HajkD/myTAI", build_vignettes = TRUE, dependencies = TRUE)
# On Windows, this won't work - see ?build_github_devtools
# install_github("HajkD/myTAI", build_vignettes = TRUE, dependencies = TRUE)
# When working with Windows, first you need to install the
# R package: rtools
# or consult: http://www.rstudio.com/products/rpackages/devtools/
# Afterwards you can install devtools -> install.packages("devtools")
# and then you can run:
devtools::install_github("HajkD/myTAI", build_vignettes = TRUE, dependencies = TRUE)
# and then call it from the library
library("myTAI", lib.loc = "C:/Program Files/R/R-3.1.1/library")
Domazet-Lošo T. and Tautz D. A phylogenetically based transcriptome age index mirrors ontogenetic divergence patterns. Nature (2010) 468: 815-8.
Quint M, Drost HG, et al. A transcriptomic hourglass in plant embryogenesis. Nature (2012) 490: 98-101.
Drost HG, Gabel A, Grosse I, Quint M. Evidence for Active Maintenance of Phylotranscriptomic Hourglass Patterns in Animal and Plant Embryogenesis. Mol. Biol. Evol. (2015) 32 (5): 1221-1231.
Drost HG, Bellstädt J, Ó'Maoiléidigh DS, Silva AT, Gabel A, Weinholdt C, Ryan PT, Dekkers BJW, Bentsink L, Hilhorst H, Ligterink W, Wellmer F, Grosse I, and Quint M. Post-embryonic hourglass patterns mark ontogenetic transitions in plant development. Mol. Biol. Evol. (2016) doi:10.1093/molbev/msw039
I would be very happy to learn more about potential improvements of the concepts and functions provided in this package.
Furthermore, in case you find some bugs or need additional (more flexible) functionality of parts of this package, please let me know:
https://github.com/HajkD/myTAI/issues
I would like to thank several individuals for making this project possible.
First I would like to thank Ivo Grosse and Marcel Quint for providing me a place and the environment to be able to work on fascinating topics of Evo-Devo research and for the fruitful discussions that led to projects like this one.
Furthermore, I would like to thank Alexander Gabel and Jan Grau for valuable discussions on how to improve some methodological concepts of some analyses present in this package.
I would also like to thank Master Students: Sarah Scharfenberg, Anne Hoffmann, and Sebastian Wussow who worked intensively with this package and helped me to improve the usability and logic of the package environment.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.