Astuce programmation BioPython : Parser les multi-genbank et les multi-FASTA produits par Batch Entrez

Pré­re­quis : Savoir 'un peu' se ser­vir d'un shell et avoir ins­tal­lé Python et son module Bio.

But : Redé­cou­per des mul­ti-gen­bank ou des mul­ti-FAS­TA en un fichier par entrée.

Dif­fi­cul­té : 2/​5 (Facile)

Prin­cipe : Le NCBI pro­pose un outil très pra­tique pour récu­pé­rer faci­le­ment des jeux de don­nées diver­si­fiés : Bat­chEn­trez, vous trou­ve­rez plus d'information ici. On télé­charge ain­si un fichier texte unique réunis­sant toutes les don­nées. Si les don­nées sont au for­mat FASTA, on obtient un mul­ti-FAS­TA ; ce for­mat est bien recon­nu par les logi­ciels, par contre, pour des fichiers au for­mat Gen­bank on obtient un mul­ti-Gen­bank moins aisé à mani­pu­ler. On sou­hai­te­rait donc redé­cou­per ce fichier de façon à obte­nir un fichier unique par entrée. Il est pos­sible de faire ce décou­page à la main  mais ça reste assez contrai­gnant dès qu'on a plus de deux entrées, mais fort heu­reu­se­ment, Python et sa biblio­thèque Bio sont là pour nous aider !

Biblio­thèque Bio­Py­thon : Bio­Py­thon est un ensemble d'outils déve­lop­pés en Python et dédiés à la mani­pu­la­tion de don­nées de bio­lo­gie molé­cu­laire. Vous trou­ve­rez une liste exhaus­tive des modules sur le site http://​www​.bio​py​thon​.org et un tuto­riel très abor­dable à l'adresse http://​bio​py​thon​.org/​D​I​S​T​/​d​o​c​s​/​t​u​t​o​r​i​a​l​/​T​u​t​o​r​i​a​l​.​h​tml. Pour vous don­ner un petit aper­çu, il contient divers 'par­seurs' de fichiers aux for­mats les plus uti­li­sés en bio­in­for­ma­tique, des outils de mani­pu­la­tion de séquences nucléo­ti­diques (reverse-com­plé­men­ta­tion, ran­do­mi­sa­tion, etc.), plu­sieurs outils d'alignement (MUSCLE) et la pos­si­bi­li­té de lan­cer des BLAST et d'en 'par­ser' les résul­tats, des outils de modé­li­sa­tion pro­téique, de phy­lo­gé­nie, et j'en passe. En plus Bio­Py­thon est constam­ment amé­lio­ré par une grande com­mu­nau­té de contri­bu­teurs.
S'il n'est pas déjà mis en place sur votre machine Unix, Bio­Py­thon s'installe assez faci­le­ment à l'aide des com­mandes 'pip ins­tall bio­py­thon' ou 'easy_​install bio­py­thon'.

Démons­tra­tion :

Dans un shell Unix, on com­mence natu­rel­le­ment par se pla­cer dans le dos­sier qui contient notre fichier, puis on lance une ligne de com­mande python, en entrant (sus­pens) :

$ python

Ensuite, on importe le module Bio­Py­thon dédié à la mani­pu­la­tion de séquences et d’annotations et on ouvre le fichier (ici un mul­ti-gen­bank .ggbk) dans la variable 'a' :

>>> from Bio import SeqIO
>>> a = open('mon_fichier.ggbk', 'r')

Enfin, on écrit la sor­tie

>>> for record in SeqIO.parse(a, 'gen­bank'):
SeqIO.write([record], open(record.id[:-2]+'.gbk', 'w'), 'gen­bank')

On obtient dans le dos­sier un fichier par entrée, por­tant le nom de l'identifiant gen­bank de la séquence, ou de l'identifiant fas­ta pour un mul­ti-fas­ta (le cas échéant, sim­ple­ment rem­pla­cer 'gen­bank' par 'fas­ta').

TIP pour les débu­tants : pour quit­ter l’interpréteur python, il suf­fit de faire taper exit() ou son rac­cour­ci cla­vier Ctrl‑D pour les gens sym­pas ou pomme‑D pour les autres gens sym­pas

Et voi­là, c'était facile.



Pour continuer la lecture :


Commentaires

2 réponses à “Astuce programmation BioPython : Parser les multi-genbank et les multi-FASTA produits par Batch Entrez”

  1. Avatar de Guillaume B.
    Guillaume B.

    Mer­ci pour l'astuce.

    Cette tech­nique n'est pas uni­ver­selle : Ce script doit être édi­té pour d'autres sources.
    Per­son­nel­le­ment, j'utilise un outil d'EMBOSS http://​emboss​.sour​ce​forge​.net/ pour décou­per ces fichiers : seq­rets­plit

    Pour les mul­ti-gen­bank :
    seq­rets­plit mon_fichier.ggbk ‑osformat2 gen­bank ‑osextension2 gb ‑auto

    Pour les mul­ti-fas­ta (en uti­li­sant les valeurs par défaut):
    seq­rets­plit mon_fichier.fasta ‑auto

    Ce pro­gramme gère de nom­breux types de fichier, cepen­dant il ne per­met pas de conser­ver la casse de l'identifiant pour le nom du fichier créé.

    1. Avatar de guy roger kaputua
      guy roger kaputua

      mer­ci pour l'information car j'en arai tou­jours besoin pour ma for­ma­tion conti­nue sur ce domaine

Laisser un commentaire