silico.biotoul.fr
 

M2BBS - IDH

From silico.biotoul.fr

Revision as of 15:20, 25 September 2014 by Barriot (Talk | contribs)
Jump to: navigation, search

Contents

BioMart

Premier pas avec BioMart : Utilisation de l'interface Web

Allez sur le site de l'EBI, puis sur BioMart pour interroger UniProt.

A partir du formulaire (dataset, filters et attributes) et du bouton count, estimer la taille du protéome de Escherichia coli K12, Bacillus subtilis 168 et Pseudomonas aeruginosa PAO1.

Ensuite, faites une requête pour obtenir tous les attributs 'Protein' ainsi que 'Gene Ontology'.

Puis :

  • Essayer différents filtres (ayant des termes GO, ou autre).
  • Sélectionner certains attributs.
  • Utiliser la fonctionnalité count puis results.
  • A quoi peuvent servir les boutons XML et Perl ?

Installation locale

Aller sur le site de BioMart pour récupérer la dernière version. Pour cela, vous aurez besoin de git et ant (à installer avec yum donc s'ils ne sont pas déjà présents sur le système).


La suite correspond essentiellement à des extraits du manuel utilisateur (section Quick start, etc.) pour mettre à disposition des jeux de données distant depuis votre serveur. Vous n'hésiterez donc pas à vous y référer pour plus de détails. Le travail à réaliser :

  • compilation du serveur avec ant
  • intégration d'une source de données distante au serveur, configuration de point d'accès et lancement du serveur
  • intégration d'une source de données locale (MySQL) et édition de lien avec la source de données précédente
  • utilisation à partir de l'interface Web et à partir d'un client de services Web (script python)

Installation de git and ant :

yum list git ant

Récupération de BioMart avec git :

git clone https://github.com/biomart/BioMart.git --branch 0.9.0 

Compilation

cd BioMart
ant
# build successful ! (on vous le souhaite)

Intégration d'une source de données distante

Prise en main rapide :

Lancer mart configurator et dans l'onglet Source, cliquer sur 'Add source'. Garder les paramètres par défaut pour accéder à l'étape 'choose source' où vous sélectionnerez unimart/uniprot.

Ajouter ensuite un add access point, garder les paramètres par défaut, et démarrer le serveur. Si tout va bien, l'interface de BioMart devrait s'ouvrir sous la forme d'une page Web dans le navigateur. A partir de là, vous pouvez accéder au datasets proposés.

Essayer de récupérer les mêmes informations que précédemment (bacteria; coli/... ; accession gene; go id; go name).

Démarrerou arrêter le serveur à partir de la ligne de commande :

Save as... ..../unimart_uniprot.xml
cd BioMart
./dist/scripts/biomart-server.sh start
./dist/scripts/biomart-server.sh stop

Il est aussi possible de changer différents paramètres comme par exemple le port utilisé par le serveur dans dist/biomart.properties (puis http.port = 9000 ou http.host = localhost).

Intégration d'une source de données locale

Télécharger et restaurer, tout d'abord, la sauvegarde de la base Media:M2BBS-IDH-biomart_dbs.tar.bz2 dans une base de données MySQL.

Ensuite, dans MartConfigurator, dans l'onglet 'Source', cliquer sur 'Add source' et sélectionner RDBMS à la palce de URL. Ensuite, renseigner les paramètres de connexion au serveur de bases de données (typiquement : localhost, port 3306). Sélectionner la base précédemment restaurée.

Ajouter ensuite un point d'accés et tester le résultat.

Edition de lien entre les sources locales et distantes

  1. Faire un clic droit sur le point d'accès puis 'edit'
  2. cliquer sur 'import from source'
  3. la panneau de gauche correspond aux donner à lier, et celui de droite au point d'accés auquel "ajouter" des données liées
  4. dans le panneau de gauche, prendre la source uniprot et l'attribut 'accession' et le glisser-déposer dans le panneau de droite dans la liste des attributs (gene_attribute), il devrait apparaitre une fenêtre pour éditer sur quels attributs faire la "jointure" : sélectionner accession à gauche (doucle clic) et uniprot à droite. Fermer la fenêtre d'édition de lien puis ajouter d'autres attributs (par exemple GO ID et GO Name).

Services Web

WSDL: http://localhost:9000/martsoap?wsdl

liste des marts au format XML : http://localhost:9000/martservice/marts et au format JSON : http://localhost:9000/martservice/marts.json

filtres (nécessite un dataset appelé uniprot) : http://localhost:9000/martservice/filters?datasets=uniprot

attributs (nécessite aussi un dataset appelé uniprot) : http://localhost:9000/martservice/attributes?datasets=uniprot


Suivre l'exemple donné dans la documentation pour effectuer une requête sur votre instance BioMart afin de récupérer un jeu de données depuis un script python ou perl.

Annexes

Enrichment analysis

Dans cette partie, il s'agit d'analyser un groupe de gènes en le confrontant à des groupes de gènes obtenus selon différentes fonctions de regroupement.

La fonction de regroupement proposée est l'appartenance à une même voie métabolique dans la banque de données BioCyc. Ainsi, pour chaque pathway, un groupe de gène est formé.

Le script python search_enriched_sets.py permet de charger ces ensembles de gènes pré-formés EcolA.biocyc.sets et de chercher les plus similaires à un groupe de gènes d'intérêts. Essayez-le avec ALAS ARGS ASNS ASPS CYSS GLTX GLYQ GLYS HISS ILES par exemple pour vous faire une idée de son fonctionnement.

Comparez les résultats avec ceux obtenus en recherchant parmi les ensembles formés des gènes annotés avec le même terme de la Gene Ontology (EcolA.go.sets). Que constatez-vous ?

Travail à réaliser :

  • Analyser le code source du script search_enriched_sets.py
  • Modifier le script pour utiliser une autre mesure d'enrichissement et comparer les résultats obtenus (ex: χ2 d'indépendance). (Travail à réaliser en dehors de cette séance)
  • Pour chaque pathway biocyc, proposer le term GO le plus représentatif

