String
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.
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
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
- File/import network from table WithAny.string
- File/import network from table Sandwich.string
- File/import network from table QueryOnly.string
- import attribute AttributeNode
Quand on fait import network il faut :
- select file ...
- cocher Show text file import options
- Delimiter Tab (enlever Space)
- Show all entries
- Transfert first line as attribute names
- Source Interaction prendre column 2 (PNInitial)
- Target Interaction prendre column 4 (PNCopain)
- Import
- Close la fenêtre de baratin
Quand on fait import Attributes
- Select table ...
- Show text file import options
- Delimiter Tab (c'est déjà bon)
- Show all entries
- Transfert first line as attribute names
- Import
- Close la fenêtre de baratin
Avec ça on peut colorier nos gènes
- Cliquer sur l'onglet WizMapper
- Double-cliquer Node Color (il saute en haut)
- Select Value QueryColor
- Mapping type Discrete Mapper
- Cliquer sur le 1 puis dans sa case vide à droite
- Il apparaît trois petits points cliquer dessus pour choisir une couleur
Bonne chance !
Raymond