Discussed intensely in the past years (Capra et al., 2013; Altenhoff et al., 2016; Liebeskind et al., 2016; Domazet-Loso et al., 2017; Futo et al., 2021; Barrera-Redondo et al., 2023; etc.), gene age inference is not a trivial task and might be biased in some currently existing approaches (Liebeskind et al., 2016; Yin et al., 2018; Casola 2018; Weisman et al., 2020; Weisman et al., 2022; etc.).
In particular, Moyers & Zhang argue that genomic phylostratigraphy (a prominent BLAST based gene age inference method)
underestimates gene age for a considerable fraction of genes,
is biased for rapidly evolving proteins which are short, and/or their most conserved block of sites is small, and
these biases create spurious nonuniform distributions of various gene properties among age groups, many of which cannot be predicted a priori (Moyers & Zhang, 2015; Moyers & Zhang, 2016; Liebeskind et al., 2016).
However, these arguments were based on simulated data and were inconclusive due to errors in their analyses. Furthermore, Domazet-Loso et al., 2017 provide convincing evidence that there is no phylostratigraphic bias. As a response, Moyers & Zhang, 2017 published a counter-study stating that a phylostratigraphic trend claimed by Domazet-Loso et al., 2017 to be robust to error disappears when genes likely to be error-resistant are analyzed. Moyers & Zhang, 2017 further suggest a more robust methodology for controlling for the effects of error by first restricting to those genes which can be simulated and then removing those genes which, through simulation, have been shown to be error-prone (see also Moyers & Zhang, 2018).
In general, an objective benchmarking set representing the tree of
life is still missing and therefore any procedure aiming to quantify
gene ages will be biased to some degree. Based on this debate Liebeskind
et al., 2016 suggest inferring gene age by combining several common
orthology inference algorithms to create gene age datasets and then
characterize the error around each age-call on a per-gene and
per-algorithm basis. Using this approach systematic error was found to
be a large factor in estimating gene age, suggesting that simple
consensus algorithms are not enough to give a reliable point estimate
(Liebeskind
et al., 2016). This was also observed by Moyers
& Zhang, 2018) when running alternative tools such as
PSIBLAST
, HMMER
, OMA
, etc.
However, by generating a consensus gene age and quantifying the possible
error in each workflow step, Liebeskind
et al., 2016 provide a very useful database of
consensus gene ages for a variety of genomes.
Alternatively, Smith
& Pease, 2016 argues that de novo gene birth/death and
gene family expansion/contraction studies should avoid drawing direct
inferences of evolutionary relatedness from measures of sequence
similarity alone, and should instead, where possible, use more rigorous
phylogeny-based methods. For this purpose, I recommend researchers to
consult the phylomedb
database to retrieve phylogeny-based gene orthology relationships
and use these age estimates in combination with myTAI
.
Similarly, users can also retrieve gene ages from EggNOG database using orthomap
.
Alternatively, users might find the simulation based removal approach
proposed by Moyers
& Zhang, 2018 more suitable.
Evidently, these advancements in gene age research are very recent and gene age inference is a very young and active field of genomic research. Therefore, many more studies need to address the robust and realistic inference of gene age and a community standard is still missing.
Despite the ongoing debate about how to correctly infer gene age,
users of myTAI
can perform any gene age inference method
they find most appropriate for their biological question and pass this
gene age inference table as input to myTAI
. To do so, users
need to follow the following data format specifications to use their
gene age inference table with myTAI
. However, even when
users rely on established procedures such as phylostratigraphy the gene
age inference bias will be present as ‘systematic error’ in all
developmental stages for which TAI or TDI computations are performed.
Thus, stages of constraint will be detectable in any case.
Since TAI or TDI computations are intended to enable screening for
conserved or constrained stages in developmental or biological processes
for further downstream experimental studies, even simple approaches such
as phylostratigraphy can give first evidence for the existence of
transcriptomic constraints within a biological process. If researchers
then wish to extract the exact candidate genes that might potentially
cause such transcriptome constraints then I would advise to rely on more
superior approaches of gene age inference as discussed here.
In my opinion, what is completely missing in this entire debate is
the bioinformatics/technical aspect of using BLAST or any other
BLAST-like tool for gene age inference. Recently, it was intensely
discussed how BLAST hits are biased by the use of the default argument
max_target_seqs
(Shah
et al., 2018). The main issue of how this
max_target_seqs
is set is that:
According to the BLAST documentation itself (2008), this parameter represents the ‘number of aligned sequences to keep’. This statement is commonly interpreted as meaning that BLAST will return the top N database hits for a sequence query if the value of max_target_seqs is set to N. For example, in a recent article (Wang et al., 2016) the authors explicitly state ‘Setting ’max target seqs’ as ‘1’ only the best match result was considered’. To our surprise, we have recently discovered that this intuition is incorrect. Instead, BLAST returns the first N hits that exceed the specified E-value threshold, which may or may not be the highest scoring N hits. The invocation using the parameter ‘-max_target_seqs 1’ simply returns the first good hit found in the database, not the best hit as one would assume. Worse yet, the output produced depends on the order in which the sequences occur in the database. For the same query, different results will be returned by BLAST when using different versions of the database even if all versions contain the same best hit for this database sequence. Even ordering the database in a different way would cause BLAST to return a different ‘top hit’ when setting the max_target_seqs parameter to 1. - Shah et al., 2018
The solution to this issue seems to be that any BLAST search must be
performed with a significantly high -max_target_seqs
,
e.g. -max_target_seqs 10000
(see https://gist.github.com/sujaikumar/504b3b7024eaf3a04ef5
for details) and best hits must be filtered subsequently. It is not
clear from any of the studies referenced above how the best BLAST hit
was retrieved and which -max_target_seqs
values were used
to perform BLAST searches in the respective study. Thus, the
comparability of the results between studies is impossible and any
individual claim made in these studies might be biased.
In addition, the -max_target_seqs
argument issue seems
not to be the only issue that might influence technical differences in
BLAST hit results. Gonzalez-Pech
et al., 2018 discuss another problem of retrieving the best BLAST
hits based on E-value
thresholds.
Many users assume that BLAST alignment hits with E-values less than or equal to the predefined threshold (e.g. 10-5 via the specification of evalue 1e-5) are identified after the search is completed, in a final step to rank all alignments by E-value, from the smallest (on the top of the list of results) to the largest E-value (at the bottom of the list). However, the E-value filtering step does not occur at the final stage of BLAST; it occurs earlier during the scanning phase (Altschul et al., 1997; Camacho et al., 2009). During this phase, a gapped alignment is generated using less-sensitive heuristic parameters (Camacho et al., 2009); alignments with an E-value that satisfies the defined cut-off are included in the subsequent phase of the BLAST algorithm (and eventually reported). During the final (trace-back) phase, these gapped alignments are further adjusted using moresensitive heuristic parameters (Camacho et al., 2009), and the E-value for each of these refined alignments is then recalculated. - Gonzalez-Pech et al., 2018
This means that if one study mentioned above ran a BLAST search with
a BLAST parameter configuration of lets say
-max_target_seqs 250
(default value in BLAST) and
evalue 10
(default value in BLAST) and then subsequently
selected the best hit which returned the smallest E-value
and another study used the parameter configuration
-max_target_seqs 1
and evalue 0.0001
then the
results of both studies would not be comparable and the proposed gene
age inference bias might simply result from a technical difference in
running BLAST searches.
In more detail, even if one study for example ran BLAST with
evalue 10
(default value in BLAST) and then subsequently
filtered for hits that resulted in evalue < 0.0001
whereas another study ran BLAST directly with
evalue 0.0001
, according to Gonzalez-Pech
et al., 2018 these studies although referring to the same
E-value
threshold for filtering hits will result in
different sets of filtered BLAST hits.
In addition, small and fast-evolving genes are often wrongly
annotated as young genes due to homology detection failure
.
This issue and potential solution in the context of genomic
phylostratigraphy have been discussed by Weisman
et al., 2020.
An alternative explanation for a lineage-specific gene is that nothing particularly special has happened in the gene’s evolutionary history. The gene has homologs outside of the lineage (no de novo origination), and no novel function has emerged (no neofunctionalization), but despite this lack of novelty, computational similarity searches (e.g., BLAST) have failed to detect the out-of-lineage homologs. We refer to such unsuccessful searches as homology detection failure. As homologs diverge in sequence from one another, the statistical significance of their similarity declines. Over evolutionary time, with a constant rate of sequence evolution, the degree of similarity may fall below the chosen significance threshold, resulting in a failure to detect the homolog. - Weisman et al., 2020
Users can run their test, abSENSE
to detect the probability that a homolog of a given gene would fail
to be detected by a homology search. We note that a recently
developed tool GenEra
can automate abSENSE
analysis for every gene in a given
genome and provide an output compatible with myTAI
.
A recently introduced approach is called
synteny-based phylostratigraphy
(Arendsee
et al., 2019). Here, the authors provide a comparative analysis of
genes across evolutionary clades, augmenting standard phylostratigraphy
with a detailed, synteny-based analysis. Whereas standard
phylostratigraphy searches the proteomes of related species for
similarities to focal genes, their fagin
pipeline first
finds syntenic genomic intervals and then searches within these
intervals for any trace of similarity. It searches the
(in silico
translated) amino acid sequence of all
unannotated ORFs as well as all known CDS within the syntenic search
space of the target genomes. If no amino acid similarity is found within
the syntenic search space, their fagin
pipeline will search
for nucleotide similarity. Finding nucleotide sequence similarity, but
not amino acid similarity, is consistent with a de novo
origin of the focal gene. If no similarity of any sort is found, their
fagin
pipeline will use the syntenic data to infer a
possible reason. Thus, they detect indels, scrambled synteny, assembly
issues, and regions of uncertain synteny (Arendsee
et al., 2019).
While BLASTP is considered the gold-standard tool for sequence alignment in many labs, newer approaches (such as DIAMOND v2 and MMSeqs2) have been and are being developed. They retain the sensitivity of BLAST while being thousands to hundred-folds faster. This speed-up is crucial as sequence databases increase in size. This is important for genomic phylostratigraphy and DIAMOND v2 and MMSeqs2 have been employed in various phylostratigraphic and phylotranscriptomic analyses (either explicitly or under-the-hood in tools such as OrthoFinder, which uses DIAMOND by default) (see Domazet-Loso et al., 2022; Ma & Zheng 2023; Manley et al., 2023).
With DIAMOND
, users can overcome the overlooked
technical aspects of BLAST such as the max_target_seqs
issue by setting --max-target-seqs
to 0
(or
simply -k0
). Furthermore, the
--ultra-sensitive
mode can be employed, which is as
sensitive as BLAST while being 80x faster (see Fig
1. in the DIAMOND paper).
GenEra, a
recently developed gene age inference tool, utilises DIAMOND v2 with
appropriate parameter settings by default. Users can also specify the
use of MMSeqs2 as
well as the protein structure aligner Foldseek and other
tools (Barrera-Redondo
et al., 2023). Potential issues such as homology detection
failure can be overcome by providing a pair-wise evolutionary
distance file as an input. Furthermore, users can set thresholds such as
for taxonomic representativeness
to filter evolutionarily
inconsistent matches to the database, i.e. matches stemming from
database contamination or horizontal gene transfer.
The first studies in gene age inference used the framework of genomic
phylostratigraphy, where each gene of the focal species is compared
against a sequence database to find the most distantly related homologue
(Domazet-Loso
et al., 2007). Some more recent studies have instead inferred gene
age using the node in the phylogeny that contains all members of an
orthogroup
.
An orthogroup is a group of genes descended from a single gene in
the last common ancestor of a clade of species. This framework has
been very useful for phylogenetic inference and comparative
transcriptomics. Since an orthogroup is a subset of all sequence
homologues in the given dataset, a gene can hit genes outside of its
orthogroup (using the same parameters on a pairwise sequence aligner).
OrthoFinder (a
tool for phylogenetic orthology inference for comparative genomics) is
commonly used in orthogroup-based gene age inference. The
result of OrthoFinder includes the files Orthogroups.tsv
(now depreciated)
and Phylogenetic_Hierarchical_Orthogroups/N0.tsv
, which
have been used for orthogroup-based TAI studies (e.g. Ma &
Zheng 2023; Nishimiya-Fujisawa
et al., 2023). Incorporating these results into myTAI
can be done using orthomap
(see documentation).
Methodologically, it should be stressed that while
Orthogroups.tsv
and
Phylogenetic_Hierarchical_Orthogroups/N0.tsv
contain
orthogroups with more than one member (i.e. orthogroups with at least
one orthologue or paralogue), users should be aware that these output
files of OrthoFinder do not include singletons, which is a signature of
a novel or species-specific gene. To incorporate singletons, users
should include the genes in Orthogroups_UnassignedGenes.tsv
output or, alternatively, singletons in the Orthogroups.txt
file, and assign the singletons to the species-specific phylostrata in
the study.
The orthogroup-based approach seems to be motivated by an
assumption that the more restricted set of genes that consists of
orthologues and in-paralogues (paralogues that arose after the species
split) tends to have more similar attributes (e.g. conservation in
function and/or expression pattern) than the larger set of genes that
contains all sequence homologues. It follows that this framework should
better reflect the ‘gene age’. This assumption draws parallels to the
orthologue conjecture
(i.e. orthologues tend to have more
conserved attributes than paralogues), which is heavily debated (Gabaldon &
Koonin 2013; Dunn et al.,
2018; Stamboulian et al.,
2020; etc.). In several cases, orthologues do not have more
conserved attributes than paralogues. Indeed, ‘shifts’ or
‘substitutions’ in the expression profile of paralogues that arose
before the species split are observed in single-cell studies (Tarashansky et al.,
2021; Shafer et al.,
2022). Overall, it remains unclear whether inferring gene age using
the orthogroup-based approach better captures evolutionary
information than the classic genomic phylostratigraphy approach
(all/unrestricted sequence homologues), given that several issues
pertaining to genomic phylostratigraphy have been addressed (see Barrera-Redondo
et al., 2023).
Hence, all of the above mentioned approaches are far from being perfect and much more research is needed to systematically compare different approaches for gene age inference.
The overall rational behind gene age inference is to assign each protein coding gene of an organism of interest with an evolutionary age estimate which aims to quantify its potential origin within the tree of life (detectable sequence homologue; orphan gene - see Tautz & Domazet-Loso, 2011). Hence, gene age inference generates a table storing the gene age in the first column and the corresponding gene id of the organism of interest in the second column. This table is named phylostratigraphic map (or phylomap).