silico.biotoul.fr
 

M2BBS - IDH

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Intégration dans une base de données orientée graphes)
m (Données et scripts)
Line 84: Line 84:
* nécessaire pour installer RSTRINGdb
* nécessaire pour installer RSTRINGdb
  dnf install libcurl-devel.x86_64
  dnf install libcurl-devel.x86_64
 +
 +
commandes:
 +
* extraction d'un fichier csv tabulé pour l'import dans neo4j (dans le répertoire import)
 +
  mysql -u root -pbioinfo go -B -e "SELECT id, acc, term_type, name FROM term WHERE acc LIKE 'GO:%' AND is_obsolete=0" > neo4j-community-3.0.6/import/go.terms.csv
 +
* remplacer les '\t' par des ','
 +
* import dans neo4j
 +
LOAD CSV WITH HEADERS FROM "file:///go.terms.csvt" AS row
 +
CREATE (n:GOTerm)
 +
SET n = row,
 +
  n.id = row.id,
 +
  n.acc = row.acc,
 +
  n.term_type = row.term_type,
 +
  n.name = row.name 
 +
<!--
<!--

Revision as of 14:15, 22 September 2016

Contents

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.

Remarque : le script python utilise le module scipy.

root> pip install scipy

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
  • Pour chaque pathway biocyc, proposer le term GO le plus représentatif
  • Visualisation des résultats avec REVIGO

Prise en main de la librairie R/Bioconductor R-STRINGdb

Sites et documentation :

Travail à réaliser :

  • Installer la librairie (si nécessaire)
  • Retrouver l'espèce Escherichia coli K12 MG1655, quel est son identifiant taxonomique/STRINGdb ?
  • Quelle est la différence entre STRINGdb core et STRINGdb periphery ?
  • Télécharger tout le graphe pour E. coli K12 pour un seuil de 400. A quoi correspond ce seuil ? combien d'interactions obtenez-vous ?
  • Afficher le sous graphe pour les groupe de gènes ALAS ARGS ASNS ASPS CYSS GLTX GLYQ GLYS HISS ILES. A quoi correspond la p-valeur affichée ?
  • Télécharger les annotations associées à chaque sommet.

Intégration dans une base de données orientée graphes

Sites et documentations :

install.packages("devtools")
devtools::install_github("nicolewhite/RNeo4j")
library(RNeo4j)

Installation (cf. https://neo4j.com/docs/operations-manual/current/deployment/#linux-installation)

tar tzf neo4j-community-3.0.6-unix.tar.gz
tar xzf neo4j-community-3.0.6-unix.tar.gz
cd neo4j-community-3.0.6/

Démarrage et arrêt du serveur

./bin/neo4j console

Le processus est au premier plan donc pour arrêter le serveur il faut faire Ctrl + C dans le terminal.

Utilisation depuis le navigateur (vérifier le port renseigné lors de la précédente commande)

http://localhost:7474/

Suivre le premier exemple dans Example Graphs intitulé Movie Graph.

Passer ensuite à l'exemple suivant Northwind Graph et adapter les commandes pour importer le modèle suivant :

Requêtes Cypher.

Interfaçage python.

Données et scripts

dnf install libcurl-devel.x86_64

commandes:

  • extraction d'un fichier csv tabulé pour l'import dans neo4j (dans le répertoire import)
 mysql -u root -pbioinfo go -B -e "SELECT id, acc, term_type, name FROM term WHERE acc LIKE 'GO:%' AND is_obsolete=0" > neo4j-community-3.0.6/import/go.terms.csv
  • remplacer les '\t' par des ','
  • import dans neo4j
LOAD CSV WITH HEADERS FROM "file:///go.terms.csvt" AS row
CREATE (n:GOTerm)
SET n = row,
 n.id = row.id,
 n.acc = row.acc,
 n.term_type = row.term_type,
 n.name = row.name