Modules spécialisés de bioinfo

Beaucoup de modules existent qui peuvent vous simplifier la vie en ayant des structure plus adapter a votre problème ou des algorithmes complexes déjà implémentés.

Ces modules font la force de Python et bien les connaître permet souvent de s'éviter de longues heures de codes

BioPython

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.

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 (Résultats 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 protéines)

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 permettant d'interroger directement par internet des bases de données pour en récupérer les enregistrements (NCBI, ExPASy ...).

Des interfaces sont dévelopés pour pouvoir utiliser des outils bioinformatiques courants (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 chaîne 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 façon de gérer des calculs lourds dans des processus séparés ...

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 grâce 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équence 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'

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

Numpy

Numpy

Logo Numpy

Numpy est un module de calcul scientifique permettant d'intégrer des matrices ou des tableaux à N-dimensions a Python tout en offrant une série d'opérateurs classiques de haut niveau sur ces derniers.

Numpy est disponible pour toutes les versions de Python > 2.1.

Un tutoriel est disponible a cette adresse : http://www.scipy.org/Tentative_NumPy_Tutorial

Accélération des calculs

Par l'utilisation d'algorithmes et de structures optimisés ainsi que de codes pré-compilés, Numpy permet l'utilisation de fonctions sur les matrices beaucoup plus rapides que si ces traitements devaient être fait en python simple.

Fonctionnalités

Les fonctions couvrent un large éventail de domaines depuis la recherche d'extremums dans une liste au calcul d'histogrammes en passant par l'inversion de matrice.

Afin de rendre possible l'utilisation de ces fonctions sur des listes python simple, la fonction array() permet de transformée la dite liste en tableau Numpy.

L'import de ce module offre a python la force de calcul et les fonctions nécessaire pour rivaliser avec d'autres langages très utilisés dans l'analyse de données comme Matlab ou R ...

La liste des fonctions implémentées est énorme et dépend largement de vos besoins. En conséquence je vous invite a rechercher les solutions a vos problèmes sur la page http://docs.scipy.org/doc/numpy/reference/.

MatplotLib

Logo MatplotLib

Matplotlib est un module python permettant de gérer de haut niveau les affichages graphiques de données scientifiques.

Ce module est utilisable avec toutes les versions de Python 2. Une version compatible avec Python 3 est a l'étude.

Des tutoriels ainsi que la documentation sont disponibles a l'adresse suivante : http://matplotlib.org/ .

Fonctionnalités

Les fonctionnalités de base de MatplotLib sont exploitables via le sous-package matplotlib.pyplot

Vous aurez ainsi accès aux fonctions suivantes :

  • plot : affichage de séries.

  • imshow : Affichages de matrices 2D en tant qu'images.

  • hist : Affichages d'histogrammes de séries.

  • ...

AccueilProgrammation en Python > Modules spécialisés de bioinfo< PrécédentSuivant >