String

From Wikili
Jump to: navigation, search

STRING - Known and Predicted Protein-Protein Interactions

 from http://string.embl.de STRING is a database of known and predicted protein interactions.The interactions include direct (physical) and indirect (functional) associations;;they are derived from four sources: Genomic Context, High-throughput Experiments, (Conserved) Coexpression and Previous Knowledge 	 		 		 		 
 STRING quantitatively integrates interaction data from these sources for a large number of organisms, and transfers information between these organisms where applicable. The database currently covers 2,590,259 proteins from 630 organisms.

Nous avons implémenté en local au LBGI la base de données PostgreSQL String8.2 et développé quelques outils pour l'interroger : sous Gscope, en PHP.

Voir aussi ci-dessous comment charger Cytoscape avec les données fournies.

S'utilise surtout à travers SringInteractome et CytoscapeWeb ou Cytoscape

Gscope StringInteractome

Il suffit de donner un fichier contenant une liste de gènes ou de probesets (NM, affy, nom de gène, etc.), par exemple le fichier String_essai.txt avec une ligne d'entête (s'il n'y en a pas on mettra data1 data2, etc...). NB: la ligne d'entête doit commencer par #

 #accessnum	genename
 NM_177470	Acaa2
 NM_010678	Aff3


setgscoperr
gscope puts StringInteractome {FichierDepart RepertoireParent Org {SeuilString ""} {From ""} {WithoutTextMiningOnly ""}}
# (for example, see details described below :)
gscope puts StringInteractome inputFile . Homo_sapiens 700

