Prérequis : Savoir 'un peu' se servir d'un shell et avoir installé Python et son module Bio.
But : Redécouper des multi-genbank ou des multi-FASTA en un fichier par entrée.
Difficulté : 2/5 (Facile)
Principe : Le NCBI propose un outil très pratique pour récupérer facilement des jeux de données diversifiés : BatchEntrez, vous trouverez plus d'information ici. On télécharge ainsi un fichier texte unique réunissant toutes les données. Si les données sont au format FASTA, on obtient un multi-FASTA ; ce format est bien reconnu par les logiciels, par contre, pour des fichiers au format Genbank on obtient un multi-Genbank moins aisé à manipuler. On souhaiterait donc redécouper ce fichier de façon à obtenir un fichier unique par entrée. Il est possible de faire ce découpage à la main mais ça reste assez contraignant dès qu'on a plus de deux entrées, mais fort heureusement, Python et sa bibliothèque Bio sont là pour nous aider !
Bibliothèque BioPython : BioPython est un ensemble d'outils développés en Python et dédiés à la manipulation de données de biologie moléculaire. Vous trouverez une liste exhaustive des modules sur le site http://www.biopython.org et un tutoriel très abordable à l'adresse http://biopython.org/DIST/docs/tutorial/Tutorial.html. Pour vous donner un petit aperçu, il contient divers 'parseurs' de fichiers aux formats les plus utilisés en bioinformatique, des outils de manipulation de séquences nucléotidiques (reverse-complémentation, randomisation, etc.), plusieurs outils d'alignement (MUSCLE) et la possibilité de lancer des BLAST et d'en 'parser' les résultats, des outils de modélisation protéique, de phylogénie, et j'en passe. En plus BioPython est constamment amélioré par une grande communauté de contributeurs.
S'il n'est pas déjà mis en place sur votre machine Unix, BioPython s'installe assez facilement à l'aide des commandes 'pip install biopython' ou 'easy_install biopython'.
Démonstration :
Dans un shell Unix, on commence naturellement par se placer dans le dossier qui contient notre fichier, puis on lance une ligne de commande python, en entrant (suspens) :
1 |
[crayon-673fdc57a34c2169640631 ]python |
Ensuite, on importe le module BioPython dédié à la manipulation de séquences et d’annotations et on ouvre le fichier (ici un multi-genbank .ggbk) dans la variable 'a' :
1 2 |
[crayon-673fdc57a34c6597575666 ]from Bio import SeqIO a = open('mon_fichier.ggbk', 'r') |
Enfin, on écrit la sortie
1 2 3 4 |
[crayon-673fdc57a34c9371554073 ]for record in SeqIO.parse(a, 'genbank'): ... SeqIO.write([ ;record], open(record.id[ ;:-2]+'.gbk', 'w'), 'genbank') ... |
On obtient dans le dossier un fichier par entrée, portant le nom de l'identifiant genbank de la séquence, ou de l'identifiant fasta pour un multi-fasta (le cas échéant, simplement remplacer 'genbank' par 'fasta').
TIP pour les débutants : pour quitter l’interpréteur python, il suffit de faire taper exit() ou son raccourci clavier Ctrl‑D pour les gens sympas ou pomme‑D pour les autres gens sympas
Et voilà, c'était facile.
Laisser un commentaire