TP - Programmation Python pour la BIOInfo

Le Module BioPython

DéfinitionBioPython

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.

http://biopython.org

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 ...

ExempleTranscription 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

ConseilL'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.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)