Atelier Phylogénomique
From silico.biotoul.fr
m (→Annotation des ARNr) |
m (→eggNOG) |
||
(87 intermediate revisions not shown) | |||
Line 6: | Line 6: | ||
'''Support de cours''' : Alignements de génomes | '''Support de cours''' : Alignements de génomes | ||
*[http://silico.biotoul.fr/enseignement/m2BBS/Phylogenomic/Genome_alignments_2020.pdf Genome_alignments] | *[http://silico.biotoul.fr/enseignement/m2BBS/Phylogenomic/Genome_alignments_2020.pdf Genome_alignments] | ||
- | + | ''Support de cours''' : Phylogénomique | |
- | *[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2020_supports/PhylogenomicOct2020.pdf] | + | *[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2020_supports/PhylogenomicOct2020.pdf Phylogénomique] |
*[http://silico.biotoul.fr/enseignement/m2BBS/Phylogenomic/Genome_alignments_2020.pdf Genome_alignments.pdf] | *[http://silico.biotoul.fr/enseignement/m2BBS/Phylogenomic/Genome_alignments_2020.pdf Genome_alignments.pdf] | ||
'''Support de cours''' : Reconstruction des états ancestraux des caractères | '''Support de cours''' : Reconstruction des états ancestraux des caractères | ||
Line 15: | Line 15: | ||
*[http://phytools.org/eqg/Exercise_5.2/ Ancestral State Reconstruction with phytools] | *[http://phytools.org/eqg/Exercise_5.2/ Ancestral State Reconstruction with phytools] | ||
*[http://www.phytools.org/eqg2015/asr.html Ancestral State Reconstruction with phytools2] | *[http://www.phytools.org/eqg2015/asr.html Ancestral State Reconstruction with phytools2] | ||
- | + | ||
- | anemone arome aster bleuet camelia capucine chardon clematite cobee coquelicot cosmos cyclamen dahlia digitale geranium gerbera glaieul hortensia iris jacinthe | + | *[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2022_supports/Reconstruction_etats_ancestraux.html Reconstruction_etats_ancestraux.html] |
+ | *[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2022_supports/Reconstruction_etats_ancestraux.Rmd Reconstruction_etats_ancestraux.Rmd] | ||
+ | |||
+ | anemone arome aster bleuet camelia capucine chardon clematite cobee coquelicot cosmos cyclamen dahlia digitale geranium gerbera glaieul hortensia iris jacinthe | ||
<!-- | <!-- | ||
décrivant l'installation des logiciels pour les différents ateliers : http://silico.biotoul.fr/p/M2BBS_-_Atelier_Syst%C3%A8me | décrivant l'installation des logiciels pour les différents ateliers : http://silico.biotoul.fr/p/M2BBS_-_Atelier_Syst%C3%A8me | ||
Line 26: | Line 29: | ||
*[https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0088837 Sun and Blanchard, 2014] Strong Genome-Wide Selection Early in the Evolution of Prochlorococcus Resulted in a Reduced Genome through the Loss of a Large Number of Small Effect Genes | *[https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0088837 Sun and Blanchard, 2014] Strong Genome-Wide Selection Early in the Evolution of Prochlorococcus Resulted in a Reduced Genome through the Loss of a Large Number of Small Effect Genes | ||
*[https://www.ncbi.nlm.nih.gov/pubmed/29915114 Yan et al., Appl Environ Microbiol. 2018] Genome rearrangement shapes ''Prochlorococcus'' ecological adaptation. | *[https://www.ncbi.nlm.nih.gov/pubmed/29915114 Yan et al., Appl Environ Microbiol. 2018] Genome rearrangement shapes ''Prochlorococcus'' ecological adaptation. | ||
+ | *[https://pubmed.ncbi.nlm.nih.gov/35285694/ Yan et al., mBio 2022] Diverse Subclade Differentiation Attributed to the Ubiquity of Prochlorococcus High-Light-Adapted Clade II | ||
*[http://scope.soest.hawaii.edu/pubs/2015Biller_NatRevMicro.pdf Biller et al., Nat. Rev. Microbiol. 2015 13(1) 13-27] ''Prochlorococcus'': the structure and function of collective diversity. | *[http://scope.soest.hawaii.edu/pubs/2015Biller_NatRevMicro.pdf Biller et al., Nat. Rev. Microbiol. 2015 13(1) 13-27] ''Prochlorococcus'': the structure and function of collective diversity. | ||
*[https://www.annualreviews.org/doi/10.1146/annurev-marine-120308-081034 Partensky and Laurence Garczarek Annual Review of Marine Science 2010] Prochlorococcus: Advantages and Limits of Minimalism. | *[https://www.annualreviews.org/doi/10.1146/annurev-marine-120308-081034 Partensky and Laurence Garczarek Annual Review of Marine Science 2010] Prochlorococcus: Advantages and Limits of Minimalism. | ||
Line 38: | Line 42: | ||
*[http://www.sanger.ac.uk/science/tools/artemis Artemis] : Genome browser and annotation tool | *[http://www.sanger.ac.uk/science/tools/artemis Artemis] : Genome browser and annotation tool | ||
*[http://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act Artemis Comparison Tool] : Java application for displaying pairwise comparisons between two or more DNA sequences | *[http://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act Artemis Comparison Tool] : Java application for displaying pairwise comparisons between two or more DNA sequences | ||
- | *[ | + | *[https://software-ab.cs.uni-tuebingen.de/download/splitstree4/welcome.html splitstree] The aim of SplitsTree4 is to provide a framework for evolutionary analysis using both trees and networks. |
*[http://tree.bio.ed.ac.uk/software/figtree/ FigTree] is designed as a graphical viewer of phylogenetic trees and as a program for producing publication-ready figures. | *[http://tree.bio.ed.ac.uk/software/figtree/ FigTree] is designed as a graphical viewer of phylogenetic trees and as a program for producing publication-ready figures. | ||
- | ''Artemis'' (''art'' et ''act'') et ''figtree'' peuvent être installés avec | + | ''Artemis'' (''art'' et ''act'') et ''figtree'' peuvent être installés avec [http://www.m2p-bioinfo.ups-tlse.fr/p/M2BBS_-_Atelier_Syst%C3%A8me#Atelier_Phylog.C3.A9nomique conda/mamba]. |
''Mauve'', ''mauveAligner'' et ''progressiveMauve'' peuvent être installés avec ''conda'' mais une erreur peut survenir avec Mauve. En effet, vous pouvez avoir une version trop récente de java (https://edwards.sdsu.edu/research/running-mauve-with-java-10/). Pour y remédier, chercher une "vieille" version de java et remplacer "java" par le chemin de cette version dans le fichier Mauve (ligne JAVA_CMD=java). | ''Mauve'', ''mauveAligner'' et ''progressiveMauve'' peuvent être installés avec ''conda'' mais une erreur peut survenir avec Mauve. En effet, vous pouvez avoir une version trop récente de java (https://edwards.sdsu.edu/research/running-mauve-with-java-10/). Pour y remédier, chercher une "vieille" version de java et remplacer "java" par le chemin de cette version dans le fichier Mauve (ligne JAVA_CMD=java). | ||
Line 119: | Line 123: | ||
*sview (qmon): graphical user interface | *sview (qmon): graphical user interface | ||
*sacct (qacct) : display accounting data | *sacct (qacct) : display accounting data | ||
+ | *scancel (qdel) : kill the specified job | ||
====Utiliser R sur le cluster==== | ====Utiliser R sur le cluster==== | ||
Line 125: | Line 130: | ||
[http://www.nathalievialaneix.eu/doc/pdf/tutoR_cluster.pdf tutoR_cluster.pdf] | [http://www.nathalievialaneix.eu/doc/pdf/tutoR_cluster.pdf tutoR_cluster.pdf] | ||
+ | ====Utiliser awk_et sed==== | ||
+ | [http://genoweb.toulouse.inra.fr/~formation/awk_sed_Genotoul2019 awk_sed_Genotoul2019] | ||
===Scripts=== | ===Scripts=== | ||
Line 151: | Line 158: | ||
</pre> | </pre> | ||
Pour information: | Pour information: | ||
- | ls -l /home/ | + | ls -l /home/$USER |
- | save -> /save/ | + | save -> /save/$USER |
- | work -> /work/ | + | work -> /work/$USER |
==Disponibilité des génomes== | ==Disponibilité des génomes== | ||
Line 199: | Line 206: | ||
==Annotation== | ==Annotation== | ||
+ | |||
===Prokka=== | ===Prokka=== | ||
Les réplicons des génomes sont annotés avec le logiciel [http://www.vicbioinformatics.com/software.prokka.shtml prokka]. | Les réplicons des génomes sont annotés avec le logiciel [http://www.vicbioinformatics.com/software.prokka.shtml prokka]. | ||
+ | Suivre [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Prokka Prokka] | ||
+ | |||
+ | Nous allons copier les fichiers peptides dans un répertoire de travail: | ||
+ | <source lang='bash'> | ||
+ | mkdir -p ~/work/Prochlorococcus/peptide | ||
+ | cp ~/work/Prochlorococcus/prokka/Aaa*/*.faa ~/work/Prochlorococcus/peptide/. | ||
+ | |||
+ | ls -l ~/work/Prochlorococcus/peptide | ||
+ | </source> | ||
+ | <!-- | ||
[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/data/Prochlorococcus/prokka prokka files]. | [http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/data/Prochlorococcus/prokka prokka files]. | ||
Line 210: | Line 228: | ||
Quels sont les logiciels utilisés pour réaliser ces annotations ? | Quels sont les logiciels utilisés pour réaliser ces annotations ? | ||
</pre> | </pre> | ||
+ | |||
====Exemple d'utilisation==== | ====Exemple d'utilisation==== | ||
Nous allons créer un répertoire pour les résultats de prokka et chercher la dernière version disponible de prokka sur le serveur. | Nous allons créer un répertoire pour les résultats de prokka et chercher la dernière version disponible de prokka sur le serveur. | ||
Line 259: | Line 278: | ||
Il est fortement recommandé d'utiliser ce logiciel en local sur votre poste de travail. | Il est fortement recommandé d'utiliser ce logiciel en local sur votre poste de travail. | ||
- | + | ||
<pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
runVisuSession.sh | runVisuSession.sh | ||
Line 267: | Line 286: | ||
==Conservation de séquence entre souches de ''Prochlorococcus''== | ==Conservation de séquence entre souches de ''Prochlorococcus''== | ||
- | + | Suivre [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Conservation_entre_souches Conservation entre souches] | |
+ | <!-- | ||
====BlastN par pairs==== | ====BlastN par pairs==== | ||
Afin d'estimer les conservations entre les différents génomes, nous allons les comparer par paire de génomes dans l'ordre suivant, à l'aide de ''blastn'': | Afin d'estimer les conservations entre les différents génomes, nous allons les comparer par paire de génomes dans l'ordre suivant, à l'aide de ''blastn'': | ||
Line 353: | Line 373: | ||
====ACT==== | ====ACT==== | ||
Il est également possible d'utiliser le logiciel ''act'' ([ftp://ftp.sanger.ac.uk/pub/resources/software/act/act.pdf documentation]). | Il est également possible d'utiliser le logiciel ''act'' ([ftp://ftp.sanger.ac.uk/pub/resources/software/act/act.pdf documentation]). | ||
- | + | ||
Copier les fichiers sur votre porte de travail en P0 et lancer : | Copier les fichiers sur votre porte de travail en P0 et lancer : | ||
<pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 361: | Line 381: | ||
<pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
act work/Prochlorococcus/prokka/Aaab/Aaab.gff work/Prochlorococcus/BlastN/Aaab_vs_Aaag.tab work/Prochlorococcus/prokka/Aaag/Aaag.gff work/Prochlorococcus/BlastN/Aaag_vs_Aaaj.tab work/Prochlorococcus/prokka/Aaaj/Aaaj.gff work/Prochlorococcus/BlastN/Aaaj_vs_Aaaf.tab work/Prochlorococcus/prokka/Aaaf/Aaaf.gff work/Prochlorococcus/BlastN/Aaaf_vs_Aaak.tab work/Prochlorococcus/prokka/Aaak/Aaak.gff | act work/Prochlorococcus/prokka/Aaab/Aaab.gff work/Prochlorococcus/BlastN/Aaab_vs_Aaag.tab work/Prochlorococcus/prokka/Aaag/Aaag.gff work/Prochlorococcus/BlastN/Aaag_vs_Aaaj.tab work/Prochlorococcus/prokka/Aaaj/Aaaj.gff work/Prochlorococcus/BlastN/Aaaj_vs_Aaaf.tab work/Prochlorococcus/prokka/Aaaf/Aaaf.gff work/Prochlorococcus/BlastN/Aaaf_vs_Aaak.tab work/Prochlorococcus/prokka/Aaak/Aaak.gff | ||
- | + | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 1.3: | Question 1.3: | ||
Line 367: | Line 387: | ||
Que pensez-vous de la conservation des séquences des génomes? | Que pensez-vous de la conservation des séquences des génomes? | ||
</pre> | </pre> | ||
+ | --> | ||
==Groupes de gènes orthologues== | ==Groupes de gènes orthologues== | ||
Line 373: | Line 394: | ||
Quelle méthode ont utilisé Kettler et al., 2007 pour identifier les groupes de gènes orthologues? | Quelle méthode ont utilisé Kettler et al., 2007 pour identifier les groupes de gènes orthologues? | ||
</pre> | </pre> | ||
+ | === eggNOG === | ||
+ | *[https://github.com/eggnogdb/eggnog-mapper eggnog-mapper] | ||
+ | See software documentation for more informations. | ||
+ | Location: /usr/local/bioinfo/src/eggNOG-mapper | ||
+ | |||
+ | *[https://github.com/eggnogdb/eggnog-mapper/wiki/eggNOG-mapper-v2.1.5-to-v2.1.8#Basic_usage Basic_usage] | ||
+ | |||
+ | ll /usr/local/bioinfo/src/eggNOG-mapper/example_on_cluster/test_eggnog-mapper-2.0.1.sh | ||
+ | |||
+ | emapper.py -i ~/work/Prochlorococcus/peptide/Aaaa.faa --cpu 4 --output Aaaa_NOG -m diamond | ||
+ | |||
+ | cp /usr/local/bioinfo/src/eggNOG-mapper/example_on_cluster/test_eggnog-mapper-2.0.1.sh eggnog-mapper-2.0.1.sh | ||
+ | |||
+ | module load devel/python/Python-2.7.18; module load bioinfo/eggNOG-mapper/2.0.1; emapper.py -i p53.fa --cpu 4 --output p53_maNOG -m diamond | ||
+ | ~ | ||
+ | |||
+ | -i FILE input FASTA file containing query sequences (proteins by default) | ||
+ | --data_dir DIR Specify a path to the eggNOG-mapper databases. By default, data/ folder or the one specified by the EGGNOG_DATA_DIR environment variable. | ||
+ | -m MODE Search options, Default is -m diamond | ||
+ | --target_orthologs one2one|many2one|one2many|many2many|all defines what type of orthologs (in relation to the seed ortholog) should be used for functional transfer. Default: all | ||
+ | --report_orthologs as a first step in functional annotation, eggNOG-mapper identifies the orthologs of each query, using seed orthologs from the search stage as an anchoring or starting point. A list of these orthologs is not reported by default. | ||
+ | --output,-o FILE_PREFIX base name for output files | ||
+ | --output_dir DIR where output files should be written. default is current working directory. | ||
+ | --decorate_gff no|yes|FILE Option to create/decorate a GFF file with emapper hits and/or annotations. Default is no. | ||
+ | Output files | ||
+ | Search hits (prefix.emapper.hits)A file with the results from the search phase, from HMMER, Diamond or MMseqs2. | ||
+ | Seed orthologs (prefix.emapper.seed_orthologs) A file with the results from parsing the hits. Each row links a query with a seed ortholog. | ||
+ | Annotations (prefix.emapper.annotations) A file with the results from the annotation phase. | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | if [[ -e eggnog-mapper.sh]]; then | ||
+ | rm eggnog-mapper.sh | ||
+ | fi | ||
+ | |||
+ | for file in ~/work/Zhang/PEP/Pr*.faa; | ||
+ | do | ||
+ | prefix=$(basename $file .faa) | ||
+ | output="${prefix}.emapper.annotations" | ||
+ | if [[ -f "$output" ]]; then | ||
+ | echo "skip $output" | ||
+ | else | ||
+ | echo "module load devel/python/Python-2.7.18; module load bioinfo/eggNOG-mapper/2.0.1; emapper.py -i $file --cpu 4 --output $prefix -m diamond" 1>> eggnog-mapper.sh | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | cat eggnog-mapper.sh | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <source lang='bash'> | ||
+ | sarray -J eggNOG -o %j.out -e %j.err -t 04:00:00 --cpus-per-task=4 eggnog-mapper.sh | ||
+ | squeue -l -u $USER | ||
+ | </source> | ||
+ | |||
+ | les résultats sont dans : /home/formation/work/Prochlorococcus/eggNOG | ||
+ | |||
+ | === OrthoFinder === | ||
+ | '''OrthoFinder''' est une plateforme rapide, précise et complète pour la génomique comparative. Il trouve des '''orthogroupes''' et des orthologues, déduit des arbres de gènes enracinés pour tous les orthogroupes et identifie tous les événements de duplication de gènes dans ces arbres. | ||
+ | |||
+ | Il déduit également un arbre des espèces enraciné pour l'espèce analysée et fait correspondre les événements de duplication de gènes des arbres génétiques aux branches de l'arbre des espèces. | ||
+ | |||
+ | OrthoFinder fournit également des statistiques complètes pour les analyses génomiques comparatives. | ||
+ | |||
+ | Suivre [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_OrthoFinder OrthoFinder]]! | ||
+ | |||
===Préliminaires=== | ===Préliminaires=== | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 378: | Line 463: | ||
Selon vous qu'est-ce qui guide le choix du type de séquences à utiliser dans les comparaisons (peptides ou nucléotidiques)? | Selon vous qu'est-ce qui guide le choix du type de séquences à utiliser dans les comparaisons (peptides ou nucléotidiques)? | ||
</pre> | </pre> | ||
+ | [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Blast Blast All-vs-All] | ||
+ | <!-- | ||
====Blast All-All==== | ====Blast All-All==== | ||
Nous allons utiliser [http://bioinfo.genotoul.fr/index.php/how-to-use/?software=How_to_use_SLURM_NCBI_Blast%2B NCBI_Blast+]. | Nous allons utiliser [http://bioinfo.genotoul.fr/index.php/how-to-use/?software=How_to_use_SLURM_NCBI_Blast%2B NCBI_Blast+]. | ||
Line 410: | Line 497: | ||
squeue -l -u <user> | squeue -l -u <user> | ||
</pre> | </pre> | ||
- | |||
=====Intra genomes===== | =====Intra genomes===== | ||
Nous vous proposons un script perl pour réaliser les ''blastp'' de l'ensemble des génomes avec '''sbatch''': | Nous vous proposons un script perl pour réaliser les ''blastp'' de l'ensemble des génomes avec '''sbatch''': | ||
Line 427: | Line 513: | ||
Combien de fichiers attendez-vous? | Combien de fichiers attendez-vous? | ||
</pre> | </pre> | ||
- | |||
=====Paire de genomes===== | =====Paire de genomes===== | ||
Line 468: | Line 553: | ||
squeue -l -u <user> | squeue -l -u <user> | ||
</pre> | </pre> | ||
- | + | ||
Pour les blastp inter génomes, nous allons utiliser un script similaire au précédent, mais avec une double boucle (sur -query et -db). | Pour les blastp inter génomes, nous allons utiliser un script similaire au précédent, mais avec une double boucle (sur -query et -db). | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 478: | Line 563: | ||
ls BlastP | wc -l | ls BlastP | wc -l | ||
</pre> | </pre> | ||
- | |||
vérifiez que les fichiers de sorties de blast sont présents et non vides. | vérifiez que les fichiers de sorties de blast sont présents et non vides. | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 484: | Line 568: | ||
Combien de fichiers attendez-vous? | Combien de fichiers attendez-vous? | ||
</pre> | </pre> | ||
+ | --> | ||
===PorthoMCL=== | ===PorthoMCL=== | ||
+ | MSK | ||
+ | <!-- | ||
[https://github.com/etabari/PorthoMCL PorthoMCL] | [https://github.com/etabari/PorthoMCL PorthoMCL] | ||
Line 493: | Line 580: | ||
Il s'inspire d'[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC403725/ orthoMCL] | Il s'inspire d'[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC403725/ orthoMCL] | ||
+ | |||
+ | Suivre [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_PorthoMCL PorthoMCL] | ||
+ | --> | ||
+ | <!-- | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -o-pre-wrap"> | ||
Question 1.8: | Question 1.8: | ||
Line 502: | Line 593: | ||
MSK | MSK | ||
- | |||
<pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
mkdir -p ~/work/Prochlorococcus/PorthoMCL_auto12/0.input_faa | mkdir -p ~/work/Prochlorococcus/PorthoMCL_auto12/0.input_faa | ||
Line 510: | Line 600: | ||
/home/formation/public_html/M2_Phylogenomique/PorthoMCL-master/porthomcl.sh -t 12 -e 7 | /home/formation/public_html/M2_Phylogenomique/PorthoMCL-master/porthomcl.sh -t 12 -e 7 | ||
</pre> | </pre> | ||
- | + | ||
- | + | ||
Nous allons utiliser une version plus simple: | Nous allons utiliser une version plus simple: | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 523: | Line 612: | ||
Que proposeriez-vous pour l'améliorer? | Que proposeriez-vous pour l'améliorer? | ||
</pre> | </pre> | ||
- | |||
====Step 4: Parse BLAST results==== | ====Step 4: Parse BLAST results==== | ||
Comme les différents blastp ont déjà été réalisés, nous passons directement à l'étape 4. | Comme les différents blastp ont déjà été réalisés, nous passons directement à l'étape 4. | ||
Line 854: | Line 942: | ||
Comment vérifier ces hypothèses? | Comment vérifier ces hypothèses? | ||
</pre> | </pre> | ||
- | |||
=====Tester l'effet de l'IF sur la taille des OG===== | =====Tester l'effet de l'IF sur la taille des OG===== | ||
- | |||
Lancer MCL avec différents IF (respecter la syntaxe des noms!) | Lancer MCL avec différents IF (respecter la syntaxe des noms!) | ||
Line 872: | Line 958: | ||
orange : OG avec au moins un paralogue(s) | orange : OG avec au moins un paralogue(s) | ||
</pre> | </pre> | ||
- | |||
- | |||
=====Tester l'effet de l'IF sur la paralogie===== | =====Tester l'effet de l'IF sur la paralogie===== | ||
- | |||
<pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Rscript ~/work/scripts/MCL_OG_paralogy.R --MCL_file=~/work/Prochlorococcus/PorthoMCL/8.all.ort.group.1.5-5.50 --pdf_file=~/work/Prochlorococcus/images/8.all.ort.group.1.5-5.50_paralogs.pdf | Rscript ~/work/scripts/MCL_OG_paralogy.R --MCL_file=~/work/Prochlorococcus/PorthoMCL/8.all.ort.group.1.5-5.50 --pdf_file=~/work/Prochlorococcus/images/8.all.ort.group.1.5-5.50_paralogs.pdf | ||
Rscript ~/work/scripts/MCL_OG_paralogy.R --MCL_file=~/work/Prochlorococcus/PorthoMCL/8.all.ort.group.8.0-5.50 --pdf_file=~/work/Prochlorococcus/images/8.all.ort.group.8.0-5.50_paralogs.pdf | Rscript ~/work/scripts/MCL_OG_paralogy.R --MCL_file=~/work/Prochlorococcus/PorthoMCL/8.all.ort.group.8.0-5.50 --pdf_file=~/work/Prochlorococcus/images/8.all.ort.group.8.0-5.50_paralogs.pdf | ||
</pre> | </pre> | ||
- | |||
- | |||
====old stuff2==== | ====old stuff2==== | ||
Line 928: | Line 1,009: | ||
--> | --> | ||
- | ===PanOCT | + | === Panaroo === |
- | Pan-genome Ortholog Clustering Tool, | + | [https://gtonkinhill.github.io/panaroo panaroo] |
+ | |||
+ | ===PanOCT=== | ||
+ | Pan-genome Ortholog Clustering Tool, est un programme écrit en PERL pour l'analyse pan-génomique d'espèces ou de souches procaryotes étroitement apparentées. Contrairement aux programmes traditionnels de détection d'orthologues basés sur des graphes, il utilise la micro-synténie ou le voisinage de gènes conservés (CGN) en plus de l'homologie pour placer avec précision les protéines dans des groupes orthologues. | ||
[https://sourceforge.net/projects/panoct/ panoct project] | [https://sourceforge.net/projects/panoct/ panoct project] | ||
+ | Suivre [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_PanOCT PanOCT] | ||
+ | <!-- | ||
Vous trouverez le package dans le repertoire suivant: | Vous trouverez le package dans le repertoire suivant: | ||
/home/formation/public_html/M2_Phylogenomique/PanOCT/panoct_v3.23/ | /home/formation/public_html/M2_Phylogenomique/PanOCT/panoct_v3.23/ | ||
Line 1,006: | Line 1,092: | ||
squeue -l -u <user> | squeue -l -u <user> | ||
</pre> | </pre> | ||
+ | --> | ||
==Analyses pan-génomiques== | ==Analyses pan-génomiques== | ||
Line 1,011: | Line 1,098: | ||
[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4765519/ Inside the Pan-genome - Methods and Software Overview] | [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4765519/ Inside the Pan-genome - Methods and Software Overview] | ||
+ | |||
+ | Suivre: [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Analyses_pan-g%C3%A9nomiques Analyses pan-génomiques] | ||
+ | <!-- | ||
===Définitions=== | ===Définitions=== | ||
D'après [https://www.ncbi.nlm.nih.gov/pubmed/25483351 Vernikos ''et al.'' 2015] | D'après [https://www.ncbi.nlm.nih.gov/pubmed/25483351 Vernikos ''et al.'' 2015] | ||
Line 1,094: | Line 1,184: | ||
Comparez cette figure à la Figure 1 de Kettler et al., 2007. | Comparez cette figure à la Figure 1 de Kettler et al., 2007. | ||
</pre> | </pre> | ||
- | + | ||
=====Log x Log plot des nouveaux gènes ===== | =====Log x Log plot des nouveaux gènes ===== | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 1,108: | Line 1,198: | ||
Que pouvez-vous en conclure? | Que pouvez-vous en conclure? | ||
</pre> | </pre> | ||
- | |||
- | |||
====run_panoct.pl==== | ====run_panoct.pl==== | ||
<pre> | <pre> | ||
Line 1,155: | Line 1,243: | ||
cat(pdf_file, "\n") | cat(pdf_file, "\n") | ||
</pre> | </pre> | ||
- | |||
===PanOCT classification des proteins de l'OG 5 de PorthoMCL=== | ===PanOCT classification des proteins de l'OG 5 de PorthoMCL=== | ||
Line 1,199: | Line 1,286: | ||
plot(gr, vertex.label.cex=0.8, vertex.size=10, vertex.shape="sphere", vertex.color=colors, edge.width=E(gr)$weight, edge.color="red") | plot(gr, vertex.label.cex=0.8, vertex.size=10, vertex.shape="sphere", vertex.color=colors, edge.width=E(gr)$weight, edge.color="red") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | --> | ||
==Alignement et comparaison de génomes complets== | ==Alignement et comparaison de génomes complets== | ||
- | + | Suivre : [http://silico.biotoul.fr/site/index.php?title=Atelier_Phylog%C3%A9nomique_Alignement_Genomes Alignement Genomes] | |
+ | <!-- | ||
:'''Jeu de données''' | :'''Jeu de données''' | ||
Line 1,241: | Line 1,330: | ||
:'''Construire un arbre de Neighbor-Joining basé sur le ANI (ANIm_percentage_identity et ANIm_alignment_coverage) avec le logiciel de votre choix''' | :'''Construire un arbre de Neighbor-Joining basé sur le ANI (ANIm_percentage_identity et ANIm_alignment_coverage) avec le logiciel de votre choix''' | ||
Vous pourrez par exemple utiliser la fonction ''nj'' du package R ''ape''. Notez que la commande ''nj'' prend en entrée une matrice de distance. La fonction ''heatmap'' ([https://www.r-graph-gallery.com/index.html r-graph-gallery]) peut être utile pour visualiser les relations entre les souches. | Vous pourrez par exemple utiliser la fonction ''nj'' du package R ''ape''. Notez que la commande ''nj'' prend en entrée une matrice de distance. La fonction ''heatmap'' ([https://www.r-graph-gallery.com/index.html r-graph-gallery]) peut être utile pour visualiser les relations entre les souches. | ||
- | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Line 1,258: | Line 1,346: | ||
plot(co_nj, main="ANIm_alignment_coverage") | plot(co_nj, main="ANIm_alignment_coverage") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | + | ||
On pourra par exemple utiliser le site [http://www.phylogeny.fr/one_task.cgi?task_type=bionj phylogeny.fr] dans lequel on importera le fichier genomes_ANIm_output/ANIm_percentage_identity.tab (modifié en enlevant la 1ère ligne et en la remplaçant par le nombre de séquences 12). | On pourra par exemple utiliser le site [http://www.phylogeny.fr/one_task.cgi?task_type=bionj phylogeny.fr] dans lequel on importera le fichier genomes_ANIm_output/ANIm_percentage_identity.tab (modifié en enlevant la 1ère ligne et en la remplaçant par le nombre de séquences 12). | ||
- | + | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 2.2: | Question 2.2: | ||
Line 1,275: | Line 1,363: | ||
=====Distance Mash entre les génomes===== | =====Distance Mash entre les génomes===== | ||
Passez à l'étape suivante. | Passez à l'étape suivante. | ||
- | |||
:'''Calculer la distance Mash entre toutes les paires de génomes''' | :'''Calculer la distance Mash entre toutes les paires de génomes''' | ||
Line 1,306: | Line 1,393: | ||
Comparez les résultats de distance MASH à ceux de l’ANI. | Comparez les résultats de distance MASH à ceux de l’ANI. | ||
</pre> | </pre> | ||
- | |||
- | |||
===Alignements Mauve et ProgressiveMauve=== | ===Alignements Mauve et ProgressiveMauve=== | ||
<pre style="color:brown;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:brown;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 1,318: | Line 1,403: | ||
</pre> | </pre> | ||
======Concaténer les 6 génomes sélectionnés à la question précédente dans un fichier multifasta====== | ======Concaténer les 6 génomes sélectionnés à la question précédente dans un fichier multifasta====== | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
rm ~/work/Alignement_genomes/cat_genomes_prochlo/6GC_Prochlorococcus.fna | rm ~/work/Alignement_genomes/cat_genomes_prochlo/6GC_Prochlorococcus.fna | ||
Line 1,332: | Line 1,416: | ||
done | done | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
for i in Aaax Aaay Aaaz | for i in Aaax Aaay Aaaz | ||
Line 1,346: | Line 1,428: | ||
grep -c 'LOCUS' ~/work/Alignement_genomes/cat_genomes_prochlo/6GC_Prochlorococcus.gbk | grep -c 'LOCUS' ~/work/Alignement_genomes/cat_genomes_prochlo/6GC_Prochlorococcus.gbk | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
======Lancement de l’alignement des 6 génomes sur le cluster SLURM====== | ======Lancement de l’alignement des 6 génomes sur le cluster SLURM====== | ||
Line 1,358: | Line 1,439: | ||
squeue -l -u <user> | squeue -l -u <user> | ||
</pre> | </pre> | ||
- | |||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
mkdir ~/work/Alignement_genomes/Mauve | mkdir ~/work/Alignement_genomes/Mauve | ||
cd ~/work/Alignement_genomes | cd ~/work/Alignement_genomes | ||
srun --pty bash | srun --pty bash | ||
- | |||
Exemple de la commande à lancer avec le fichier en format gbk | Exemple de la commande à lancer avec le fichier en format gbk | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 1,369: | Line 1,448: | ||
mauveAligner --output=Mauve/6GC_Prochlorococcus_gbk.mauve_def --permutation-matrix-output=Mauve/6GC_Prochlorococcus_gbk.permutation_matrix --output-guide-tree=Mauve/6GC_Prochlorococcus_gbk.tree --output-alignment=Mauve/6GC_Prochlorococcus_gbk_mauve.xmfa cat_genomes_prochlo/6GC_Prochlorococcus.gbk | mauveAligner --output=Mauve/6GC_Prochlorococcus_gbk.mauve_def --permutation-matrix-output=Mauve/6GC_Prochlorococcus_gbk.permutation_matrix --output-guide-tree=Mauve/6GC_Prochlorococcus_gbk.tree --output-alignment=Mauve/6GC_Prochlorococcus_gbk_mauve.xmfa cat_genomes_prochlo/6GC_Prochlorococcus.gbk | ||
</pre> | </pre> | ||
- | |||
Soumission du job (vérifiez que vous êtes bien sur '''genologin2'''!): | Soumission du job (vérifiez que vous êtes bien sur '''genologin2'''!): | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 1,391: | Line 1,469: | ||
mauveAligner --output=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.mauve_def --permutation-matrix-output=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.permutation_matrix --output-guide-tree=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.tree --output-alignment=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus_mauve.xmfa /home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.fna | mauveAligner --output=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.mauve_def --permutation-matrix-output=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.permutation_matrix --output-guide-tree=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.tree --output-alignment=/home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus_mauve.xmfa /home/hchiapello/work/TP_M2_BIOINFO/TP_2018/6GC_Prochlorococcus.fna | ||
</pre> | </pre> | ||
- | |||
======Analyser et interpréter les résultats en les visualisant via l’interface Mauve (commande Mauve)====== | ======Analyser et interpréter les résultats en les visualisant via l’interface Mauve (commande Mauve)====== | ||
Line 1,435: | Line 1,512: | ||
</pre> | </pre> | ||
[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/Mauve Mauve] | [http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/Mauve Mauve] | ||
- | |||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap" | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap" | ||
>mkdir ~/work/Alignement_genomes/ProgressiveMauve | >mkdir ~/work/Alignement_genomes/ProgressiveMauve | ||
Line 1,442: | Line 1,518: | ||
progressiveMauve --output=ProgressiveMauve/6GC_Prochlorococcus_PMauve.xmfa cat_genomes_prochlo/6GC_Prochlorococcus.gbk | progressiveMauve --output=ProgressiveMauve/6GC_Prochlorococcus_PMauve.xmfa cat_genomes_prochlo/6GC_Prochlorococcus.gbk | ||
</pre> | </pre> | ||
- | |||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 2.6: | Question 2.6: | ||
Line 1,452: | Line 1,527: | ||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
rm ~/work/Alignement_genomes/cat_genomes_prochlo/12GC_Prochlorococcus.fna | rm ~/work/Alignement_genomes/cat_genomes_prochlo/12GC_Prochlorococcus.fna | ||
Line 1,466: | Line 1,540: | ||
grep -c 'LOCUS' ~/work/Alignement_genomes/cat_genomes_prochlo/12GC_Prochlorococcus.gbk | grep -c 'LOCUS' ~/work/Alignement_genomes/cat_genomes_prochlo/12GC_Prochlorococcus.gbk | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
======Lancer l’alignement ProgressiveMauve des 12 génomes sur le cluster SLURM====== | ======Lancer l’alignement ProgressiveMauve des 12 génomes sur le cluster SLURM====== | ||
Exemple de script "[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/scripts/RunSLURM_PMauve_12GProchlo.csh RunSLURM_PMauve_12GProchlo.csh]" (les chemins sont à changer). | Exemple de script "[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/scripts/RunSLURM_PMauve_12GProchlo.csh RunSLURM_PMauve_12GProchlo.csh]" (les chemins sont à changer). | ||
Line 1,474: | Line 1,547: | ||
</pre> | </pre> | ||
[http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/Mauve Mauve] | [http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/Mauve Mauve] | ||
- | |||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
mkdir ~/work/Alignement_genomes/ProgressiveMauve | mkdir ~/work/Alignement_genomes/ProgressiveMauve | ||
Line 1,486: | Line 1,558: | ||
sbatch RunSLURM_PMauve_12GProchlo.csh | sbatch RunSLURM_PMauve_12GProchlo.csh | ||
</pre> | </pre> | ||
- | |||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 2.7: | Question 2.7: | ||
Line 1,497: | Line 1,568: | ||
===Reconstruction de l’histoire évolutive des réarrangements et des états ancestraux=== | ===Reconstruction de l’histoire évolutive des réarrangements et des états ancestraux=== | ||
masqué | masqué | ||
- | |||
:'''Exporter le fichier de permutation des LCBs de l’alignement généré à la question précédente avec ProgressiveMauve en cliquant dans l’interface Mauve sur Tools => Export => Export Permutation. Ainsi vous pouvez créer les fichiers permutations.''' | :'''Exporter le fichier de permutation des LCBs de l’alignement généré à la question précédente avec ProgressiveMauve en cliquant dans l’interface Mauve sur Tools => Export => Export Permutation. Ainsi vous pouvez créer les fichiers permutations.''' | ||
*6GC_Prochlorococcus_pmauve.permutation (pour se familiariser sur les résultats!) | *6GC_Prochlorococcus_pmauve.permutation (pour se familiariser sur les résultats!) | ||
Line 1,547: | Line 1,617: | ||
Comme dans [https://www.ncbi.nlm.nih.gov/pubmed/18159947 Kettler et al., 2007], nous allons utiliser quatre génomes de Synechococcus comme groupe externe dans nos analyses. | Comme dans [https://www.ncbi.nlm.nih.gov/pubmed/18159947 Kettler et al., 2007], nous allons utiliser quatre génomes de Synechococcus comme groupe externe dans nos analyses. | ||
+ | Suivre [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Analyses_phylog%C3%A9nomiques Analyses phylogénomiques] | ||
+ | <!-- | ||
Mise à jour des scripts! | Mise à jour des scripts! | ||
- | <pre style="color: | + | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> |
cp /home/formation/public_html/M2_Phylogenomique/scripts/* ~/work/scripts | cp /home/formation/public_html/M2_Phylogenomique/scripts/* ~/work/scripts | ||
</pre> | </pre> | ||
Line 1,582: | Line 1,654: | ||
Copiez les fichier *.faa de prokka dans ~/work/Synechococcus/peptide/ | Copiez les fichier *.faa de prokka dans ~/work/Synechococcus/peptide/ | ||
- | + | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
mkdir -p ~/work/Synechococcus/peptide | mkdir -p ~/work/Synechococcus/peptide | ||
Line 1,590: | Line 1,662: | ||
ls -l ~/work/Synechococcus/peptide | ls -l ~/work/Synechococcus/peptide | ||
</pre> | </pre> | ||
- | |||
Créer la ''blast database''. | Créer la ''blast database''. | ||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
for i in ~/work/Synechococcus/peptide/*.faa; | for i in ~/work/Synechococcus/peptide/*.faa; | ||
Line 1,604: | Line 1,674: | ||
cat makeblastdb.sh | cat makeblastdb.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 1,614: | Line 1,683: | ||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
evalue=1e-5 | evalue=1e-5 | ||
Line 1,631: | Line 1,699: | ||
cat blast_allall.sh | cat blast_allall.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | + | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
sarray -J mkdb -o %j.out -e %j.err -t 01:00:00 --cpus-per-task=1 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> | squeue -l -u <user> | ||
</pre> | </pre> | ||
- | |||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
module load bioinfo/ncbi-blast-2.7.1+ | module load bioinfo/ncbi-blast-2.7.1+ | ||
Line 1,652: | Line 1,719: | ||
~/work/scripts/blastp_inter.pl | ~/work/scripts/blastp_inter.pl | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
squeue -l -u <user> | squeue -l -u <user> | ||
Line 1,764: | Line 1,831: | ||
squeue -l -u <user> | squeue -l -u <user> | ||
</pre> | </pre> | ||
- | + | ||
/home/formation/public_html/M2_Phylogenomique/PanGenomePipeline/PanGenomePipeline-master/pangenome/bin/panoct.pl -b results -t combined.blast -f genomes.list -g combined.att -P combined.fasta -S yes -L 1 -M Y -H Y -V Y -N Y -F 1.33 -G y -c 0,50,95,100 -T | /home/formation/public_html/M2_Phylogenomique/PanGenomePipeline/PanGenomePipeline-master/pangenome/bin/panoct.pl -b results -t combined.blast -f genomes.list -g combined.att -P combined.fasta -S yes -L 1 -M Y -H Y -V Y -N Y -F 1.33 -G y -c 0,50,95,100 -T | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 3.1: | Question 3.1: | ||
Line 1,813: | Line 1,880: | ||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="awk"> | <syntaxhighlight lang="awk"> | ||
awk 'BEGIN { | awk 'BEGIN { | ||
Line 1,837: | Line 1,903: | ||
}' < ~/work/ProchlorococcusSynechococcus/panoct/results/matchtable.txt > ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific.txt | }' < ~/work/ProchlorococcusSynechococcus/panoct/results/matchtable.txt > ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific.txt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
Quelles-sont les fonctions des gènes retenus? | Quelles-sont les fonctions des gènes retenus? | ||
MSK | MSK | ||
- | |||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
awk '{ system("grep "$3" ~/work/Prochlorococcus/prokka/Aaaa/Aaaa.gff >> ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific_annotations.txt")}' < ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific.txt | awk '{ system("grep "$3" ~/work/Prochlorococcus/prokka/Aaaa/Aaaa.gff >> ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific_annotations.txt")}' < ~/work/ProchlorococcusSynechococcus/Prochlorococcus_specific.txt | ||
</pre> | </pre> | ||
- | |||
=====Gènes trouvés chez toutes les souches de ''Synechococcus'' mais dans aucune de ''Prochlorococcus'':===== | =====Gènes trouvés chez toutes les souches de ''Synechococcus'' mais dans aucune de ''Prochlorococcus'':===== | ||
MSK | MSK | ||
- | |||
awk 'BEGIN { | awk 'BEGIN { | ||
h=0; | h=0; | ||
Line 1,874: | Line 1,936: | ||
}' < ~/work/ProchlorococcusSynechococcus/panoct/results/matchtable.txt<syntaxhighlight lang="awk"> | }' < ~/work/ProchlorococcusSynechococcus/panoct/results/matchtable.txt<syntaxhighlight lang="awk"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 1,893: | Line 1,954: | ||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="awk"> | <syntaxhighlight lang="awk"> | ||
awk ' | awk ' | ||
Line 1,940: | Line 2,000: | ||
}' ~/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"> | ||
library('gplots') | library('gplots') | ||
Line 1,959: | Line 2,017: | ||
intersections$PS | intersections$PS | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | + | ||
====Comparaison des résultats de PanOCT avec PorthoMCL==== | ====Comparaison des résultats de PanOCT avec PorthoMCL==== | ||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
awk ' | awk ' | ||
Line 1,983: | Line 2,040: | ||
sed -i -r 's/\|//g' ~/work/Prochlorococcus/PorthoMCL/8.all.ort.pairs.txt | sed -i -r 's/\|//g' ~/work/Prochlorococcus/PorthoMCL/8.all.ort.pairs.txt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
- | |||
MSK | MSK | ||
- | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
library('gplots') | library('gplots') | ||
Line 1,994: | Line 2,049: | ||
input <- list(PorthoMCL=PorthoMCL, panoct=panoct) | input <- list(PorthoMCL=PorthoMCL, panoct=panoct) | ||
venn(input) | venn(input) | ||
+ | </syntaxhighlight> | ||
--> | --> | ||
Line 2,009: | Line 2,065: | ||
ARNr 16S (1541 nucléotides chez E. coli2). | ARNr 16S (1541 nucléotides chez E. coli2). | ||
--> | --> | ||
+ | Suivre : [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Phylog%C3%A9nie_ARNr Phylogénie ARNr] | ||
+ | <!-- | ||
===Annotation des ARNr=== | ===Annotation des ARNr=== | ||
Nous utilisons le logiciel ''rnammer'' pour annoter les ARNr (lsu, ssu, tsu) dans les génomes. | Nous utilisons le logiciel ''rnammer'' pour annoter les ARNr (lsu, ssu, tsu) dans les génomes. | ||
Line 2,041: | Line 2,099: | ||
squeue -l -u <user> | squeue -l -u <user> | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
/home/formation/public_html/M2_Phylogenomique/scripts/rnammer_loop.pl --prokka_dir ~/work/Synechococcus/prokka --model ssu | /home/formation/public_html/M2_Phylogenomique/scripts/rnammer_loop.pl --prokka_dir ~/work/Synechococcus/prokka --model ssu | ||
/home/formation/public_html/M2_Phylogenomique/scripts/rnammer_loop.pl --prokka_dir ~/work/Prochlorococcus/prokka --model ssu | /home/formation/public_html/M2_Phylogenomique/scripts/rnammer_loop.pl --prokka_dir ~/work/Prochlorococcus/prokka --model ssu | ||
</pre> | </pre> | ||
- | + | ||
Vérifiez que les fichiers de sortie ne sont pas vide! | Vérifiez que les fichiers de sortie ne sont pas vide! | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 2,160: | Line 2,218: | ||
</pre> | </pre> | ||
Comparez et commentez les résultats obtenus avec IQ-TREE et FastTree. | Comparez et commentez les résultats obtenus avec IQ-TREE et FastTree. | ||
+ | --> | ||
- | ==Arbre espèces== | + | ==Arbre espèces: préparation des fichiers== |
- | '''Support de cours :''' [http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2020_supports/ supports] | + | '''Support de cours 1 :''' [http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2020_supports/ supports] |
+ | |||
+ | '''Support de cours 2 :''' [http://genoweb.toulouse.inra.fr/~formation/M2_Phylogenomique/2022_supports/ supports] | ||
Nous allons utiliser un sous ensemble de gènes concervés chez ''Prochlorococcus'' et ''Synechococcus'' pour expérimenter les différentes méthodes de reconstruction phylogénomiques. Nous nous initierons à la comparaison d’arbres. | Nous allons utiliser un sous ensemble de gènes concervés chez ''Prochlorococcus'' et ''Synechococcus'' pour expérimenter les différentes méthodes de reconstruction phylogénomiques. Nous nous initierons à la comparaison d’arbres. | ||
+ | Suivre : [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Arbre_esp%C3%A8ces Arbre espèces] | ||
+ | <!-- | ||
===Extraction des séquences nucléotidiques des gènes orthologues=== | ===Extraction des séquences nucléotidiques des gènes orthologues=== | ||
Créer un fichier avec toutes les séquences nucléotidiques (cds): | Créer un fichier avec toutes les séquences nucléotidiques (cds): | ||
Line 2,242: | Line 2,305: | ||
Connaissez-vous d'autres logiciels réalisant un traitement comparable des alignements multiples? | Connaissez-vous d'autres logiciels réalisant un traitement comparable des alignements multiples? | ||
</pre> | </pre> | ||
+ | ====Evaluation des alignements avec t_coffee==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | for i in ~/work/ProchlorococcusSynechococcus/OG/alignment/ali_dna_OG_*.fas | ||
+ | do | ||
+ | ip=$(basename $i .aln) | ||
+ | outfile="~/work/ProchlorococcusSynechococcus/OG/alignment/"$ip".ali" | ||
+ | echo "module load bioinfo/T-COFFEE_11.00.8cbe486; t_coffee -infile $i -output score_ascii, aln, score_html -outfile $outfile;" | ||
+ | done > OG_t_coffee_TCS.sh | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
+ | sarray -J mkdb -o %j.out -e %j.err -t 01:00:00 --cpus-per-task=1 OG_t_coffee_TCS.sh | ||
+ | squeue -l -u $USER | ||
+ | </pre> | ||
+ | |||
+ | Sélection alignements avec un SCORE=1000. | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | for i in ~/work/ProchlorococcusSynechococcus/OG/alignment/*.ali; | ||
+ | do | ||
+ | ip=$(basename $i .aln) | ||
+ | grep -H 'SCORE=1000' $i | ||
+ | done | ||
+ | </syntaxhighlight> | ||
+ | |||
====Edition des alignements avec trimal==== | ====Edition des alignements avec trimal==== | ||
+ | MSK | ||
+ | |||
Trimer les alignements avec trimal. Nous pouvons utiliser les résultats de trimal pour identifier des alignements de mauvaise qualité. | Trimer les alignements avec trimal. Nous pouvons utiliser les résultats de trimal pour identifier des alignements de mauvaise qualité. | ||
Line 2,296: | Line 2,385: | ||
Vérifiez que vous avez extrait les informations attendues. | Vérifiez que vous avez extrait les informations attendues. | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:grey;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
awk 'BEGIN { min = max = "NaN" } | awk 'BEGIN { min = max = "NaN" } | ||
Line 2,305: | Line 2,394: | ||
END { print min, max }' < ~/work/ProchlorococcusSynechococcus/OG/alignment/statistics.tab | END { print min, max }' < ~/work/ProchlorococcusSynechococcus/OG/alignment/statistics.tab | ||
</pre> | </pre> | ||
- | |||
- | |||
=====Tracé de la distribution des deux paramètres===== | =====Tracé de la distribution des deux paramètres===== | ||
Tracé de la distribution des deux paramètres pour définir des seuils permettant de retenir les meilleurs alignements | Tracé de la distribution des deux paramètres pour définir des seuils permettant de retenir les meilleurs alignements | ||
Line 2,321: | Line 2,408: | ||
quit() | quit() | ||
</pre> | </pre> | ||
- | + | ||
Vous pouvez utiliser filezilla (sous Windows) ou un scp (sous linux) pour télécharger le fichier pdf en local. | Vous pouvez utiliser filezilla (sous Windows) ou un scp (sous linux) pour télécharger le fichier pdf en local. | ||
- | + | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 5.6: | Question 5.6: | ||
Line 2,341: | Line 2,428: | ||
Combien d'alignements avez-vous retenu? | Combien d'alignements avez-vous retenu? | ||
</pre> | </pre> | ||
+ | --> | ||
- | + | ==Super-alignement (Jeudi)== | |
Comme dans l’article publié en 2018 de Yan et al., nous utiliserons 31 gènes du core genome tirés au hasard. | Comme dans l’article publié en 2018 de Yan et al., nous utiliserons 31 gènes du core genome tirés au hasard. | ||
Line 2,357: | Line 2,445: | ||
</pre> | </pre> | ||
--> | --> | ||
- | + | ====Concaténation de 31 alignements==== | |
- | < | + | <source lang='bash'> |
- | / | + | mkdir ~/work/ProchlorococcusSynechococcus/OG/31_good_alignments |
- | </ | + | |
+ | ~/work/scripts/concat_aligments.pl --alignments ~/work/ProchlorococcusSynechococcus/OG/good_alignments/SCORE1000.lst --outfile ~/work/ProchlorococcusSynechococcus/OG/31_good_alignments/alignments.fas -nb_ali 31 | ||
+ | </source> | ||
Liste des alignements retenus: | Liste des alignements retenus: | ||
- | + | ~/work/ProchlorococcusSynechococcus/OG/good_alignments/SCORE1000.lst | |
+ | Aller regarder le fichier de sortie. Est-il conforme à l'attendu ? | ||
- | + | <!-- | |
+ | /home/formation/work/scripts/concat_aligments.pl --alignments /home/formation/work/ProchlorococcusSynechococcus/OG/alignment/alignment_0.4_70.lst --outfile ~/work/ProchlorococcusSynechococcus/OG/alignment/alignment_0.4_70_31 -nb_ali 31 | ||
+ | --> | ||
+ | |||
+ | ====IQ-TREE==== | ||
genologin softwares : [http://bioinfo.genotoul.fr/index.php/resources-2/softwares/?searchll=iq-tree iq-tree] | genologin softwares : [http://bioinfo.genotoul.fr/index.php/resources-2/softwares/?searchll=iq-tree iq-tree] | ||
Line 2,370: | Line 2,465: | ||
Documentation : http://www.iqtree.org/doc/ | Documentation : http://www.iqtree.org/doc/ | ||
- | + | ||
+ | Documentation : [http://www.iqtree.org/doc/Substitution-Models "Substitution-Models"] | ||
+ | <source lang='bash'> | ||
mkdir ~/work/ProchlorococcusSynechococcus/phyloG/ | mkdir ~/work/ProchlorococcusSynechococcus/phyloG/ | ||
cd ~/work/ProchlorococcusSynechococcus/phyloG/ | cd ~/work/ProchlorococcusSynechococcus/phyloG/ | ||
- | cp ~/work/ProchlorococcusSynechococcus/OG/ | + | cp ~/work/ProchlorococcusSynechococcus/OG/31_good_alignments/alignments.fas . |
- | </ | + | </source> |
Nous allons inférer un arbre à partir du super-alignement en codons: | Nous allons inférer un arbre à partir du super-alignement en codons: | ||
- | Créer le fichier condTree.sh contenant les lignes suivantes. Lancez le, puis répondez aux questions suivantes car cela va | + | Créer le fichier condTree.sh contenant les lignes suivantes. Lancez le, puis répondez aux questions suivantes car cela va être assez long, vous y reviendrez ensuite. Surtout faites un sbatch --cpus-per-task=4 à partir de genologin pour le lancer car nous avons demandé 4 slots de calcul. |
N'oubliez pas de spécifier le modèle dans la ligne de commande vous gagnerez 8 heures de calcul ;-) | N'oubliez pas de spécifier le modèle dans la ligne de commande vous gagnerez 8 heures de calcul ;-) | ||
- | Bonne pratique pour quand vous travaillerez : | + | Bonne pratique pour quand vous travaillerez : prenez l'habitude de vérifier la version la plus récente installée sur genologin. Pensez à vérifier si elle doit être mise à jour, si oui, demander la mise à jour. Si non, utilisez la dernière version. |
- | < | + | <source lang='bash'> |
#!/bin/bash | #!/bin/bash | ||
- | module load bioinfo/iqtree-2. | + | module load bioinfo/iqtree-2.1.3 |
- | iqtree -s | + | iqtree -s alignments.fas -redo -bb 1000 -alrt 1000 -st CODON -nt 4 -m KOSI07+F |
- | </ | + | </source> |
<!-- | <!-- | ||
[http://www.iqtree.org/doc/Substitution-Models Substitution-Models] | [http://www.iqtree.org/doc/Substitution-Models Substitution-Models] | ||
Line 2,397: | Line 2,494: | ||
Pour vous, nous avons inféré un arbre à partir du super-alignement protéique, la ligne de commande lancée était : | Pour vous, nous avons inféré un arbre à partir du super-alignement protéique, la ligne de commande lancée était : | ||
iqtree -s all_pep.fas -bb 1000 -alrt 1000 -nt 4 | iqtree -s all_pep.fas -bb 1000 -alrt 1000 -nt 4 | ||
+ | |||
+ | Best-fit model according to BIC: LG+F+R4 | ||
+ | |||
Vous trouverez les fichiers générés ici : /home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/all_pep.fas.*. Vous pouvez les copier dans votre répertoire ~/work/ProchlorococcusSynechococcus/phyloG/. | Vous trouverez les fichiers générés ici : /home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/all_pep.fas.*. Vous pouvez les copier dans votre répertoire ~/work/ProchlorococcusSynechococcus/phyloG/. | ||
Line 2,422: | Line 2,522: | ||
===Super-arbres=== | ===Super-arbres=== | ||
- | Nous allons utiliser les arbres individuels protéiques ainsi que celui | + | Nous allons utiliser les arbres individuels protéiques ainsi que celui reconstruit à partir de la petite sous-unité de l’rRNA. |
Sur genologin le script ssuTree.sh était celui-là : | Sur genologin le script ssuTree.sh était celui-là : | ||
#!/bin/bash | #!/bin/bash | ||
Line 2,431: | Line 2,531: | ||
sbatch --mem=20G ssuTree.sh | sbatch --mem=20G ssuTree.sh | ||
- | Voici l’arbre obtenu : /home/formation/work/ProchlorococcusSynechococcus/phyloG/ssu_renamed_simplified.aln.treefile | + | Voici l’arbre obtenu : |
+ | |||
+ | '''/home/formation/work/ProchlorococcusSynechococcus/phyloG/ssu_renamed_simplified.aln.treefile''' | ||
'''A vous :''' | '''A vous :''' | ||
Line 2,438: | Line 2,540: | ||
Lançons les arbres protéiques. Pour cela faire un seul script que vous appellerez ind_pep_trees.sh et qui écrira toutes les commandes en bouclant sur chaque fichier d’entrée. Le but étant d’obtenir une ligne par commande iqtree sur un fichier d’alignement protéique. | Lançons les arbres protéiques. Pour cela faire un seul script que vous appellerez ind_pep_trees.sh et qui écrira toutes les commandes en bouclant sur chaque fichier d’entrée. Le but étant d’obtenir une ligne par commande iqtree sur un fichier d’alignement protéique. | ||
- | Les fichiers d’input sont /home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/*_renamed.fas | + | Les fichiers d’input sont : |
+ | |||
+ | '''/home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/*_renamed.fas''' | ||
Il vous faut les copier dans votre work car sinon iqtree écrira les fichiers d'output sur le répertoire du compte de formation et pas dans le votre... | Il vous faut les copier dans votre work car sinon iqtree écrira les fichiers d'output sur le répertoire du compte de formation et pas dans le votre... | ||
Line 2,444: | Line 2,548: | ||
Pour vous aider inspirez vous de la réponse à la question "How to generate an sarray command file with bash for single (fastq) file ?" sur la page http://bioinfo.genotoul.fr/index.php/faq/bioinfo_tips_faq/. | Pour vous aider inspirez vous de la réponse à la question "How to generate an sarray command file with bash for single (fastq) file ?" sur la page http://bioinfo.genotoul.fr/index.php/faq/bioinfo_tips_faq/. | ||
- | '''Attention à bien spécifier -nt 1. Si vous souhaitez utiliser plus d’un CPU il faut le réserver avec l’option --cpus-per-task dans la commande sbatch / sarray. Pas besoin d’augmenter la RAM pour les protéines. Pensez aussi à mettre -AIC comme critère de sélection de modèle.''' | + | '''Attention à bien spécifier -nt 1. Si vous souhaitez utiliser plus d’un CPU il faut le réserver avec l’option --cpus-per-task dans la commande sbatch / sarray. Pas besoin d’augmenter la RAM pour les protéines. Pensez aussi à mettre '''-AIC''' comme critère de sélection de modèle.''' |
Regarder le contenu de ind_pep_trees.sh. Est-il correct ? | Regarder le contenu de ind_pep_trees.sh. Est-il correct ? | ||
+ | |||
+ | Remarque, il n'est pas toujours utile de tester l'ensemble des modèles, vous pouvez faire une pré-sélection avec l'option -mset et/ou -madd. Exemple '''-mset WAG,JTT,LG'''. | ||
Rajouter la première ligne obligatoire sur genologin avec vi par exemple : | Rajouter la première ligne obligatoire sur genologin avec vi par exemple : | ||
Line 2,529: | Line 2,635: | ||
Commentez ce réseau par rapport aux autres arbres obtenus. Qu’en pensez-vous ? | Commentez ce réseau par rapport aux autres arbres obtenus. Qu’en pensez-vous ? | ||
</pre> | </pre> | ||
+ | |||
+ | '''ASTRAL''' | ||
+ | |||
+ | * [https://github.com/smirarab/ASTRAL ASTRAL] | ||
+ | * [http://bioinfo.genotoul.fr/index.php/how-to-use/?software=How_to_use_SLURM_ASTRAL How_to_use_SLURM_ASTRAL] | ||
+ | Nous pouvons utiliser entré du logiciel le fichier des arbres gènes/protéines concaténés. | ||
+ | |||
+ | Un exemple de script de soumission: | ||
+ | |||
+ | /home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/Astral/astral.sh | ||
===Comparaison des arbres=== | ===Comparaison des arbres=== | ||
Line 2,542: | Line 2,658: | ||
Et à rajouter -nt 1 dans les options. | Et à rajouter -nt 1 dans les options. | ||
+ | Restez sur le nœud ou faites un sbatch, mais ne lancez rien sur le nœud maître. | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 2,549: | Line 2,666: | ||
==Analyse des liens phylogénétiques des gènes du OG5 de PortMCL== | ==Analyse des liens phylogénétiques des gènes du OG5 de PortMCL== | ||
+ | <!-- | ||
Éditez un fichier avec la liste des gènes à étudier. | Éditez un fichier avec la liste des gènes à étudier. | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Line 2,556: | Line 2,674: | ||
</pre> | </pre> | ||
Réalisez l'analyse phylogénétique avec le logiciel de votre choix. Reportez sur l'arbre obtenu les différents évènements de gain/pert/HT de gènes. | Réalisez l'analyse phylogénétique avec le logiciel de votre choix. Reportez sur l'arbre obtenu les différents évènements de gain/pert/HT de gènes. | ||
+ | --> | ||
==Reconstruction d'états ancestraux== | ==Reconstruction d'états ancestraux== | ||
Line 2,570: | Line 2,689: | ||
Ces deux questions sont étroitement liées. En effet l'impact de la phylogénie sur la distribution des caractères dépend non seulement de la phylogénie mais aussi de la façon dont ces caractères évoluent. | Ces deux questions sont étroitement liées. En effet l'impact de la phylogénie sur la distribution des caractères dépend non seulement de la phylogénie mais aussi de la façon dont ces caractères évoluent. | ||
+ | Suivre : [http://silico.biotoul.fr/p/Atelier_Phylog%C3%A9nomique_Etats_ancestraux Etats ancestraux] | ||
+ | <!-- | ||
===Répertoire=== | ===Répertoire=== | ||
Nous allons travailler dans un nouveau répertoire: | Nous allons travailler dans un nouveau répertoire: | ||
Line 2,581: | Line 2,702: | ||
Choisissez l'arbre que vous allez utiliser comme référence et copiez le dans le nouveau répertoire. | Choisissez l'arbre que vous allez utiliser comme référence et copiez le dans le nouveau répertoire. | ||
+ | Comme alternative, vous pouvez aussi copier celui-ci: | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
- | cp | + | cp /home/formation//work/ProchlorococcusSynechococcus/OG/alignment/alignment_0.4_70_31_nuc_GTR+F+R4_rooted.treefile ~/work/ProchlorococcusSynechococcus/Ancestral_Characters/species_tree.ph |
</pre> | </pre> | ||
Line 2,664: | Line 2,786: | ||
</pre> | </pre> | ||
Number of genes | Number of genes | ||
- | + | ||
<pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:blue;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
for file in ~/work/Prochlorococcus/prokka/Aaa*/*.txt ~/work/Synechococcus/prokka/Aaa*/*.txt | for file in ~/work/Prochlorococcus/prokka/Aaa*/*.txt ~/work/Synechococcus/prokka/Aaa*/*.txt | ||
Line 2,684: | Line 2,806: | ||
dev.off() | dev.off() | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 6.1: | Question 6.1: | ||
Line 2,770: | Line 2,892: | ||
===Autocorrélation phylogénétique=== | ===Autocorrélation phylogénétique=== | ||
masquée | masquée | ||
- | + | ||
Comme les espèces ne sont pas indépendantes par leurs relations phylogénétiques, | Comme les espèces ne sont pas indépendantes par leurs relations phylogénétiques, | ||
nous pouvons utiliser cette dépendance pour quantifier l'association entre les variables observées au niveau des espèce. Gittleman et Kot[109] propose une méthode basée sur | nous pouvons utiliser cette dépendance pour quantifier l'association entre les variables observées au niveau des espèce. Gittleman et Kot[109] propose une méthode basée sur | ||
Line 2,795: | Line 2,917: | ||
Existe-t-il un lien entre l'évolution des caractères (taille du génome et contenu en GC) et l'évolution des souches? Commentez. | Existe-t-il un lien entre l'évolution des caractères (taille du génome et contenu en GC) et l'évolution des souches? Commentez. | ||
</pre> | </pre> | ||
- | + | ||
===Habitats=== | ===Habitats=== | ||
Line 2,844: | Line 2,966: | ||
ecotypes <- strains_info$Light | ecotypes <- strains_info$Light | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:purple;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:purple;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
pdf(file="~/work/ProchlorococcusSynechococcus/images/Ecotypes_full.pdf", paper="a4r") | pdf(file="~/work/ProchlorococcusSynechococcus/images/Ecotypes_full.pdf", paper="a4r") | ||
Line 2,854: | Line 2,976: | ||
dev.off() | dev.off() | ||
</pre> | </pre> | ||
- | + | ||
<pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | <pre style="color:red;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap"> | ||
Question 6.8: | Question 6.8: | ||
Line 3,304: | Line 3,426: | ||
La mise en œuvre de ce logiciel est complexe et ne sera pas traitée dans le cadre de cd TP. | La mise en œuvre de ce logiciel est complexe et ne sera pas traitée dans le cadre de cd TP. | ||
+ | --> | ||
==Liens utiles== | ==Liens utiles== |
Current revision as of 15:19, 11 November 2023
Matériel pédagogique
Support de cours : Quest for Orthologs
Support de cours : Alignements de génomes
Support de cours' : Phylogénomique
Support de cours : Reconstruction des états ancestraux des caractères
- Présentation 'Reconstruction of ancestral traits'.
- Ancestral State Reconstruction with phytools
- Ancestral State Reconstruction with phytools2
anemone arome aster bleuet camelia capucine chardon clematite cobee coquelicot cosmos cyclamen dahlia digitale geranium gerbera glaieul hortensia iris jacinthe
Références
- Kettler et al., PLoS Genet. 2007 Dec;3(12):e231 Patterns and implications of gene gain and loss in the evolution of Prochlorococcus.
- Sun and Blanchard, 2014 Strong Genome-Wide Selection Early in the Evolution of Prochlorococcus Resulted in a Reduced Genome through the Loss of a Large Number of Small Effect Genes
- Yan et al., Appl Environ Microbiol. 2018 Genome rearrangement shapes Prochlorococcus ecological adaptation.
- Yan et al., mBio 2022 Diverse Subclade Differentiation Attributed to the Ubiquity of Prochlorococcus High-Light-Adapted Clade II
- Biller et al., Nat. Rev. Microbiol. 2015 13(1) 13-27 Prochlorococcus: the structure and function of collective diversity.
- Partensky and Laurence Garczarek Annual Review of Marine Science 2010 Prochlorococcus: Advantages and Limits of Minimalism.
- Prochlorococcus Prochlorococcus.
Logiciels à installer sur vos postes de travail
- seaview : Multiplatform GUI for molecular phylogeny
- mauve : Multiple genome alignment
- Artemis : Genome browser and annotation tool
- Artemis Comparison Tool : Java application for displaying pairwise comparisons between two or more DNA sequences
- splitstree The aim of SplitsTree4 is to provide a framework for evolutionary analysis using both trees and networks.
- FigTree is designed as a graphical viewer of phylogenetic trees and as a program for producing publication-ready figures.
Artemis (art et act) et figtree peuvent être installés avec conda/mamba.
Mauve, mauveAligner et progressiveMauve peuvent être installés avec conda mais une erreur peut survenir avec Mauve. En effet, vous pouvez avoir une version trop récente de java (https://edwards.sdsu.edu/research/running-mauve-with-java-10/). Pour y remédier, chercher une "vieille" version de java et remplacer "java" par le chemin de cette version dans le fichier Mauve (ligne JAVA_CMD=java).
Ressources informatiques
Nous allons utiliser les ressources de GenoToul.
Vous avez dans les FAQ, les réponses à toutes vos questions concernant l'utilisation de la ressource.
Sortcuts
Vous allez vous connecter avec un compte fleur:
ssh -Y <login>@genologin.toulouse.inra.fr
Vous pouvez ouvrir deux connections afin de pouvoir lancer qlogin de façon indépendante.
Échange de fichiers:
scp file <login>@genologin.toulouse.inra.fr:~/work
Logiciels disponibles
ou
ou plus directement
ls /usr/local/bioinfo/src/
La documentation est disponible sur le site WEB et dans le répertoire correspondant au logiciel (fichiers How_to_use and/or Readme).
Soumission de jobs avec SLURM
Lancer le job avec sbatch et un script du type "myscript.sh" (les chemins sont à changer).
to submit the job, use the sbatch command line as following
- sbatch (qsub): submit a batch job to slurm (default workq partition()
sbatch myscript.sh
- sarray (qarray): submit a batch job-array to slurm
- scancel (qdel): kill the specified job
INTERACTIVE
- srun [--pty bash] (qrsh): submit an interactive session with a compute node (default workq partition).
- runVisuSession.sh (qlogin): submit a TurboVNC / VirtualGL session with the graphical node (interq partition). Just for graphics jobs.
Pour controler les jobs
- sinfo (qhost): display nodes, partitions, reservations
- squeue (qstat): display jobs and state
- scontrol show : get informations on jobs, nodes, partitions
- sstat (qstat -j): show status of running jobs
- sview (qmon): graphical user interface
- sacct (qacct) : display accounting data
- scancel (qdel) : kill the specified job
Utiliser R sur le cluster
Tutoriel expliquant comment utiliser R (et compiler des fichiers Rmd) sur le cluster (slurm) de la PF Bioinformatique de Toulouse (Gaëlle Lefort et Nathalie Vialaneix):
Utiliser awk_et sed
Scripts
Aide pour les scripts en bash :https://www.tutorialkart.com/bash-shell-scripting
Des scripts perl ont été écrits pour faciliter certaines étapes du TP. Ils sont disponibles dans le répertoire:
/home/formation/public_html/M2_Phylogenomique/scripts
Vous pouvez les copier dans votre espace de travail et les modifier à votre convenance.
mkdir ~/work/scripts cp /home/formation/public_html/M2_Phylogenomique/scripts/* ~/work/scripts
Copie des fichiers
Rsync (Remote Sync) est une commande couramment utilisée pour copier et synchroniser des fichiers et des répertoires à distance ainsi que localement dans les systèmes Linux/Unix. Avec rsync, vous pouvez copier et synchroniser vos données à distance et localement à travers des répertoires, des disques et des réseaux, effectuer des sauvegardes de données et des mises en miroir entre deux machines Linux.
Nous allons utiliser cette commande pour copier les fichiers de <user>@genologin.toulouse.inra.fr à votre machine.
Exemple:
- Créez un répertoire sur votre machine correspondant à l'atelier.
- Placez vous dans ce répertoire.
rsync --archive --itemize-changes --stats -h -e ssh <user>@genologin.toulouse.inra.fr:/home/<user>/work/Prochlorococcus work
Pour information:
ls -l /home/$USER save -> /save/$USER work -> /work/$USER
Disponibilité des génomes
Caractéristiques des souches étudiées
Table modifiée à partir de la Table 1 de (Kettler et al., 2007).
Cyanobacterium Isolate Light Length(bp) GC% Number Isol. Region Date Accession Code Adap. Genes Depth Prochlorococcus MED4 HL(I) 1,657,990 30.8 1,929 5m Med. Sea Jan. 1989 BX548174 Aaab MIT9515 HL(I) 1,704,176 30.8 1,908 15m Eq. Pacific Jun. 1995 CP000552 Aaag MIT9301 HL(II) 1,642,773 31.4 1,907 90m Sargasso Sea Jul. 1993 CP000576 Aaaj AS9601 HL(II) 1,669,886 31.3 1,926 50m Arabian Sea Nov. 1995 CP000551 Aaaf MIT9215 HL(II) 1,738,790 31.1 1,989 5m Eq. Pacific Oct. 1992 CP000825 Aaak MIT9312 HL(II) 1,709,204 31.2 1,962 135m Gulf Stream Jul. 1993 CP000111 Aaae NATL1A LL(I) 1,864,731 35.1 2,201 30m N. Atlantic Apr. 1990 CP000553 Aaai NATL2A LL(I) 1,842,899 35 2,158 10m N. Atlantic Apr. 1990 CP000095 Aaad CCMP1375/SS120 LL(II) 1,751,080 36.4 1,925 120m Sargasso Sea May 1988 AE017126 Aaaa MIT9211 LL(III)1,688,963 38 1,855 83m Eq. Pacific Apr. 1992 CP000878 Aaah MIT9303 LL(IV) 2,682,807 50.1 3,022 100m Sargasso Sea Jul. 1992 CP000554 Aaal MIT9313 LL(IV) 2,410,873 50.7 2,843 135m Gulf Stream Jul. 1992 BX548175 Aaac Synechococcus CC9311 Syn. 2,606,748 52.5 3017 95m Calif. Current 1993 CP000435 Aaao CC9902 Syn. 2,234,828 54.2 2504 5m Calif. Current 1999 CP000097 Aaam WH8102 Syn. 2,434,428 59.4 2787 Sargasso Sea Mar. 1981 BX548020 Aaap CC9605 Syn. 2,510,659 59.2 2991 51m Calif. Current 1996 CP000110 Aaan
Prochlorococcus
NCBI
Génomes de Prochlorococcus disponibles au NCBI browse
Accessions des génomes utilisés dans Kettler et al., PLoS Genet. 2007:
- accession "BX548174,CP000552,CP000576,CP000551,CP000825,CP000111,CP000553,CP000095,AE017126,CP000878,CP000554,BX548175"
Les fichiers GenBank peuvent être obtenus avec la commande wget en utilisant les chemins enregistrés dans le fichier: accession_file.lst
Pour des raisons de compatibilité avec les programmes, les génomes sont renommés en utilisant un code à quatre lettres. accession_labels_file.lst
GenBank
Les fichiers GenBank renommés sont disponibles dans le répertoire: GenBank
DNA
Les séquences ADN ont été extraites des fichiers GenBank : DNA
Annotation
Prokka
Les réplicons des génomes sont annotés avec le logiciel prokka.
Suivre Prokka
Nous allons copier les fichiers peptides dans un répertoire de travail:
mkdir -p ~/work/Prochlorococcus/peptide cp ~/work/Prochlorococcus/prokka/Aaa*/*.faa ~/work/Prochlorococcus/peptide/. ls -l ~/work/Prochlorococcus/peptide
Conservation de séquence entre souches de Prochlorococcus
Suivre Conservation entre souches
Groupes de gènes orthologues
Question 1.4: Quelle méthode ont utilisé Kettler et al., 2007 pour identifier les groupes de gènes orthologues?
eggNOG
See software documentation for more informations.
Location: /usr/local/bioinfo/src/eggNOG-mapper
ll /usr/local/bioinfo/src/eggNOG-mapper/example_on_cluster/test_eggnog-mapper-2.0.1.sh
emapper.py -i ~/work/Prochlorococcus/peptide/Aaaa.faa --cpu 4 --output Aaaa_NOG -m diamond
cp /usr/local/bioinfo/src/eggNOG-mapper/example_on_cluster/test_eggnog-mapper-2.0.1.sh eggnog-mapper-2.0.1.sh
module load devel/python/Python-2.7.18; module load bioinfo/eggNOG-mapper/2.0.1; emapper.py -i p53.fa --cpu 4 --output p53_maNOG -m diamond ~
-i FILE input FASTA file containing query sequences (proteins by default) --data_dir DIR Specify a path to the eggNOG-mapper databases. By default, data/ folder or the one specified by the EGGNOG_DATA_DIR environment variable. -m MODE Search options, Default is -m diamond --target_orthologs one2one|many2one|one2many|many2many|all defines what type of orthologs (in relation to the seed ortholog) should be used for functional transfer. Default: all --report_orthologs as a first step in functional annotation, eggNOG-mapper identifies the orthologs of each query, using seed orthologs from the search stage as an anchoring or starting point. A list of these orthologs is not reported by default. --output,-o FILE_PREFIX base name for output files --output_dir DIR where output files should be written. default is current working directory. --decorate_gff no|yes|FILE Option to create/decorate a GFF file with emapper hits and/or annotations. Default is no.
Output files
Search hits (prefix.emapper.hits)A file with the results from the search phase, from HMMER, Diamond or MMseqs2. Seed orthologs (prefix.emapper.seed_orthologs) A file with the results from parsing the hits. Each row links a query with a seed ortholog. Annotations (prefix.emapper.annotations) A file with the results from the annotation phase.
if [[ -e eggnog-mapper.sh]]; then rm eggnog-mapper.sh fi for file in ~/work/Zhang/PEP/Pr*.faa; do prefix=$(basename $file .faa) output="${prefix}.emapper.annotations" if [[ -f "$output" ]]; then echo "skip $output" else echo "module load devel/python/Python-2.7.18; module load bioinfo/eggNOG-mapper/2.0.1; emapper.py -i $file --cpu 4 --output $prefix -m diamond" 1>> eggnog-mapper.sh fi done cat eggnog-mapper.sh
sarray -J eggNOG -o %j.out -e %j.err -t 04:00:00 --cpus-per-task=4 eggnog-mapper.sh squeue -l -u $USER
les résultats sont dans : /home/formation/work/Prochlorococcus/eggNOG
OrthoFinder
OrthoFinder est une plateforme rapide, précise et complète pour la génomique comparative. Il trouve des orthogroupes et des orthologues, déduit des arbres de gènes enracinés pour tous les orthogroupes et identifie tous les événements de duplication de gènes dans ces arbres.
Il déduit également un arbre des espèces enraciné pour l'espèce analysée et fait correspondre les événements de duplication de gènes des arbres génétiques aux branches de l'arbre des espèces.
OrthoFinder fournit également des statistiques complètes pour les analyses génomiques comparatives.
Suivre OrthoFinder]!
Préliminaires
Question 1.5: Selon vous qu'est-ce qui guide le choix du type de séquences à utiliser dans les comparaisons (peptides ou nucléotidiques)?
PorthoMCL
MSK
Panaroo
PanOCT
Pan-genome Ortholog Clustering Tool, est un programme écrit en PERL pour l'analyse pan-génomique d'espèces ou de souches procaryotes étroitement apparentées. Contrairement aux programmes traditionnels de détection d'orthologues basés sur des graphes, il utilise la micro-synténie ou le voisinage de gènes conservés (CGN) en plus de l'homologie pour placer avec précision les protéines dans des groupes orthologues.
Suivre PanOCT
Analyses pan-génomiques
Les analyses pan-génomiques fournissent un cadre pour déterminer la diversité génomique de l'ensemble des gènomes analysés, mais aussi pour prédire, par extrapolation, combien de séquences génomiques supplémentaires seraient nécessaires pour caractériser l'ensemble du pan-génome ou répertoire génétique.
Inside the Pan-genome - Methods and Software Overview
Suivre: Analyses pan-génomiques
Alignement et comparaison de génomes complets
Suivre : Alignement Genomes
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
Phylogénie basée sur les séquences des ARNr
Question 4.1: Quel-est l’intérêt de réaliser des arbres avec les séquences de l'ARNr? Quels-sont les ARNr présents dans les génomes de procaryotes? A quelle(s) sous-unité(s) ribosomique sont-ils associés?
Suivre : Phylogénie ARNr
Arbre espèces: préparation des fichiers
Support de cours 1 : supports
Support de cours 2 : supports
Nous allons utiliser un sous ensemble de gènes concervés chez Prochlorococcus et Synechococcus pour expérimenter les différentes méthodes de reconstruction phylogénomiques. Nous nous initierons à la comparaison d’arbres.
Suivre : Arbre espèces
Super-alignement (Jeudi)
Comme dans l’article publié en 2018 de Yan et al., nous utiliserons 31 gènes du core genome tirés au hasard. Nous partirons des arbres effectués sur le super-alignement protéique de ces gènes et sur celui retranscrits en nucléotides.
Question 5.8: Proposez une méthode pour obtenir le super-alignement protéique de ces 31 gènes concaténés.
Concaténation de 31 alignements
mkdir ~/work/ProchlorococcusSynechococcus/OG/31_good_alignments ~/work/scripts/concat_aligments.pl --alignments ~/work/ProchlorococcusSynechococcus/OG/good_alignments/SCORE1000.lst --outfile ~/work/ProchlorococcusSynechococcus/OG/31_good_alignments/alignments.fas -nb_ali 31
Liste des alignements retenus:
~/work/ProchlorococcusSynechococcus/OG/good_alignments/SCORE1000.lst
Aller regarder le fichier de sortie. Est-il conforme à l'attendu ?
IQ-TREE
genologin softwares : iq-tree
FAQ : http://www.iqtree.org/doc/Frequently-Asked-Questions
Documentation : http://www.iqtree.org/doc/
Documentation : "Substitution-Models"
mkdir ~/work/ProchlorococcusSynechococcus/phyloG/ cd ~/work/ProchlorococcusSynechococcus/phyloG/ cp ~/work/ProchlorococcusSynechococcus/OG/31_good_alignments/alignments.fas .
Nous allons inférer un arbre à partir du super-alignement en codons: Créer le fichier condTree.sh contenant les lignes suivantes. Lancez le, puis répondez aux questions suivantes car cela va être assez long, vous y reviendrez ensuite. Surtout faites un sbatch --cpus-per-task=4 à partir de genologin pour le lancer car nous avons demandé 4 slots de calcul. N'oubliez pas de spécifier le modèle dans la ligne de commande vous gagnerez 8 heures de calcul ;-)
Bonne pratique pour quand vous travaillerez : prenez l'habitude de vérifier la version la plus récente installée sur genologin. Pensez à vérifier si elle doit être mise à jour, si oui, demander la mise à jour. Si non, utilisez la dernière version.
#!/bin/bash module load bioinfo/iqtree-2.1.3 iqtree -s alignments.fas -redo -bb 1000 -alrt 1000 -st CODON -nt 4 -m KOSI07+F
Pour vous, nous avons inféré un arbre à partir du super-alignement protéique, la ligne de commande lancée était :
iqtree -s all_pep.fas -bb 1000 -alrt 1000 -nt 4
Best-fit model according to BIC: LG+F+R4
Vous trouverez les fichiers générés ici : /home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/all_pep.fas.*. Vous pouvez les copier dans votre répertoire ~/work/ProchlorococcusSynechococcus/phyloG/.
Question 5.10: Pouvez-vous m’expliquer ce qu’on a demandé à IQTREE dans les deux cas ? Quels ont été les modèles choisis ? Pouvez-vous les expliquer ? Ceci peut vous aider : http://www.iqtree.org/doc/Substitution-Models
Question 5.11: Comparez les deux arbres (*.treefile) visuellement avec figtree par exemple (ou avec des outils en ligne tels que : phylo.io, PhyD3, iTOL...). Pour afficher les valeurs de bootstraps, il est nécessaire que figtree les charge comme « labels », ainsi dans la rubrique « node labels » il vous faudra sélectionner « labels » dans le menu déroulant « display ». Mettez l'arbre généré dans le rapport de TP. Quelles sont les principales différences ? Que pensez-vous de ces arbres ? Leurs supports ? Leurs congruences ? Les grands clades connus sont-ils retrouvés ? Comparer avec les arbres des articles ou revues suivant(e)s : La revue de Biller et al : Prochlorococcus : the structure and function of collective diversity L’article de Kettler et al. : Patterns and implications of gene gain and loss in the evolution of Prochlorococcus et celui de Yan et al. : Genome rearrangement shapes Prochlorococcus ecological adaptation. N’oubliez pas de commenter les valeurs de support des nœuds. Pensez à enraciner les arbres en utilisant l’outgroup Synechococcus.
NB: Les noms des espèces et les informations des clades correspondants sont disponibles dans le fichier /home/formation/work/ProchlorococcusSynechococcus/Ancestral_Characters/Strains_info.txt ou dans le tableau ici.
Super-arbres
Nous allons utiliser les arbres individuels protéiques ainsi que celui reconstruit à partir de la petite sous-unité de l’rRNA. Sur genologin le script ssuTree.sh était celui-là :
#!/bin/bash iqtree -s ./ssu_renamed_simplified.aln -nt 1 -AIC -bb 1000 -alrt 1000 -redo
Et on a tapé :
module load bioinfo/iqtree-2.0.6 sbatch --mem=20G ssuTree.sh
Voici l’arbre obtenu :
/home/formation/work/ProchlorococcusSynechococcus/phyloG/ssu_renamed_simplified.aln.treefile
A vous :
Loguez-vous sur genologin.
Lançons les arbres protéiques. Pour cela faire un seul script que vous appellerez ind_pep_trees.sh et qui écrira toutes les commandes en bouclant sur chaque fichier d’entrée. Le but étant d’obtenir une ligne par commande iqtree sur un fichier d’alignement protéique. Les fichiers d’input sont :
/home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/*_renamed.fas
Il vous faut les copier dans votre work car sinon iqtree écrira les fichiers d'output sur le répertoire du compte de formation et pas dans le votre...
Pour vous aider inspirez vous de la réponse à la question "How to generate an sarray command file with bash for single (fastq) file ?" sur la page http://bioinfo.genotoul.fr/index.php/faq/bioinfo_tips_faq/.
Attention à bien spécifier -nt 1. Si vous souhaitez utiliser plus d’un CPU il faut le réserver avec l’option --cpus-per-task dans la commande sbatch / sarray. Pas besoin d’augmenter la RAM pour les protéines. Pensez aussi à mettre -AIC comme critère de sélection de modèle.
Regarder le contenu de ind_pep_trees.sh. Est-il correct ?
Remarque, il n'est pas toujours utile de tester l'ensemble des modèles, vous pouvez faire une pré-sélection avec l'option -mset et/ou -madd. Exemple -mset WAG,JTT,LG.
Rajouter la première ligne obligatoire sur genologin avec vi par exemple :
#!/bin/bash
Pour le lancer en parallèle sur plusieurs nœuds du cluster :
module load bioinfo/iqtree-2.0.6 sarray ind_pep_trees.sh
Pour monitorer votre job :
squeue -l -u <login>
Pour le killer si besoin :
scancel jobid
Quand tous vos jobs sont terminés, vérifiez que les fichiers de sorties ne soient pas vides et que ça s’est bien passé en faisant par exemple :
tail *_renamed.fas.log
Vous pouvez aussi regarder les modèles sélectionnés :
grep 'Best-fit model:' *_renamed.fas.log
Concaténer tous les arbres (les 31 arbres protéiques et l’arbre ARNr obtenu hier) avec la commande cat. Nommez le fichier alltrees.tree.
Test de plusieurs méthodes de super-arbres :
Commençons par la méthode la plus répandue : le MRP.
Pour aller sur un nœud :
srun --pty bash
puis taper :
module load system/R-3.5.1 R library(phytools) trees=read.tree("./alltrees.tree") supertrees<-mrp.supertree(trees,rearrangements="SPR", start="NJ")
Vous avez obtenu les super-arbres les plus parcimonieux. Sauvez-les en utilisant la fonction write.tree de R.
write.tree(supertrees, file = "./superTrees.tree") quit()
Nous sommes sortis de R.
Dans notre cas, nous avons un seul arbre le plus parcimonieux, mais nous aurions pu en obtenir plusieurs.
Utiliser iqtree pour obtenir le consensus des 32 arbres avec la règle majoritaire étendue.
Pour cela restez sur le nœud et tapez :
module load bioinfo/iqtree-2.0.6 iqtree -con -t alltrees.tree -nt 1
Question 5.12: D’après vous que signifie les valeurs aux nœuds sur cet arbre consensus ?
Lancez aussi l’arbre consensus en réseau :
iqtree -net -t alltrees.tree -nt 1
Et visualisez-le avec splitstree en local.
https://software-ab.informatik.uni-tuebingen.de/download/splitstree5/welcome.html
Question 5.13: Commentez ce réseau par rapport aux autres arbres obtenus. Qu’en pensez-vous ?
ASTRAL
Nous pouvons utiliser entré du logiciel le fichier des arbres gènes/protéines concaténés.
Un exemple de script de soumission:
/home/formation/work/ProchlorococcusSynechococcus/phyloG/proteine/Astral/astral.sh
Comparaison des arbres
Concaténez maintenant les deux arbres de super-matrice (celui sur les codons que vous avez lancé toute à l'heure et celui sur les protéines) ainsi que les deux super-arbres (le consensus et le MRP).
Si vous avez eu des difficultés à obtenir l'arbre à partir de l'alignement en codon il est disponible ici : /home/formation/work/ProchlorococcusSynechococcus/phyloG/alignment_0.4_70_31.fas*.
Attention marquez quelques part l'ordre avec lequel vous les avez concaténés pour créer le fichier d'arbres à comparer afin de vous en souvenir ensuite. Lancer ensuite le calcul de la distance de Robinson and Foulds sur ce fichier avec iqtree entre les 4 arbres 2 à 2.
Attention à faire le module load bioinfo/iqtree-2.0.6
Et à rajouter -nt 1 dans les options. Restez sur le nœud ou faites un sbatch, mais ne lancez rien sur le nœud maître.
Question 5.14: Commentez les résultats. Quel est l’arbre le plus différent des autres ? Qu’est-ce qui pourrait l’expliquer ?
Analyse des liens phylogénétiques des gènes du OG5 de PortMCL
Reconstruction d'états ancestraux
Introduction
Si certaines combinaisons de caractères sont systématiquement associées à plusieurs espèces, cela pourrait suggérer que des forces évolutives, comme la sélection, ont façonné ces associations. Toutefois, les associations non aléatoires de certains traits chez certaines espèces peuvent être dues à l'héritage commun de leurs ancêtres et, par conséquent, les changements concomitants dans le temps ne peuvent être déduits.
Si les caractères ont évolué de façon aléatoire sans association, les espèces plus étroitement apparentées sont plus susceptibles d'être semblables que les autres, créant ainsi des relations apparentes entre les caractères.
Il est donc nécessaire de considérer les relations phylogénétiques entre les espèces lors de l'analyse de leurs caractères.
Deux questions peuvent être abordées lors de l'intégration de la phylogénie dans les données comparatives :
- prise en compte de la non-indépendance inter-espèces dans l'étude des caractères et de leurs relations,
- estimation des paramètres d'évolution des caractères.
Ces deux questions sont étroitement liées. En effet l'impact de la phylogénie sur la distribution des caractères dépend non seulement de la phylogénie mais aussi de la façon dont ces caractères évoluent.
Suivre : Etats ancestraux
Liens utiles
Mesquite
Mesquite: A modular system for evolutionary analysis