Atelier Phylogénomique Analyses phylogénomiques
From silico.biotoul.fr
m (→Comparaison des résultats de PanOCT avec PorthoMCL) |
m (→Comparaison des résultats de PanOCT avec et sans les génomes de Synechococcus) |
||
Line 357: | Line 357: | ||
MSK | MSK | ||
+ | <!-- | ||
<syntaxhighlight lang="awk"> | <syntaxhighlight lang="awk"> | ||
awk ' | awk ' | ||
Line 403: | Line 404: | ||
}' ~/work/ProchlorococcusSynechococcus//panoct/results/matchtable.txt > ~/work/ProchlorococcusSynechococcus/PSpairs.txt | }' ~/work/ProchlorococcusSynechococcus//panoct/results/matchtable.txt > ~/work/ProchlorococcusSynechococcus/PSpairs.txt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | --> | ||
La comparaison peut être réalisée graphiquement avec un digramme de Venn. | La comparaison peut être réalisée graphiquement avec un digramme de Venn. | ||
MSK | MSK | ||
+ | <!-- | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
+ | srun --pty bash | ||
+ | module load system/R-3.5.1 | ||
+ | R | ||
library('gplots') | library('gplots') | ||
- | + | setwd('~/work/ProchlorococcusSynechococcus') | |
- | Ppairs <- read.table(' | + | pdf_file <- 'ProchlorococcusSynechococcus_Venn.pdf' |
- | PSpairs <- read.table(' | + | Ppairs <- read.table('Ppairs.txt') |
+ | PSpairs <- read.table('PSpairs.txt') | ||
input <- list(P=Ppairs, PS=PSpairs) | input <- list(P=Ppairs, PS=PSpairs) | ||
+ | |||
+ | pdf(file=pdf_file, paper="a4r") | ||
venn(input) | venn(input) | ||
+ | dev.off() | ||
a<-venn(input, show.plot=FALSE) | a<-venn(input, show.plot=FALSE) | ||
Line 420: | Line 430: | ||
intersections$PS | intersections$PS | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | --> | ||
+ | *[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/Figures/ProchlorococcusSynechococcus_Venn.pdf ProchlorococcusSynechococcus_Venn.pdf] | ||
====Comparaison des résultats de PanOCT avec PorthoMCL==== | ====Comparaison des résultats de PanOCT avec PorthoMCL==== |
Revision as of 13:29, 15 October 2021
Contents
|
Liens
Analyses phylogénomiques
Comme dans Kettler et al., 2007, nous allons utiliser quatre génomes de Synechococcus comme groupe externe dans nos analyses.
Suivre Analyses phylogénomiques
Mise à jour des scripts!
cp /home/formation/public_html/M2_Phylogenomique/scripts/* ~/work/scripts
Synechococcus
Génomes et annotations
- accession "CP000435, CP000097, BX548020, CP000110"
Les fichiers GenBank peuvent être obtenus avec la commande wget en utilisant les chemins enregistrés dans le fichier: accession_file.lst
Comme précédemment, les génomes sont renommés en utilisant un code à quatre lettres.
Les fichiers GenBank renommés sont disponibles dans le répertoire: GenBank
Les séquences ADN ont été extraites des fichiers GenBank : DNA
Fichier avec les informations sur les souches: species_strain_names.txt
mkdir -p ~/work/Synechococcus/prokka cd ~/work/Synechococcus ~/work/scripts/prokka_loop.pl --sample Synechococcus squeue -l -u $USER
Une fois les jobs terminés, vérifiez que les fichiers de sorties de prokka existent et ne sont pas vides.
ls -l ~/work/Synechococcus/prokka/Aaa*/*.faa
Synechococcus blastp All-All
Nous allons reproduire le même enchaînement de scipts utilisés avec Prochlorococcus (Atelier_Phylogénomique#Pr.C3.A9liminaires) en prenant soin de remplacer Prochlorococcus par Synechococcus dans les noms des répertoires.
Copiez les fichier *.faa de prokka dans ~/work/Synechococcus/peptide/
MSK
Créer la blast database.
MSK
sarray -J mkdb -o %j.out -e %j.err -t 01:00:00 --cpus-per-task=1 makeblastdb.sh squeue -l -u $USER
Boucle sur les genomes de Synechococcus.
MSK
sarray -J mkdb -o %j.out -e %j.err -t 01:00:00 --cpus-per-task=1 blast_allall.sh squeue -l -u $USER
squeue -l -u $USER ls BlastP | wc -l
Prochlorococcus versus Synechococcus
Liens symboliques sur les fichiers peptides
mkdir -p ~/work/ProchlorococcusSynechococcus/peptide ln -s ~/work/Prochlorococcus/peptide/*.faa* ~/work/ProchlorococcusSynechococcus/peptide/. ln -s ~/work/Synechococcus/peptide/*.faa* ~/work/ProchlorococcusSynechococcus/peptide/. ls -l ~/work/ProchlorococcusSynechococcus/peptide/.
Liens symboliques sur les fichiers blastp
mkdir -p ~/work/ProchlorococcusSynechococcus/BlastP ln -s ~/work/Prochlorococcus/BlastP/*.tab ~/work/ProchlorococcusSynechococcus/BlastP/. ln -s ~/work/Synechococcus/BlastP/*.tab ~/work/ProchlorococcusSynechococcus/BlastP/. ls -l ~/work/ProchlorococcusSynechococcus/BlastP/.
Compléter les paires de comparaisons
MSK
evalue=1e-5 dbsize=100000000 for i in ~/work/Synechococcus/peptide/*.faa; do ip=$(basename $i .faa) for j in ~/work/Prochlorococcus/peptide/*.faa; do jp=$(basename $j .faa) outfile="~/work/ProchlorococcusSynechococcus/BlastP/"$ip"_"$jp".tab" echo "module load bioinfo/ncbi-blast-2.7.1+; blastp -query $i -db $j -seg yes -dbsize $dbsize -evalue $evalue -outfmt 6 -num_threads 1 -out $outfile;" outfile="~/work/ProchlorococcusSynechococcus/BlastP/"$jp"_"$ip".tab" echo "module load bioinfo/ncbi-blast-2.7.1+; blastp -query $j -db $i -seg yes -dbsize $dbsize -evalue $evalue -outfmt 6 -num_threads 1 -out $outfile;" done done > blast_allall.sh cat blast_allall.sh
sarray -J mkdb -o %j.out -e %j.err -t 01:00:00 --cpus-per-task=1 blast_allall.sh squeue -l -u $USER
Vérifiez que vous avez bien le nombre de fichiers attendus!
Groupes de gènes orthologues avec PanOCT
Préparation des fichiers combined
srun --pty bash mkdir -p ~/work/Synechococcus/panoct/results mkdir -p ~/work/ProchlorococcusSynechococcus/panoct/results
combined.att Créer un fichier avec les coordonnées, noms, fonction et souches des gènes.
cd ~/work/Synechococcus for file in peptide/*.faa do prefix=$(basename $file .faa) echo "~/work/scripts/prokkagff2panoct.pl --gffdir prokka/$prefix --output prokka/$prefix/$prefix.tab" ~/work/scripts/prokkagff2panoct.pl --gffdir prokka/$prefix --output panoct/results/$prefix.tab done squeue -l -u <user> ls panoct/results/*.tab
cat ~/work/Prochlorococcus/panoct/results/*.tab ~/work/Synechococcus/panoct/results/*.tab> ~/work/ProchlorococcusSynechococcus/panoct/results/combined.att head ~/work/ProchlorococcusSynechococcus/panoct/results/combined.att
genomes.list Liste des souches à analyser.
cd ~/work/ProchlorococcusSynechococcus/ for i in peptide/*.faa do echo $(basename $i .faa) done > panoct/results/genomes.list more panoct/results/genomes.list
combined.fasta Concaténer les fichier peptides dans un seul fichier.
cat peptide/*.faa > panoct/results/combined.fasta grep -c '>' panoct/results/combined.fasta
combined.blast Concaténer les résultats des blastp dans un seul fichier.
cat BlastP/*.tab > panoct/results/combined.blast head panoct/results/combined.blast
run panOCT Prochlorococcus vs Synechococcus
Exemple de script "panoct_PS.csh" (les chemins sont à changer).
cd ~/work/ProchlorococcusSynechococcus/panoct mkdir ~/work/ProchlorococcusSynechococcus/images
sbatch panoct_PS.csh squeue -l -u $USER
Question 3.1: Résumez dans une figure les différentes étapes réalisées jusqu'à l’obtention des groupes de gènes orthologues. N'oubliez pas la légende!
Heatmap des groupes de gènes orthologues avec le fichier ~/work/ProchlorococcusSynechococcus/panoct/results/matchtable_0_1.txt
MSK
srun --pty bash # si nécessaire! module load system/R-3.5.1; R pdf_file <- '~/work/ProchlorococcusSynechococcus/images/matchtable_heatmap.pdf' strain_file <- '~/work/ProchlorococcusSynechococcus/panoct/results/genomes.list' matchtable_0_1 <- '~/work/ProchlorococcusSynechococcus/panoct/results/matchtable_0_1.txt' strains <- read.delim(file=strain_file, header=FALSE) data <- read.delim(file=matchtable_0_1, , sep="\t", header=FALSE, row.names=1) colnames(data) <- t(strains) pdf(file=pdf_file, paper="a4r") heatmap(t(as.matrix(data)), scale='none', col=c('white', 'darkblue'), xlab="Strains", labCol=NA) dev.off() cat(pdf_file, "\n")
Question 3.2: Décrivez la figure obtenue. Quelles informations vous apporte-t-elle?
Gènes espèces spécifique
Gènes trouvés chez toutes les souches de Prochlorococcus mais dans aucune de Synechococcus:
Vous allez utiliser un script awk pour réaliser ce filtrage.
- Editez le fichier matchtable.txt pour comprendre sa structure.
- Que représente chaque ligne?
- Comment sont organisées les colonnes?
- Identifiez le motif signalant l'absence d'un gène dans un OG.
- Pour chaque OG:
- Compter le nombre de gènes présents chez les Prochlorococcus.
- Compter le nombre de gènes absents chez les Synechococcus.
- Editer la ligne si elle remplit les conditions
MSK
Quelles-sont les fonctions des gènes retenus?
MSK
rm ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific_annotations.txt awk '{ system("grep "$3" ~/work/Prochlorococcus/prokka/Aaaa/Aaaa.gff >> ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific_annotations.txt")}' < ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific.txt cat ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific_annotations.txt
Gènes trouvés chez toutes les souches de Synechococcus mais dans aucune de Prochlorococcus:
MSK
Question 3.3: Analysez ces résultats et les confronter à ceux disponibles dans la littérature.
Vous pouvez vous inspirer des articles de Kettler et al. (2007), Garczarek et al. 2007, et Partensky and Garczarek (2010).
Comparaison des résultats de PanOCT avec et sans les génomes de Synechococcus
Ces pairs sont à extraire des fichiers:
- ~/work/Prochlorococcus/panoct/results/matchtable.txt
- ~/work/ProchlorococcusSynechococcus/panoct/results/matchtable.txt
A laide d'un script awk, pour les deux fichiers
- pour chaque OG,
- sélectionner les gènes de Prochlorococcus,
- les assembler par paires et les imprimer.
MSK
La comparaison peut être réalisée graphiquement avec un digramme de Venn.
MSK
Comparaison des résultats de PanOCT avec PorthoMCL
MSK
MSK