ou directement en http (ici je donne un exemple avec RepertoireParent qui est '/ici/par/la/SameAsFile' (SameAsFile tel quel dans le texte), et l'orga Homo_sapiens (avec '_' merci)

http://lbgi.igbmc.fr/~ripp/cgi-bin/GscopeServer?EVImm&StringInteractome&/home/ripp/lg.lst&/ici/par/la/SameAsFile&Homo_sapiens
  • FichierDepart (est ici String_essai.txt)
  • RepertoireParent va contenir un nouveau répertoire
    • appelé String_taxid_date qui est créé automatiquement
    • ou si RepertoireParent est de la forme /bidule/machin/SameAsFile on créera /bidule/machin/FichierDepart (sans .txt ... ici String_essai)
  • Org est soit Mus_musculus ou "Mus musculus" ou 10090, Homo_sapiens ou "Homo sapiens" ou 9606, Rattus_norvegicus etc.
  • SeuilString par défaut 700
  • From est FromNM, FromAffy ou FromTest (défaut). Si FromTest on teste chaque valeur pour détecter si c'est NM ou Affy etc.
  • WithoutTextMiningOnly on ne prend pas ceux qui ne sont trouvés QUE PAR textmining

StringInteractome va créer le répertoire RepertoireParent/String_10090_20091213_1655 (ou RepertoireParent/String_essai) qui contiendra

 AttributeNode		contient PreferredName, StringId, et toutes les colonnes du FichierDepart. Permet de colorer les noeuds dans Cytoscape selon les colonnes de ce fichier (exemple: colorer selon l'expression). Par défaut, contient une colonne appelée QueryColor qui permettra de colorer les gènes de départ
 Identifiers		contient les identifiants String correspondant aux gènes du FichierDepart
 QueryOnly.string	network avec uniquement les gènes du FichierDepart
 Sandwich.string	network avec les gènes du FichierDepart et ceux possédant au moins deux interactions avec nos gènes de départ
 String_essai.tgz	le tar gzip de tout ça.
 String_essai.txt	le FichierDepart
 String_essai_context.txt le contexte dans lequel on a créé cette liste
 Summary.txt		contient pour chaque query: Query;StringId;PreferredName;toutes les colonnes du FichierDepart
 WithAny.parser         contient pour chaque query: le nombre d'interactions, le nombre d'interactions uniquement avec les gènes du FichierDepart, le % d'interactions uniquement avec les gènes du FichierDepart et la liste de ces gènes
 WithAny.string         network avec les gènes du FichierDepart et toutes leurs interactions

Filtrage des réseaux:

Il est maintenant possible de filtrer les nœuds du réseau selon l'expression dans une condition.

Par exemple, tu peux garder seulement les nœuds du réseau qui ont une expression dans le muscle.

NB: pas de filtrage sur la liste initiale c'est à dire qu'un nœud de la liste initiale ne sera jamais éliminé.


Le filtre peut être un fichier avec une liste de GeneName (ou probeset ou Sw ou NM).

Il peut être aussi une suite d’argument séparé par des « _ » pour interroger GxDb (pkRe_pkAs_Tag_Min_Max) :

396_1_T_400_600                  récupère les gènes qui s’expriment dans la rétine après RMA et qui ont un SI entre 400 et 600

Mais tu n’es pas obligé de remplir chaque champ :

396_1_T                          récupère les gènes qui s’expriment dans la rétine après RMA
396_1_100_400 == 396_1__100_400  récupère les gènes qui ont une expression entre 100 et 400 après RMA
396_1__100 == 396_1_100          récupère les gènes qui ont une expression supérieur à 100 après RMA
396_0___100                      récupère les gènes qui ont une expression inférieur à 100 après RMA

Tu peux aussi choisir plusieurs realexp ou As avec la virgule comme séparateur :

396,398_1,2_T__900 récupère les gènes qui s’expriment dans la rétine ou la glande salivaire avec une expression supérieure à 900 après RMA ou gcRMA

NB : pour chaque gène de la liste de sortie, il peut y avoir qu’une seule probeset qui réponde aux critères.

NB : dans le cas où pkAs est vide ou égale à 0, cela veut dire qu’on prend tous les As


Si tu laisses le SeuilString au défaut, tu peux utiliser sa place dans la liste d’argument pour ton filtre :

               gscope puts StringInteractome FichierDepart .  Mus_musculus 396_1_T

Si tu veux utiliser un autre SeuilString que le défaut, tu dois utiliser la dernière place dans la liste d’argument :

               gscope puts StringInteractome FichierDepart .  Mus_musculus 900 "" "" "" "" 396_1_T

En fichier sortie, on conserve les fichiers STRING qui ne sont pas filtrés (on leur rajoute l’extension .NotFiltered) et dans le cas ou tu interroges Gx je crée un fichier en sortie de Gx ; la liste des genesnames

PHP StringInteractome

tout ça est accessible depuis PHP.

  • par RrFun::Wscope("EVImm", "StringInteractome", $params);
 params est un array de la forme (on voit ici les valeurs prises par défaut)
       $params["org"]       = "Mus_musculus";  (puisque Laëtitia refuse de mettre un défaut dans StringInteractome !!!)
       $params["seuil"]     = "";
       $params["from"]      = "";
       $params["wtmo"]      = "";
       $params["repparent"] = "home/ripp/GenoretWww/ImAnno/ImAnnoEar/String";

Dans touts les cas on crée un tar gzip .tgz qui peut être téléchargé.

Cytoscape

On a maintenant tout ce qu'il faut pour entrer dans Cytoscape

  1. File/import network from table WithAny.string
  2. File/import network from table Sandwich.string
  3. File/import network from table QueryOnly.string
  4. import attribute AttributeNode

Quand on fait import network il faut :

  1. select file ...
  2. cocher Show text file import options
    • Delimiter Tab (enlever Space)
    • Show all entries
    • Transfert first line as attribute names
  1. Source Interaction prendre column 2 (PNInitial)
  2. Target Interaction prendre column 4 (PNCopain)
  3. Import
  4. Close la fenêtre de baratin

Quand on fait import Attributes

  1. Select table ...
  2. Show text file import options
    • Delimiter Tab (c'est déjà bon)
    • Show all entries
    • Transfert first line as attribute names
  1. Import
  2. Close la fenêtre de baratin

Avec ça on peut colorier nos gènes

  1. Cliquer sur l'onglet WizMapper
  2. Double-cliquer Node Color (il saute en haut)
  3. Select Value QueryColor
  4. Mapping type Discrete Mapper
  5. Cliquer sur le 1 puis dans sa case vide à droite
  6. Il apparaît trois petits points cliquer dessus pour choisir une couleur

Bonne chance !

              Raymond