silico.biotoul.fr
 

Atelier Phylogénomique OrthoFinder

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Vue d'ensemble)
m (Vue d'ensemble)
Line 165: Line 165:
Quel type de lien entre souches ces données peuvent-elles vous suggérer?
Quel type de lien entre souches ces données peuvent-elles vous suggérer?
</pre>
</pre>
 +
==OrthoFinder2==
 +
Le programme ''OrthoFinder2'' fournit une inférence phylogénétique des orthologues, des arbres génétiques enracinés, des événements de duplication de gènes, un arbre des espèces enraciné et des statistiques de génomique comparative.
 +
([https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1832-y Emms and Kelly, 2019]). Il repose sur les étapes suivantes :
 +
# Inférence d'orthogroupes à l'aide de l'algorithme original ''OrthoFinder''.
 +
# Inférence des arbres gènes.
 +
# Inférence de l'arbre des espèces.
 +
# Inférence des orthologues et des événements de duplication de gènes.

Revision as of 12:37, 13 October 2021

Contents

Liens

Paramètres

Nous allons utiliser le programme OrthoFinder avec les paramètres par défaut (config.json].

  • diamond: sequence search program
  • DendroBLAST: gene tree inference

Mais vous pouvez utiliser n'importe quel programme d'alignement, de reconstruction d'arbre ou de comparaison de séquences que vous préférez. Pour utiliser un autre programme, il suffit de modifier le fichier de configuration appelé config.json dans le répertoire orthofinder. Le mieux est de créer un fichier au même format appelé config_orthofinder_user.json dans votre répertoire utilisateur.

/usr/local/bioinfo/src/OrthoFinder/OrthoFinder-2.5.2/config.json

Mise en œuvre

Nous utilisons le script donné en exemple dans /usr/local/bioinfo/src/OrthoFinder/example_on_cluster comme modèle.

Créer un répertoire ~/work/OrthoFinder et copier le script test_OrthoFinder-2.5.2.sh dans ce répertoire.

cp /usr/local/bioinfo/src/OrthoFinder/example_on_cluster/test_OrthoFinder-2.5.2.sh prochlo_OrthoFinder-2.5.2.sh

Créer un sous-répertoire Prochlorococcus et copier les fichiers peptides issues de Prokka dans ce repertoire.

cp ~/work/Prochlorococcus/peptide/*.faa Prochlorococcus/.

Le script copié est édité pour changer le repertoire de travail.

sbatch prochlo_OrthoFinder-2.5.2.sh

squeue -l -u <fleure>

Par défaut, OrthoFinder crée un répertoire OrthoFinder dans le répertoire du protéome d'entrée (Prochlorococcus) et y place les résultats.

Fichiers de sorties

ll ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*

OrthoFinder produit un ensemble de fichiers décrivant

  • les orthogroupes,
  • les orthologues,
  • les arbres gènes,
  • les arbres gènes avec les évènements de duplications/délétions,
  • l'arbre des espèces enracinées,
  • les événements de duplication de gènes,
  • les statistiques de génomiques comparatives pour toutes les espèces analysées.

Remarque: les fichiers .tsv d'OrthoFinder peuvent être visualisés dans un tableur comme Excel ou LibreOffice Calc.

Résultats préliminaires

Les résultats de cette première étape sont basés sur les premières versions d'OrthoFinder (Emms and Kelly, 2015).

OrthoFinder est un algorithme qui infère les orthogroupes entre plusieurs espèces. La méthode ne nécessite pas d'informations sur la synténie et peut donc être utilisée avec des séquences de protéines prédites 1) à partir d'ensembles de données sur le génome ou 2) le transcriptome. Un orthogroupe est l'ensemble des gènes dérivés d'un seul gène dans le dernier ancêtre commun de toutes les espèces considérées. C'est l'approche utilisée par OrthoMCL.

Les étapes :

  1. Alignement de tous les gènes contre tous les gènes (BLAST).
  2. Normalisation de la longueur des gènes et de la distance phylogénétique des scores binaires de BLAST pour obtenir les scores à utiliser pour l'inférence des orthogroupes.
  3. Sélection de paires de gènes apparentés putatifs à partir des scores BLAST normalisés.
  4. Construction d'un graphe d'orthogroupe, les gènes sont des nœuds dans le graphe et les paires de gènes sont reliées par une arête dont le poids est donné par le score binaire normalisé.
  5. Regroupement des gènes en orthogroupes discrets à l'aide de MCL.

Les résultats de cette première étape sont sauvegardées dans le répertoire Orthogroups.

Un critère pour évaluer la qualité des groupes de gènes orthologues est de calculer le nombre de paralogues par OG. Cette information peut être calculée à partir du fichier Orthogroups.txt'.

Taux de paralogie (avec awk mais en vous inspirant du TP5 de M1):

cat ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*/Orthogroups/Orthogroups.txt | awk '{
  j=0;
  SUM = NF-1;
  for (i=2; i<=NF; i++) {
    str=substr($i,1,4);
    strlist[str]++;
    j++;
  }
  if ( j > 12 ) {
    nb=0;
    for (str in strlist ) {nb++}
    par=SUM-nb
    freq=par/SUM
    printf("%s\t%i\t%i\t%i\t%5.3f", $1, SUM, nb, par, freq)
    for (str in strlist ) {
      printf("\t%s:%s", str, strlist[str]);
    }
    printf("\n")
  }
  delete strlist;
}'
Question 1:
Commentez les résultats obtenus.

