Bioconductor R Stringdb

Estoy usando el paquete STRINGdb de biconductor para manipular la base de datos String de ppi. Soy novato y no encuentro útil la documentación del paquete. Quiero extraer la red asociada de cáncer, por ejemplo, traté de usar esta función s <- string_db$get_term_proteins(terms_id,string_ids =NULL , enableIEA =TRUE )y no sé qué significa ese atributo terms_id.

segundo, ¿existe una forma más sencilla de obtener la red completa utilizando la interfaz R que se proporciona en la URL como ejemplo?

https://string-db.org/cgi/network.pl?taskId=2hQuabKoXe02

Respuestas (1)

El terms_id está destinado a ser un vector de GO o KEGG ID que anotan las proteínas de interés. Como se describe, el método get_term_protein:

Devuelve las proteínas anotadas para pertenecer a un término dado.

Mi justificación en parte proviene de las viñetas para STRINGdb que usan términos en un conjunto separado de funciones como esta:

>head(enrichmentGO, n=7)
term_id proteins hits pvalue pvalue_fdr
1 GO:0048545 383 15 2.337593e-07 0.000368020
2 GO:0006952 1286 28 3.806997e-07 0.000368020
3 GO:0002252 405 15 4.756829e-07 0.000368020
4 GO:0010466 234 11 1.767763e-06 0.001025745
5 GO:0045861 330 12 8.407161e-06 0.003765892
6 GO:0010951 228 10 9.735179e-06 0.003765892
7 GO:0002443 141 8 1.224368e-05 0.003839606
term_description
1 response to steroid hormone
2 defense response
3 immune effector process
4 negative regulation of peptidase activity
5 negative regulation of proteolysis
6 negative regulation of endopeptidase activity
7 leukocyte mediated immunity
>head(enrichmentKEGG, n=7)
term_id proteins hits pvalue pvalue_fdr
1 04115 66 6 9.969204e-08 1.475442e-05
2 04610 68 5 3.577966e-06 2.647695e-04
3 05168 174 5 3.254067e-04 1.605340e-02
4 01100 1161 12 5.277721e-04 1.952757e-02
5 04380 123 4 8.399948e-04 2.486385e-02
6 00590 61 3 1.197959e-03 2.638087e-02
7 05161 139 4 1.322517e-03 2.638087e-02
term_description
1 p53 signaling pathway
2 Complement and coagulation cascades
3 Herpes simplex infection
4 Metabolic pathways
5 Osteoclast differentiation
6 Arachidonic acid metabolism
7 Hepatitis B

Y así seguiría el uso, por ejemplo, quiero proteínas que se asocien con el crecimiento celular, puedo usar c("GO:0016049") como mi terms_id para recuperar esa lista.

library(STRINGdb) #load package

string_db <- STRINGdb$new(version="10", species=9606, score_threshold=0, input_directory="") #set environment, 9606=human

string_db$get_term_proteins(c("GO:0016049")) #use new environment variable to query the database, 0016049 refers to cell cycle just as an example.

Salida (columna de anotaciones con descripciones de texto eliminadas por brevedad):

               STRING_id    term_id preferred_name protein_size