Prioritization

Installation des bibliothèques requises :

easy_install pip
pip list
pip search h5py
yum -y install hdf5.x86_64 hdf5-devel.x86_64    
pip install h5py
pip install scikit-learn
yum -y install libpng-devel.x86_64
pip install matplotlib

Prise en main des scripts

  • librairie Prioritization.py: classes pour la priorisation de gènes par fusion de données génomiques
    • ScoreMatrix: matrice de dissimilarité/similarité/distance entre paires de gènes
    • Identifiers et IdentifierMap: chargement et manipulation d'identifiant de gènes
    • PrioritizedItem: représentation d'un candidat évalué (score, rank, ...)
    • Prioritizer: priorisation et fusion à partir de différentes matrices
  • script mat.info.py: affiche les informations contenues dans un fichier HDF5 représentant une matrice
  • script prioritize.py: Chargement d'une matrice et priorisation des candidats par rapport aux gènes d'entrainement
  • script fuse.py: Fusion de priorisations obtenues avec le script précédent

Représentation d'une matrice de distance avec le format HDF5.

Jeu de données :

  • Gènes impliqués dans la synthèse du peptidoglycane :
    • core : MURA MURB MURC MURD MURE MURF MRAY MURG
    • biosynthèse : MURA MURB MURC MURD MURE MURF MRAY MURG GLMU MRSA GLMS BACA YAES DDLA DDLB DADX MURI DAPF DAPE ARGD DAPD DAPB DAPA ASD LYSC
  • Systèmes ABC expertisés : EcolA.ncleandb12.training.abc et candidats EcolA.ncleandb12.candidates.abc
  • Matrices :

Information sur un gène à partir de son identifiant dans ABCdb : https://www-abcdb.biotoul.fr/#/entry/findbestmatch/ID/EcolA.RBSA

Données et scripts