Vue d'ensemble

Nous avons u résumé de l'analyse réalisée dans le fichier Statistics_Overall.tsv.

cat ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*/Comparative_Genomics_Statistics/Statistics_Overall.tsv

La plupart des termes figurant dans les fichiers 'Statistics_Overall.csv' et 'Statistics_PerSpecies.csv' sont explicites, les autres sont définis ci-dessous.

  • Species-specific orthogroup : Un orthogroupe entièrement constitué de gènes d'une seule espèce.
  • G50 : Le nombre de gènes dans l'orthogroupe tel que 50% des gènes sont dans des orthogroupes de cette taille ou plus.
  • O50 : Le plus petit nombre d'orthogroupes tel que 50% des gènes sont dans des orthogroupes de cette taille ou plus.
  • Single-copy orthogroup : Un orthogroupe comportant exactement un gène (et pas plus) de chaque espèce. Ces orthogroupes sont idéaux pour inférer un arbre des espèces et de nombreuses autres analyses.
  • Unassigned gene : Un gène qui n'a pas été placé dans un orthogroupe avec d'autres gènes.

La première chose à vérifier est de savoir combien de gènes ont été assignés à des orthogroupes. En général, il est bon de voir au moins 80% des gènes assignés à des orthogroupes.

Question 2:
Quelles remarques pouvez vous faire sur le lien entre la taille des génomes et les différentes statistiques sur les orthologues?

Nous pouvons également obtenir les statistiques pour chaque souche.

cat ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*/Comparative_Genomics_Statistics/Statistics_PerSpecies.tsv

Liste des OG ayant le plus grand nombre de duplications :

sort -n -k 2 ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*/Comparative_Genomics_Statistics/Duplications_per_Orthogroup.tsv

Distribution du nombre de duplications par OG :

cat ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*/Comparative_Genomics_Statistics/Duplications_per_Orthogroup.tsv | awk '
BEGIN{ bin_width=1; nb=0 }
{
   if ( $1 ~ /OG/ ) { 
      bin=int($2/bin_width );
      if(bin in hist){hist[bin]+=1} else {hist[bin]=1}
      nb=nb+1;
   }
}
END{
    for (h in hist )
        printf " * > %2.2f  ->  %i %f\n", h*bin_width, hist[h], hist[h]/nb
}' | sort -n -k 3
Question 4:
Comparez les taux de paralogies observés avec le nombre de duplications estimées par OG.

Le fichier Orthogroups_SpeciesOverlaps.tsv est un fichier texte séparé par des tabulations qui contient le nombre d'orthogroupes partagés entre chaque paire d'espèces sous forme de matrice carrée.

srun --pty bash # si nécessaire!

mkdir ~/work/OrthoFinder/images
cd ~/work/OrthoFinder/Prochlorococcus/OrthoFinder/Results_*/Comparative_Genomics_Statistics

module load system/R-4.1.1_gcc-9.3.0
R
pdf_file <- '~/work/OrthoFinder/images/Orthogroups_SpeciesOverlaps.pdf'
Orthogroups_SpeciesOverlaps <- 'Orthogroups_SpeciesOverlaps.tsv'
 
data <- read.delim(file=Orthogroups_SpeciesOverlaps, sep="\t", header=TRUE, row.names=1)

pdf(file=pdf_file, paper="a4r")
heatmap(t(as.matrix(data)), scale='none', xlab="Strains", labCol=NA)
dev.off()
cat(pdf_file, "\n")
Question 5:
Quel type de lien entre souches ces données peuvent-elles vous suggérer?

OrthoFinder2

Le programme OrthoFinder2 fournit une inférence phylogénétique des orthologues, des arbres génétiques enracinés, des événements de duplication de gènes, un arbre des espèces enraciné et des statistiques de génomique comparative. (Emms and Kelly, 2019). Il repose sur les étapes suivantes :

  1. Inférence d'orthogroupes à l'aide de l'algorithme original OrthoFinder.
  2. Inférence des arbres gènes.
  3. Inférence de l'arbre des espèces.
  4. Inférence des orthologues et des événements de duplication de gènes.