1   9606.ENSP00000002829 GO:0016049         SEMA3F          785
2   9606.ENSP00000211998 GO:0016049            VCL         1134
3   9606.ENSP00000212355 GO:0016049         TGFBR3          851
4   9606.ENSP00000216037 GO:0016049           XBP1          261
5   9606.ENSP00000216911 GO:0016049          AURKA          403
6   9606.ENSP00000221930 GO:0016049          TGFB1          390
7   9606.ENSP00000225792 GO:0016049           DDX5          614
8   9606.ENSP00000230732 GO:0016049         POU4F3          338
9   9606.ENSP00000238682 GO:0016049          TGFB3          412
10  9606.ENSP00000239462 GO:0016049            TNN         1299
11  9606.ENSP00000245479 GO:0016049           SOX9          509
12  9606.ENSP00000255448 GO:0016049          DCLK1          729
13  9606.ENSP00000256951 GO:0016049           EMP1          157
14  9606.ENSP00000258106 GO:0016049           EMX1          290
15  9606.ENSP00000258743 GO:0016049            IL6          212
16  9606.ENSP00000261023 GO:0016049          ITGAV         1048
17  9606.ENSP00000261918 GO:0016049         SEMA7A          666
18  9606.ENSP00000262017 GO:0016049          ITGB3          788
19  9606.ENSP00000263713 GO:0016049        EPB41L5          733
20  9606.ENSP00000263980 GO:0016049         SLC9A1          815
21  9606.ENSP00000264057 GO:0016049           DGKD         1214
22  9606.ENSP00000264279 GO:0016049          NOP58          529
23  9606.ENSP00000265136 GO:0016049           COBL         1261
24  9606.ENSP00000265362 GO:0016049         SEMA3A          771
25  9606.ENSP00000265371 GO:0016049           NRP1          923
26  9606.ENSP00000266058 GO:0016049          SLIT1         1534
27  9606.ENSP00000268182 GO:0016049         IQGAP1         1657
28  9606.ENSP00000270221 GO:0016049           EMP3          163
29  9606.ENSP00000272134 GO:0016049         LEFTY1          366
30  9606.ENSP00000276416 GO:0016049           BIN3          253
31  9606.ENSP00000278671 GO:0016049        LAMTOR1          161
32  9606.ENSP00000281321 GO:0016049         POU4F2          409
33  9606.ENSP00000283027 GO:0016049          NUBP1          320
34  9606.ENSP00000284981 GO:0016049            APP          770
35  9606.ENSP00000296388 GO:0016049         LEPRE1          736
36  9606.ENSP00000296755 GO:0016049          MAP1B         2468
37  9606.ENSP00000296875 GO:0016049           GDF9          454
38  9606.ENSP00000301067 GO:0016049           MLL2         5537
39  9606.ENSP00000303351 GO:0016049          ITGB1          798
40  9606.ENSP00000305133 GO:0016049          SOCS5          536
41  9606.ENSP00000306157 GO:0016049           IL7R          459
42  9606.ENSP00000306662 GO:0016049         ADRA1B          520
43  9606.ENSP00000307156 GO:0016049          LAMB2         1798
44  9606.ENSP00000307272 GO:0016049          RPTOR         1335
45  9606.ENSP00000316357 GO:0016049          USP9X         2570
46  9606.ENSP00000316543 GO:0016049          RAPH1         1250
47  9606.ENSP00000317257 GO:0016049          CPNE1          542
48  9606.ENSP00000322957 GO:0016049           PAK7          719
49  9606.ENSP00000324549 GO:0016049         CYFIP1         1253
50  9606.ENSP00000324560 GO:0016049           ULK1         1050
51  9606.ENSP00000324856 GO:0016049          STK11          433
52  9606.ENSP00000329623 GO:0016049           BCL2          239
53  9606.ENSP00000330382 GO:0016049          PDGFB          241
54  9606.ENSP00000332643 GO:0016049            NDN          321
55  9606.ENSP00000333982 GO:0016049          NDEL1          345
56  9606.ENSP00000334458 GO:0016049          GATA4          442
57  9606.ENSP00000335246 GO:0016049         ENTPD5          428
58  9606.ENSP00000337146 GO:0016049          ENOX2          610
59  9606.ENSP00000337332 GO:0016049          SIRT6          355
60  9606.ENSP00000337697 GO:0016049            DCX          441
61  9606.ENSP00000339740 GO:0016049         CAMK2D          499
62  9606.ENSP00000340820 GO:0016049           MAPT          776
63  9606.ENSP00000341940 GO:0016049           CAV3          151
64  9606.ENSP00000347906 GO:0016049          PRMT2          433
65  9606.ENSP00000348769 GO:0016049          ARIH2          493
66  9606.ENSP00000351049 GO:0016049           PAK4          591
67  9606.ENSP00000351591 GO:0016049          NLGN3          848
68  9606.ENSP00000351905 GO:0016049         TGFBR2          592
69  9606.ENSP00000353362 GO:0016049        CACNA1A         2506
70  9606.ENSP00000353582 GO:0016049           NRP2          931
71  9606.ENSP00000354558 GO:0016049           MTOR         2549
72  9606.ENSP00000354829 GO:0016049          SGMS1          413
73  9606.ENSP00000354877 GO:0016049           ULK2         1036
74  9606.ENSP00000355627 GO:0016049            AGT          485
75  9606.ENSP00000355785 GO:0016049         LEFTY2          366
76  9606.ENSP00000355896 GO:0016049          TGFB2          442
77  9606.ENSP00000357288 GO:0016049        LAMTOR2          125
78  9606.ENSP00000357470 GO:0016049           IL6R          468
79  9606.ENSP00000357494 GO:0016049           ROS1         2347
80  9606.ENSP00000359095 GO:0016049          PRMT6          375
81  9606.ENSP00000359729 GO:0016049         SLC9A6          701
82  9606.ENSP00000360973 GO:0016049          AGTR2          363
83  9606.ENSP00000360988 GO:0016049          LUZP4          313
84  9606.ENSP00000361423 GO:0016049           ABL1         1149
85  9606.ENSP00000362092 GO:0016049          RRAGC          399
86  9606.ENSP00000362717 GO:0016049           LHX2          406
87  9606.ENSP00000363822 GO:0016049             AR          920
88  9606.ENSP00000365663 GO:0016049           NPPA          151
89  9606.ENSP00000366396 GO:0016049           XRN2          950
90  9606.ENSP00000367123 GO:0016049         SLC3A2          631
91  9606.ENSP00000367830 GO:0016049          PRKCZ          592
92  9606.ENSP00000368030 GO:0016049         ATAD3A          634
93  9606.ENSP00000368169 GO:0016049           DVL1          670
94  9606.ENSP00000368683 GO:0016049           EDN1          212
95  9606.ENSP00000369014 GO:0016049           NDNF          568
96  9606.ENSP00000369816 GO:0016049           SHBG          402
97  9606.ENSP00000369960 GO:0016049         ADRA1A          475
98  9606.ENSP00000370330 GO:0016049        ERBB2IP         1371
99  9606.ENSP00000376800 GO:0016049           MTPN          118
100 9606.ENSP00000377823 GO:0016049          NDRG4          391
101 9606.ENSP00000377947 GO:0016049           RARG          454
102 9606.ENSP00000378306 GO:0016049         PPP3CB          525
103 9606.ENSP00000379003 GO:0016049          NUPR1          100
104 9606.ENSP00000385610 GO:0016049          MEX3C          659
105 9606.ENSP00000395359 GO:0016049          CADM1          442
106 9606.ENSP00000411672 GO:0016049       ATP6V0E2          213
107 9606.ENSP00000414303 GO:0016049           BDNF          329
108 9606.ENSP00000419782 GO:0016049           CDK5          292
109 9606.ENSP00000422591 GO:0016049          SLIT2         1529
110 9606.ENSP00000427941 GO:0016049       ATP6V0E1           81
111 9606.ENSP00000430333 GO:0016049          SLIT3         1523
112 9606.ENSP00000465742 GO:0016049        RASGRP4          673
Entonces, si quiero recuperar las interacciones de proteínas y proteínas, uso la misma función, ¿o debería usar la función get_proteins() o get_interactions()? aparentemente la función get_term_proteins() no es la correcta para mis necesidades
Entonces, primero déjame averiguar, ¿con qué datos estás comenzando? ¿ Ya tienes una lista de genes que solo estás tratando de descubrir su red de interacción? En ese caso, puede probar el método get_link() para obtener un buen resultado directamente desde el sitio de STRINGdb.
Todavía no tengo una red de interacción en mente, en realidad estoy buscando una red de 3k 2k, estoy pensando en el cáncer por ahora. ¿Conoce algún gen (proteína) donde pueda obtener este volumen de datos? pd: ¿te refieres al método get_interactions()?