#+begin_src emacs-lisp :exports results :results value raw
(setq caption "#+caption[Different types of duplication]: Different types of duplication. (A) Whole genome duplication. (B) An unequal crossing-over leads to a duplication of a fragment of a chromosome. (C) In tandem duplication, two (set of) genes are duplicated one after the other. (D) Retrotransposon enables retroduplication: a RNA transcript is reverse transcribed and inserted back without introns and with a polyA tail in the genome. (E) A DNA transposon can acquire a fragment of a gene. (F) Segmental duplication corresponds to long stretches of duplicated sequences with high identity. Adapted from [cite:@lallemandOverviewDuplicatedGene2020] (fig. 1).
A striking example is probably the /Triticum/ genus (wheat) in which some species (such as /T. aestivum/) are hexaploid, due to hybridisation events [cite:@golovninaMolecularPhylogenyGenus2007a].
A crossing-over may occur during cell division. Two chromatids may exchange a fragment of chromosome. If the cleavage of the two chromatids occurs at different positions, the shared fragments may have different lengths. Homologous recombination of such uneven crossover results in the incorporation of a duplicate region, as represented in cref:fig:gene-duplication-mechanisms (B, C).
This mechanism leads to the duplication of the whole set of genes present in the inserted fragment. These duplicate genes locate one set after the other, and are thus called gls:TAG.
*** Retroduplication
Retrotransposons, or RNA transposons are one type of transposable elements. Retrotransposons share similar structure and mechanism with retroviruses.
They may replicate in the genome through a mechanism known as "copy-and-paste".
These transposons typically contain a reverse transcriptase gene. This enzyme may proceed in the reverse transcription of an mRNA transcript into DNA sequence which can then be inserted elsewhere in the genome.
More generally, retroduplication refers to the duplication of a region of a chromosome through reverse transcription of a RNA transcript. In this case the duplicate gene lost its intronic sequences and brings a polyA tail with it ( cref:fig:gene-duplication-mechanisms (D)).
A typical DNA transposon contains a transposase gene. This enzyme recognize two sites surrounding the donnor transposon sequence in the chromosome resulting in a DNA cleavage and excision of the transposon. The transposase can then insert the transposon in a new genome locus. A transposon can bring a fragment of a gene during its transposition in the other locus ( cref:fig:gene-duplication-mechanisms (E)).
Segment duplications, also called low copy repeats are long stretches of DNA with high identity score ( [[cref:fig:gene-duplication-mechanisms]] (E)). Their exact duplication mechanisms remains unclear [cite:@lallemandOverviewDuplicatedGene2020], they may results from an accidental replication, distinct from an uneven cross-over or a double stranded breakage.
Nevertheless, transposable elements may well be involved as a high enrichment of transposable elements has been found at segment extremities, in /Drosophila/ [cite:@lallemandOverviewDuplicatedGene2020].
** Fate of duplicate genes in genome evolution
In his book /Evolution by Gene Duplication/, Susumu [[latex:textsc][Ohno]] proposed that gene duplication plays a major role in species evolution [cite:@ohnoEvolutionGeneDuplication1970], as it provides a new genetic material to build on new phenotypes while keeping a backup gene for the previous function.
Duplicate genes may be inactivated becoming pseudogenes, be deleted or conserved.
*** Pseudogenisation
Duplicate genes may be inactivated and become pseudogenes. These pseudogenes keep a gene-like structure, which degrades as and when further genome modifications occur, but are no longer expressed.
*** Neofunctionalisation
Duplicate genes may be conserved and gain a new function.
For instance, in /Drosophila/, the set of olfactory receptor genes result from several duplication and deletion events [cite:@nozawaEvolutionaryDynamicsOlfactory2007], after which the duplicate may specialize in the detection of a particular chemical compound.
*** Subfunctionalisation
Two duplicate genes with the same original function may encounter a subfunctionalisation during which each gene conserves only one part of the function.
[[latex:textsc][Lallemand]] et al. review the different methods used to detect duplicate genes. These methods depend on the type of duplicate genes they target, and vary on computation burden [cite:@lallemandOverviewDuplicatedGene2020].
*** Paralog detection
Paralogs are homologous genes derived from a duplication event. They can be identified as homologous genes located in the same genome, or as homologous genes between different species once we filtered out orthologous genes (homologous genes derived from a speciation event).
Two gene characteristics can be used to assess to assess homology between two genes: gene structure of sequence similarity.
The sequence similarity can be tested with a sequence alignment tool, such as =BLAST= [cite:@altschulBasicLocalAlignment1990], =Psi-BLAST=, and =HMMER3= [cite:@johnsonHiddenMarkovModel2010], or =diamond= [cite:@buchfinkSensitiveProteinAlignments2021], which are heuristic algorithm, which means they may not provide the best results, but do so way faster than exact algorithms, such as the classical Smith and Waterman algorithm [cite:@smithIdentificationCommonMolecular1981] or its optimized versions =PARALIGN= or =SWIMM=.
Developed in the LaMME laboratory, the gls:FTAGfinder pipeline targets the detection of gene Families and Tandemly Arrayed Genes from a given species' proteome [cite:@bouillonFTAGFinderOutil2016].
The pipeline proceeds in three steps. First, it estimates the homology links between each pair of genes; then, it deduce the gene families and finally, it detects gls:TAG.
This step consists in establishing a relation between each genes in the proteome.
In this step, the typical tool involved is =BLAST= (Basic Local Alignment Search Tool) [cite:@altschulBasicLocalAlignment1990] run "all against all" on the proteome.
Several =BLAST= metrics can be used as homology measures, such as bitscore, identity percentage, E-value or variations of these. The choice of metrics can affect the results of graph clustering in the following step, and should therefore be chosen carefully [cite:@gibbonsEvaluationBLASTbasedEdgeweighting2015].
Based on the homology links between each pair of genes, we construct a undirected weighted graph whose vertices correspond to genes and edges to homology links between them.
We apply a graph clustering algorithm on the graph in order to infer the gene families.
FTAG Finder proposes three clustering algorithm alternatives: single linkage, Markov Clustering [cite:@vandongenNewClusterAlgorithm1998] or Walktrap [cite:@ponsComputingCommunitiesLarge2005].
For a given chromosome, the tool seeks genes belonging to the same family and located close to each other. The tool allows a maximal number of genes between the homologous genes, with a parameter set by the user.
* Objectives for the internship
** Scientific questions
The underlying question of FTAG Finder is the study of the evolutionary fate of duplicate genes in Eukaryotes.
** Extend the existing FTAG Finder Galaxy pipeline
Galaxy is a web-based platform for running accessible data analysis pipelines, first designed for use in genomic data analysis [cite:@goecksGalaxyComprehensiveApproach2010].
Last year, Séanna [[latex:textsc][Charles]] worked on the Galaxy version of the FTAG Finder pipeline during her M1 internship [cite:@charlesFinalisationPipelineFTAG2023]. I will continue this work.
The two main options are Snakemake and Nextflow. Snakemake is a python powered workflow manager based on rules /à la/ GNU Make [cite:@kosterSnakemakeScalableBioinformatics2012]. Nextflow, is a groovy powered workflow manager, which rely on data flows [cite:@ditommasoNextflowEnablesReproducible2017]. Both are widely used in the bioinformatics community, and their use have been on the rise since they came out in 2012 and 2013 respectively [cite:@djaffardjyDevelopingReusingBioinformatics2023].
MCL uses two operations on a stochastic matrix representation $M$ of the graph first derived from the adjacency matrix, namely /expansion/ and /inflation/. Expansion consists in elevating the matrix to a power $r$, and subsequently scaling its columns so that they sum to 1 again. The image of the inflation operator $\Gamma_r$ is defined as
where $m$ is number of rows in the matrix, and $M_{pq}$ is the value in the $p, q$ cell of the matrix $M$.
This operator strengthens the edges with higher weights and tend to anihilate edges with lower flow.
The application of both operator iteratively eventually ends up in a partition of the initial graph's edges into clusters of closely connected nodes (corresponding, in our case to gene families).