Le Module BioPython
Définition : BioPython
BioPython est un projet Gratuit et Open Source fournissant des fonctions et des procédures conçues pour le traitement et l'analyse de données biologiques en Python.
Ce module est utilisable avec Python > 2.3.
Pour les version de Python > 3.1 même si l'intégration avec Python 3 n'est pas encore officiellement gérée, la majorité du code reste utilisable.
Fonctionnalités
L'intérêt principal de ce module est qu'il fourni des parseurs permettant l'accès a de nombreux formats de fichiers utilisés en biologie.
Blast output (Resultats de recherche comparatives entre séquences)
Clustal output (Alignements Multiples)
FASTA
GenBank
PubMed et Medline (Recherche biblioGraphique)
ExPASy (ex : Enzyme, Prosite)
SCOP (Classification de protéines)
UniGene (ARN)
SwissProt (Séquences de proteines)
Le module contient des parseurs pouvant lire les enregistrements un par un ou pour les indexer au sein d'un dictionnaire.
Il contient également des modules permetant d'interoger directement par internet des bases de donénes pour en récupérer les enregistrements (NCBI, ExPASy ...).
Des interfaces sont dévelopés pour pouvoir utiliser des outils bioinformatiques courrants (Blast,Clustal...)
Structure
Les séquences lues grâce a ce module sont en réalités stoquées dans des Objets Python de type Sequence
.
On peut ainsi sauvegarder la chaine en elle même ainsi que des informations pouvant se révéler intéressantes. Par exemple, un nom, le dictionnaire des acides aminés utilisés...
Fonctionnalités sur les Sequences
Le module mets a la disposition des programmeurs tout une serie d'algorithmes utilisants en entré des objets de type Sequence.
Des opérateurs de translations, transcriptions etc...
Des algorithmes de classification (kNN,Naive Baye, SVM...)
Des codes pouvant réaliser des alignements et identifier des substitutions.
Des interfaces graphiques pour les manipulations de séquence.
Des facon de gérer des calculs lourds dans des processus séparés ...
Exemple : Transcription en ARN
>> from Bio.Seq import Seq
>> maSequence = 'ATCCTGTCTGTAGCTG'
On va ensuite créer un objet Sequence
a partir de notre chaine de caractère.
>> seqObj =Seq(seq)
>> seqObj
Seq('ATCCTGTCTGTAGCTG', Alphabet())
La transcription se fera ensuite grace a la fonction transcribe()
>> tr = seqObj.transcribe()
>> tr
Seq('AUCCUGUCUGUAGCUG', RNAAlphabet())
Ici, remarquez que l'alphabet utilisé a changé en conséquence du fait que les nucléotides utilisés ne sont plus les mêmes.
Si vous souhaitez récupérer la séqiuence elle même en tant que chaine de caractère et non en tant qu'objet, vous pouvez utiliser la fonction str()
.
>> str(tr)
>> 'AUCCUGUCUGUAGCUG'
Conseil :
Vous trouverez une description détaillée des différentes possibilités de ce module sur la documentation de leur site : http://biopython.org/DIST/docs/tutorial/Tutorial.html
Conseil : L'utiliser avec Python3
Bien que cela ne soit pas mentionné, BioPython fonctionne également avec Python 3. Pour cela, une petite manipulation est nécessaire.
A cette adresse : http://biopython.org/wiki/Download téléchargez les sources de BioPython (zip ou tarball).
Extrayez le dossier BIO dans le dossier de votre projet, a coté des fichiers qui devront utiliser les fonctionnalités de BioPython.
Faite un test avec python3
de la commande import Bio
une fois à l'intérieur du dossier de votre projet.