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
StringInteractome {FichierDepart RepertoireParent Org {SeuilString ""} {From ""} {WithoutTextMiningOnly ""}}
- 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 je sais pas ! 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);
- par PipeWork ... voir le PipeWork ImAnnoEarGeneListWithDiaVennString
- en gros, il faut appeler ImAnnoString et lui fournir un array des données, les clés à garder dans le bon ordre (NM en premier), le nom de la racine (par ex. String_essai), un texte avec le context
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écharger.
Cytoscape
On a maintenant tout ce qu'il faut pour entrer dans Cytoscape
- File/import network from table 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