Beruflich Dokumente
Kultur Dokumente
Master Bioinforma
Manejo, visualizaci
on y c
alculos
topol
ogicos en redes biol
ogicas
Daniel Lopez y David Ochoa
Indice general
1. Introducci
on
Redes Biologicas a estudiar . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Manejo y Visualizaci
on de Redes en Cytoscape
Importando redes . . . . . . . . . . . . . . . . . . . . .
Importar red galFitered . . . . . . . . . . . . . . .
Importar atributos de la red . . . . . . . . . . . .
Visualizacion de las redes y Analisis de expresion . . .
Layouts . . . . . . . . . . . . . . . . . . . . . . .
Visualizando Datos de Expresion (VizMapper) . .
Filtrado . . . . . . . . . . . . . . . . . . . . . . .
Interpretar la Red . . . . . . . . . . . . . . . . . .
Analisis funcional . . . . . . . . . . . . . . . . . . . . .
Generar clusters de coexpresion . . . . . . . . . .
Enriquecimiento de terminos GO . . . . . . . . . . . .
4
4
.
.
.
.
.
.
.
.
.
.
.
6
6
6
7
10
10
11
14
14
16
16
18
.
.
.
.
.
.
.
.
.
20
20
21
21
22
22
25
25
26
28
4. Conclusiones
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
Ap
endices
Instalacion de Cytoscape .
Ejecutar Cytoscape .
Instalar plugins . . .
Instalacion de igraph en R
Navegando por Cytoscape
Interface Cytoscape .
33
35
35
36
37
38
38
.
.
.
.
.
.
.
.
.
.
.
3. An
alisis topol
ogico en R
Cargando distintos tipos de redes . . . . . . . . . . . . .
Parametros topologicos mas generales . . . . . . . . . . .
Caminos mnimos . . . . . . . . . . . . . . . . . . .
Diametro . . . . . . . . . . . . . . . . . . . . . . .
Componente conexo . . . . . . . . . . . . . . . . . .
Cualidades de las Redes Biologicas . . . . . . . . . . . .
Coeficiente de clustering . . . . . . . . . . . . . . .
Redes de mundo peque
no (Small-World Networks)
Redes libres de escala (Scale-free Networks) . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Men
us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
40
Captulo 1
Introducci
on
El objetivo de este tutorial es familiarizarse con el manejo y visualizacion de redes
biologicas as como aprender a calcular algunos de sus parametros topologicos mas relevantes. Aunque existen multitud de herramientas para trabajar con redes, en esta practica
solo se utilizaran Cytoscape y R por motivos didacticos. El fin no es crear un manual de
dichos programas, ni ahondar entre los cientos de opciones y plug-ins que existen, sino mas
bien hacerse con una vision general del analisis de redes y sobre todo en las posibilidades
que dichos analisis ofrecen.
Es importante recordar que para la realizacion de la practica es imprescindible tener
previamente instalado Cytoscape con todos los plug-ins que utilizaremos (Instalacion de
Cytoscape) as como R con la librera igraph (Instalacion de igraph en R).
La practica esta encuadrada dentro del modulo de Redes Biologicas y Biologa de
Sistemas y pretende servir ademas como complemento a la clase de Teora de Grafos
vista previamente as como a las clases venideras en las que se trataran algunas de las
redes biologicas mas relevantes en la actualidad.
Redes Biol
ogicas a estudiar
En esta practica vamos a utilizar dos redes biologicas. Por un lado, utilizaremos los
datos procedentes del siguiente artculo publicado en Science en 2001:
Ideker et al. Integrated genomic and proteomic analyses of a systematically perturbed metabolic network. Science (2001) vol. 292 (5518) pp. 929-34
Es importante entender el articulo del que proceden los datos. A grandes rasgos, Ideker
et al. llevan a cabo un estudio sistemico en levadura de la respuesta del metabolismo de
la galactosa a distintas perturbaciones como delecion o sobrexpresion de genes, o cambios
de temperatura o de las condiciones del medio. Ante tales perturbaciones, cuantificaron
el mRNA y la expresion de protenas a escala genomica y los integraron con redes de
interaccion entre protenas y protena-DNA disponibles en aquel momento.
4
Captulo 2
Manejo y Visualizaci
on de Redes en
Cytoscape
Importando redes
Para empezar a trabajar con Cytoscape lo primero que necesitamos es crear o cargar
una red. Cytoscape reconoce numerosos formatos de archivos (.sif, .nnf, .gml, .xls, . . . ),
permite la importacion desde un archivo tabular (.txt, .xls) y ofrece la posibilidad de
cargar una red a traves de un webservice. Si nos interesa, tambien podemos crear o
modificar nuestra propia red, a
nadiendo los nodos y los enlaces pertinentes. Por u
ltimo,
Cytoscape tiene la posibilidad de cargar una sesion previamente guardada (.cys). La
sesion, ademas de guardar la red, tambien guarda los atributos modificados (color, forma,
layout,. . . ) as como la posicion de las ventanas y algunas otras preferencias.
Problema
Ahora que hemos importado los atributos de la red, tenemos todos los datos de
expresion de los nodos en nuestro Data Panel. Seras capaz de encontrar aquellos
genes que estan diferencialmente expresados cuando reprimimos el gen gal80 usando
el Data Panel ?Alguno de estos genes puede estar relacionado con el metabolismo de
la galactosa?
Visualizaci
on de las redes y An
alisis de expresi
on
El hecho de visualizar una red de una manera u otra puede parecer un asunto trivial,
pero nada mas lejos de la realidad. En muchas ocasiones, la representacion de la red
nos puede ayudar a observar propiedades o extraer conclusiones que quiza de otro modo
nunca hubieramos apreciado. Hagamos una peque
na demostracion:
Selecciona en el men
u Layout Cytoscape Layouts Force-Directed Layout.
A continuacion en el tab VizMapper selecciona la opcion Sample1 en la caja
Current Visual Style.
Tras aplicar este estilo, podemos ver como, ademas de aplicar distintos cambios no informativos como el color de los nodos, tambien hemos alterado la etiqueta, el color y
el tipo de las conexiones en funcion de si la interaccion es de tipo protena-protena o
protena-DNA. Como ya hablamos en la seccion Redes Biologicas a estudiar, Ideker et
al. emplearon ambos tipos de evidencias en la reconstruccion de la red por lo que ahora
podemos visualizar de una manera clara y sencilla los dos tipos de interacciones. Ahora comprenderas que una visualizacion apropiada ayuda mucho a la comprension de las
redes. Veamos como podemos personalizar la visualizacion a nuestro gusto.
Layouts
La mejor forma de entender los Layouts es probandolos. As que aplica unos cuantos
del men
u Layout. Algunos de ellos son pesados (weighted ) en funcion de alg
un atributo
y otros en cambio, simplemente ordenan la red en funcion de la topologa. Otra opcion
interesante es que puedes aplicar un layout solo a los nodos que tienes seleccionados.
Esta opcion es muy practica especialmente en determinados redes con topologas muy
particulares.
Una vez aplicado un layout, es frecuente que te interese mover algunos nodos para que
la visualizacion quede a tu gusto. Obviamente, puedes mover los nodos uno a uno pero
para mejorar la visualizacion es mas interesante el panel Align and Distribute que puedes
encontrar en el men
u Layout Align and Distribute. Con este panel es mucho mas
sencillo obtener una visualizacion de la red personalizada. De igual manera, el panel Scale
(Layout Scale) puede ser de gran utilidad.
Problema
De entre todos los nodos de la red existe uno que no tiene identificador. Seras
capaz de encontrarlo?
10
Para cambiar los colores de la escala, haz click sobre el gradiente para editarlo. Haz
doble click sobre el triangulo que se encuentra mas a la izquierda en color negro.
Este es el color que representara el color mas bajo de expresion por lo que asocialo
con un color rojo brillante.
Repite la misma accion con el segundo triangulo negro. Esto cambiara el gradiente
de rojo a blanco.
A continuacion, desliza el siguiente triangulo (blanco) hacia un valor proximo a 0
para representar aquellos genes que no estan ni sobrexpresados ni reprimidos.
Haz click sobre Add para a
nadir un nuevo triangulo a la escala. Haz click sobre el
y selecciona un color verde brillante.
Cambia tambien el color del u
ltimo triangulo al mismo verde brillante.
Cierra la ventana y comprueba que la red se asemeja al gradiente que se muestra
en la Figura 2.3
Figura 2.4: Edicion de la forma del nodo en funcion del p-value usando VizMapper
13
Ahora podemos comparar de un simple vistazo, aquellos nodos cuya expresion esta
diferencialmente alterada por el hecho de reprimir la expresion del gen gal80.
De igual manera, puedes aplicar todo lo aprendido con VizMapper para cambiar
cualquier otro parametro visual a tu gusto. Puede ser un buen momento para guardar
todos los avances que has realizado hasta ahora.
Filtrado
Como vimos al inicio de la seccion Visualizacion de las redes y Analisis de expresion,
en esta red estamos representando una combinacion de interacciones protena-protena
(pp) y protena-DNA (pd). A continuacion, vamos a filtrar las interacciones pp para
quedarnos u
nicamente con las interacciones protena-DNA.
Haz click sobre el tab Filters del Control Panel.
En el desplegable Attribute/Filters selecciona edge.interaction y a
nadelo mediante el boton Add.
Escribe las letras pp en la caja de texto para especificar que quieres todas aquellas
interacciones que coinciden con esta expresion.
Haz click en el boton Apply Filters para aplicar el filtro que hemos creado y veras
como se seleccionan algunas de las interacciones.
Seleccionamos en el men
u Edit Delete Selected Nodes and Edges puesto
que estas son las interacciones que no nos interesan.
Aplicamos un layout como Force-Directed Layout para conseguir una visualizacion mas amigable.
Interpretar la Red
Podemos ver que hay 3 genes brillantes (altamente sobrexpresados) en la misma region
del grafo y que hay 2 nodos que interaccionan con los 3: GAL4 (YPL248C) y GAL11
(YOL051W). Vamos a crear una subred a partir de esta para facilitar la interpretacion:
Seleccionamos GAL4 y GAL11 y seleccionamos sus vecinos mas cercanos (Select
Nodes First Neighbors of Selected Nodes).
Creamos la subred mediante el men
u File New Network From Selected
Nodes, All Edges.
Aplicamos un layout para obtener figuras como las que se muestran en la Figura
2.5.
14
Gal1R
MIG1
Gal4R
MIG1
GAL1
GAL80
GAL11
GAL4
CYC1
GCY1
GAL2
GAL80
CYC1
GCY1
GAL2
GAL11
GAL4
GAL7
GAL7
GAL7
GAL1
GAL10
GAL10
GAL11
GAL4
MIG1
GAL1
GAL10
GAL80
Gal80R
CYC1
GCY1
GAL2
Figura 2.5: Expresion de la subred de regulacion de GAL4 y GAL11 en los distintos casos
experimentales analizados tras reprimir Gal1, Gal4 y Gal80 respectivamente. El color de
los nodos representa los niveles de expresion y la forma si el p-value es menor (cuadrado)
o mayor (crculo) de 0.05.
Problema
Hasta ahora has analizado la subred de GAL4 y GAL11 a partir de la expresion de
los genes tras reprimir GAL80. No obstante, podra ser interesante ver lo que sucede
si reprimimos GAL1 o GAL4 ya que poseemos esos datos de expresion y los podemos
mostrar simplemente cambiando el mapping del VizMapper tal y como se muestra en
la Figura 2.5.
Teniendo en cuenta que no tenemos datos de direccionalidad (que protena regula
a que gen), seras capaz de plantear un modelo de regulacion? En el articulo de
Ideker et al. se plantea un posible modelo. Estas de acuerdo con el?
Te puede servir de ayuda obtener mas informacion de los nodos. Prueba la opcion
LinkOut Entrez Gene haciendo click con el boton derecho sobre cualquiera
de ellos.
15
An
alisis funcional
En esta seccion vamos a trabajar de nuevo con la red galFiltered, por lo que sera
conveniente cargar de nuevo la sesion galFiltered.cys que se encuentra en el directorio
sampleData. El objetivo de esta parte de la practica sera encontrar clusters de genes
que co-expresen entre ellos. Ademas, analizaremos si estan enriquecidos en alguna funcion utilizando Gene Ontology. Como ya vimos en la seccion Visualizacion de las redes
y Analisis de expresion, la represion de los genes GAL1, GAL4 y GAL80 provoca un
efecto diferente sobre la expresion de algunos de los genes con los que interaccionan. A
continuacion generaremos clusters de genes que co-expresen en las 3 condiciones (Gal1R,
Gal4R y Gal80R) para buscar posibles modulos funcionales.
Si todo ha ido bien observaras un resultado como el que se muestra en la Figura 2.7.
En ella puedes observar un heatmap con los datos de expresion en las 3 condiciones as
como un dendrograma en el que se observa la clusterizacion de los valores. De esta forma,
puedes hacer click en cualquier clado del dendrograma y de esta forma seleccionar los
genes agrupados en el.
17
Enriquecimiento de t
erminos GO
A continuacion vamos a emplear el plugin BiNGO para encontrar terminos Gene
Ontology sobrerrepresentados en un grupo de genes. Gene Ontology es, como su propio
nombre indica, una ontologa. Esto es, un lenguaje controlado que representa conceptos
en 3 ambitos de la Biologa Celular: proceso biologico, componente celular y funcion
molecular. Es por tanto un vocabulario de conceptos para etiquetar genes o sus productos
de una forma ordenada y jerarquica.
Trabajando con redes es muy frecuente tener un grupo de genes o protenas con una
serie de terminos funcionales asociados a cada uno. Por ello puede ser interesante realizar
un test hipergeometrico para ver que funciones estan sobrerrepresentadas. Es precisamente esto lo que hace BiNGO y lo que trataremos de realizar en esta seccion. Puedes
analizar cualquier subseleccion de nodos pero ahora trataremos de ver el enriquecimiento
en terminos GO de los genes que hemos encontrado coexpresados en clusterMaker (GAL1,
GAL7 y GAL10).
Aseg
urate que los nodos a analizar estan seleccionados.
Selecciona ahora en el men
u Plugins Start BiNGO 2.4.4.
En el men
u de BiNGO introduce un nombre para el cluster y revisa el resto de
opciones. Algunos parametros corresponden al test estadstico que vamos a ejecutar
o a la correccion por multiple testing. Otro parametro importante es que ontologa
de Gene Ontology vamos a emplear. En este caso, analizaremos al nivel de proceso
biologico. Si necesitas ayuda haz click en el boton Help.
18
regulation of
transcription
by galactose
positive
regulation of
transcription
by carbon
catabolites
regulation of
positive
transcription regulation of
by carbon
transcription,
catabolites DNA-dependent
cellular
regulation of
positive
response to transcription, regulation of
nutrient
DNA-dependent transcription
positive
regulation of
RNA
metabolic
process
response to
nutrient
cellular
response to
nutrient
levels
regulation of
transcription
positive
positive
regulation of
regulation of
macromolecule
gene
biosynthetic
expression
process
positive
regulation of
cellular
biosynthetic
process
response to
chemical
stimulus
response to
nutrient
levels
cellular
response to
extracellular
stimulus
positive
regulation of
regulation of
regulation of
regulation of
macromolecule
cellular
gene
macromolecule
biosynthetic
biosynthetic
expression
metabolic
process
process
process
positive
regulation of
biosynthetic
process
cellular
response to
stimulus
cellular
regulation of
response to
regulation of
cell
response to macromolecule
extracellular
biosynthetic
communication
external
metabolic
stimulus
process
stimulus
process
cellular
response to
chemical
stimulus
response to
external
stimulus
cellular
process
regulation of
primary
metabolic
process
regulation of
cellular
metabolic
process
positive
regulation of
nucleobase,
nucleoside,
nucleotide
and nucleic
acid
regulation of
metabolic
nucleobase,
process
nucleoside,
nucleotide
and nucleic
acid
metabolic
process
positive
regulation of
metabolic
process
regulation of
metabolic
process
regulation of
cellular
process
regulation of
RNA
metabolic
process
carbohydrate
phosphorylation
galactose
catabolic
process via
UDP-galactose
phosphorylation
galactose
catabolic
process
phosphate
metabolic
process
hexose
catabolic
process
galactose
metabolic
process
phosphorus
metabolic
process
monosaccharide
catabolic
process
hexose
metabolic
process
alcohol
catabolic
process
positive
regulation of
cellular
metabolic
process
positive
regulation of
nitrogen
compound
metabolic
process
regulation of
nitrogen
compound
metabolic
process
positive
regulation of
cellular
process
cellular
metabolic
process
cellular
carbohydrate
metabolic
process
small
molecule
catabolic
process
carbohydrate
catabolic
process
catabolic
process
carbohydrate
metabolic
process
small
molecule
metabolic
process
positive
regulation of
biological
process
response to
stimulus
cellular
monosaccharide
carbohydrate
metabolic
catabolic
process
process
alcohol
metabolic
process
primary
metabolic
process
regulation of
biological
process
metabolic
process
biological
regulation
biological_process
Figura 2.9: Aspecto de la red Biological Process con un layout jerarquico con los nodos
coloreados por el enriquecimiento en un determinado termino GO.
Problema
Podemos observar que existe un enriquecimiento en los terminos relacionados
con el metabolismo de la galactosa Tienen sentido para ti los resultados que has
obtenido? Que sucedera si utilizaras otra ontologa como Molecular Function? Prueba a realizar el enriquecimiento cogiendo ahora todos los genes que empleaste en el
analisis de la Figura 2.5.
19
Captulo 3
An
alisis topol
ogico en R
La lista de parametros que se usan para describir la topologa de una red es enormemente larga y depende en gran medida de la observacion que se quiera realizar. En esta
seccion, aprenderemos a calcular algunos de los parametros topologicos mas importantes
para el estudio y analisis de redes biologicas, y los compararemos con los obtenidos para
redes artificiales. Para ello nos valdremos del entorno R y de su paquete de analisis de
grafos igraph. Si bien hemos visto como Cytoscape nos ofrecece multitud de opciones a la
hora de interactuar con nuestras redes, R es una herramienta especialmente interesante
cuando queremos trabajar con una mayor cantidad de datos o cuando queremos realizar
analisis de mayor complejidad.
Para realizar los siguientes pasos necesitaremos tener instalado tanto R como el paquete igraph. Si a
un no lo tienes instalado, puedes recurrir al apartado anexo Instalacion
de igraph en R. Una vez instalado, bastara con abrir una consola de R y cargar la librera
igraph mediante el siguiente comando:
> library(igraph)
Puesto que esta puede ser nuestra primera experiencia con el paquete, conviene echar
un vistazo a la ayuda del mismo. Nos valdremos del comando help.start(). Esto nos
abrira un navegador donde encontraremos la ayuda de R. Bastara con hacer click en Packages y posteriormente en igraph. Echa un vistazo por encima y reconoceras muchas de
las funcionalidades de las que hemos hecho uso en Cytoscape. Del mismo modo, encontraras funciones para calcular parametros topologicos como el diametro de la red o el
camino mnimo entre dos nodos que implementan algunos de los algoritmos vistos en la
clase de Teora de grafos.
que, ademas de permitir cargar ficheros locales, permite importar redes situadas en un
servidor remoto. Una vez cargada, podemos utilizar la funcion summary() para mostrar
un resumen de la misma:
> fyi <- read.graph("http://csbg.cnb.csic.es/master2012/www/data/fyi.net",
+
directed=FALSE)
> summary(fyi)
Vertices: 1379
Edges: 2493
Directed: FALSE
No graph attributes.
No vertex attributes.
No edge attributes.
(G(n,m)). Este
u
ltimo sera el que utilicemos en nuestro caso, ya que nos interesa generar
una red aleatoria con el mismo n
umero de nodos y conexiones que fyi. Recuerda que
puedes consultar la ayuda de cualquier funcion con el comando help() o empleando el
operador ? (ej. ?erdos.renyi.game).
> erdosgraph <- erdos.renyi.game(length(V(fyi)), length(E(fyi)),
+
type="gnm")
Problema
Ahora que has sido capaz de crear redes aleatorias mediante el Modelo de Gilbert,
seras capaz de generar una red usando el Modelo de Erdos-Renyi de 100 nodos y
una probabilidadd de 0.5? Has obtenido el n
umero de nodos y conexiones esperado?
Parametros topol
ogicos m
as generales
Caminos mnimos
La librera igraph nos permite calcular facilmente los caminos mnimos entre nodos.
Utilizando por ejemplo la funcion shortest.paths() podemos calcular la distancia mnima entre un conjunto de nodos y el resto de la red. La distancia mnima media de toda
la red nos da una idea de como de alejados estan los nodos
21
> average.path.length(erdosgraph)
[1] 5.672712
> average.path.length(fyi)
[1] 9.410451
Di
ametro
El diametro de una red se define como el mayor camino mnimo en una red, o dicho
de otro modo, el camino mnimo entre los dos nodos mas alejados de la red. La Figura 3.1
muestra el diametro de la red fyi
> diameter(erdosgraph)
[1] 12
> diameter(fyi)
[1] 25
Componente conexo
Podemos igualmente analizar el tama
no de los componentes conexos de la red. La
funcion cluster() calcula todas las subredes cuyos nodos estan conectados entre s.
> c <- clusters(fyi)
> c$no
[1] 162
> table(c$csize)
2
81
3
31
4
11
5
14
#C
omo de grandes son cada uno de ellos?
6
4
7
4
8
3
9
5
10
3
11
2
13
1
16
1
30 778
1
1
Problema
Como puedes observar, en la red fyi hay 162 componentes conexos, de los cuales
81 estan formados solo por dos nodos. A que crees que se debe el hecho de que no
existan nodos aislados?
Calcula los componentes conexos para nuestra red aleatoria equivalente seg
un el
Modelo de Gilbert. Que diferencias hay? A que crees que se deben?
22
23
24
t1 <- graph.formula(A-B:C:D:E)
#creamos un grafo con 5 nodos
t1$layout <- layout.circle
#aplicamos un layout en c
rculo
V(t1)$color <- "white"
#definimos el color de los nodos
V(t1)[name=="A"]$color <- "orange"
#asignamos un color espec
fico al nodo A
V(t1)$size <- 40
#tama~
no de los nodos
V(t1)$label.cex <- 3
#tama~
no de la etiqueta de los nodos
V(t1)$label <- V(t1)$name
#la etiqueta de cada nodo ser
a su nombre
E(t1)$color <- "black"
#color de la conexi
on entre dos nodos
E(t1)$width <- 3
#grosor de la conexi
on entre dos nodos
tr <- transitivity(t1, type="local", vids="A")
#transitividad del nodo A
plot(t1, main=paste("Transitividad de 'A':", tr))
Transitividad de 'A': 0
B
C
A
D
E
Cuando se a
naden conexiones entre los nodos adyacentes el coeficiente de clustering
aumenta.
> t2 <- add.edges(t1, V(t1)[name %in% c("C","D")], color="red", width=3)
> tr <- transitivity(t2, type="local", vids="A")
> plot(t2, main=paste("Transitividad de 'A':", round(tr,4)))
25
B
C
A
D
E
Problema
Hemos observado como el coeficiente de clustering de la red erdos es 0.0036 mientras que para fyi es 0.543. Si recuerdas la definicion de coeficiente de clustering,
consideras que son n
umeros razonables para redes biologicas o sociales?
Por otro lado, crees que el hecho de tener mayor diametro y caminos mnimos mas
largos es compatible con el hecho de tener un coeficiente de clustering global mayor?
Como dibujaras dos redes peque
nas para que se cumplieran dichas condiciones?
Sin embargo, veamos que sucede si creamos una red con tantos nodos como nuestra
red fyi :
> bigstrogatzgraph <- watts.strogatz.game(1, length(V(fyi)), 2, 0)
> transitivity(bigstrogatzgraph)
[1] 0.5
27
> average.path.length(bigstrogatzgraph)
[1] 172.7504
[1] 0.1181512
> average.path.length(strogatzgraph)
[1] 6.197887
28
Scalefree network
0.2
P(k)
0.3
0.1
0.0
10
15
20
25
30
Podemos generar el mismo grafico de distribucion de grados para nuestras redes artificiales creadas seg
un el modelo de Watts y Strogatz y de Erdos-Renyi:
> plot(degree.distribution(strogatzgraph),type="b",pch=1,col="blue",
+
xlab="Degree", ylab="Frequency")
> points(degree.distribution(erdosgraph),type="b",pch=2,col="red")
> legend("topright", c("strogatz","erdos"), col=c("blue","red"), pch=c(1,2),
+
ncol=1, yjust=0, lty=0)
strogatz
erdos
0.3
0.1
0.2
0.0
Frequency
Degree
29
10
30
Problema
Seras capaz de predecir el coeficiente de clustering global de la red que acabamos
de generar? A que se debe?
Conforme aumentamos el n
umero de conexiones que se crean en cada iteracion (parametro
m), aumenta el coeficiente de clustering y disminuye el camino mnimo medio
> barabasigraph <- barabasi.game(vcount(fyi), m = 2, directed=FALSE,
+
out.pref = TRUE)
> transitivity(barabasigraph)
[1] 0.006414719
> average.path.length(barabasigraph)
[1] 4.51426
0.500
0.100
0.020
0.005
0.001
Frequency
10
20
Degree
31
50
0.500
0.100
0.020
0.005
Frequency
0.001
ErdsRnyi
Watts y Strogatz
Barabasi
fyi
10
20
50
Degree
Problema
La Figura 3.3 muestra la distribucion de grados de todas las redes estudiadas en
esta practica. Cuales crees que son scale-free? Que ventajas y desventajas crees que
supone, desde el punto de vista evolutivo, que una red biologica sea scale-free?
32
Captulo 4
Conclusiones
A lo largo de este tutorial hemos visto los conceptos mas basicos para trabajar con
Cytoscape. Ahora deberas ser capaz de instalar tanto el programa como sus plugins,
crear e importar tus propias redes as como aquellas procedentes de artculos cientficos,
cambiar la visualizacion de las redes a tu antojo y trabajar con algunos plugins.
Evidentemente esto es solo un repaso general. Si a
un te has quedado con ganas de mas
echa un vistazo a la pagina http://cytoscape.wodaklab.org/wiki/Welcome donde podras
encontrar material muy interesante como tutoriales, presentaciones. . . . Ademas tambien
puedes encontrar artculos interesantes que pretenden servir de gua para llevar a cabo
analisis dentro de Cytoscape. Un buen ejemplo es el siguiente:
Cline et al. Integration of biological networks and gene expression data using Cytoscape. Nat Protoc (2007) vol. 2 (10) pp. 2366-82
En la segunda parte de la practica hemos visto como trabajar con redes valiendose del
entorno de trabajo R y la librera igraph. Hemos aprendido a cargar redes biologicas, a
generar redes artificiales seg
un diferentes modelos y a calcular los parametros topologicos
mas comunes. En la web de igraph (http://igraph.sourceforge.net/) puedes encontrar
manuales y la documentacion de la librera, as como la librera en otros lenguajes de
programacion como C, Python o Ruby.
Agradecimientos
Agradecemos a Mike Smoot, David de Juan y Florencio Pazos por su ayuda y material
proporcionado para llevar a cabo este tutorial ya que sin ellos no hubiera sido posible.
33
Ap
endices
34
Instalaci
on de Cytoscape
En esta practica vamos a trabajar con la version de Cytoscape 2.8. La version sobre
la que se trabaja es algo especialmente crtico en Cytoscape ya que los plugins estan
dise
nados para una version especfica y no necesariamente trabajan en las demas. Por esta
razon, y para no perder demasiado tiempo en la instalacion hemos creado una carpeta
tanto con Cytoscape 2.8 como con todos los plugins que se utilizaran. Puesto que no
requiere privilegios de administracion, bastara con descargar el fichero comprimido desde
la web de la practica (link), descomprimirlo y ejecutar el siguiente comando desde el
directorio en cuestion:
1
. / c y t o s c a p e . sh
Ejecutar Cytoscape
Para abrir la aplicacion desde Linux o Mac OSX basta con hacer doble click en el
icono creado por el instalador o bien ejecutar el fichero cytoscape.sh. En Windows en
cambio hay que abrir el fichero cytoscape.bat. Tambien es posible ejecutar directamente
el programa desde la consola con el siguiente comando (desde el directorio que contiene
la aplicacion):
1
j a v a Xmx512M j a r c y t o s c a p e . j a r p p l u g i n s
Instalar plugins
Una de las grandes cualidades de Cytoscape es que es de codigo abierto, por lo que
cualquier usuario puede aportar nuevas herramientas creando un plugin y distribuyendolo. Esto ha convertido a Cytoscape en una aplicacion muy poderosa con multitud de
utilidades para resolver, de los problemas mas generales, a los mas especficas.
Instalaci
on de igraph en R
En primer lugar hay que instalar R. Los pasos detallados para instalar R en linux,
MacOS X y Windows se pueden encontrar en la propia web de R (link). En caso de usar
Ubuntu, la mejor opcion es a
nadir el repositorio de R al archivo sources.list y usar apt
para completar la instalacion. Para instalar igraph basta con entrar en R y escribir:
1
i n s t a l l . p a c k a g e s ( i g r a p h )
Una vez elegido el servidor mas cercano, la instalacion se completara de forma automatica. Para empezar a trabajar con igraph en el entorno de R simplemente carga la
librera con la siguiente funcion:
1
l i b r a r y ( i g r a p h )
37
Interface Cytoscape
Abre Cytoscape y observa las distintas partes de la ventana principal:
En la parte superior del escritorio de Cytoscape encontraras la barra de herramientas
con los botones mas importantes. Pasa el raton sobre ellos para ver para que sirve
cada uno.
En el extremo superior derecho esta la ventana Main Network View donde se
mostrara la informacion sobre la red. Esta region esta originalmente en blanco.
A la izquierda se encuentra el Control Panel. Es una lista con las redes que tienes
abiertas. Contiene su nombre as como el n
umero de nodos y conexiones. La red
aparecera en verde si has creado una vista de ella o en rojo si no hay una visualizacion de la misma. Para crearla o destruir la vista basta con hacer click con el boton
derecho sobre el nombre de la red.
Inmediatamente debajo del Control Panel encontraras el Network Overview Panel
que contiene una visualizacion general de la representacion de la red.
En el extremo inferior derecho puedes encontrar el Data Panel que contiene la
informacion mas importante sobre los nodos, las conexiones o los atributos de la
red.
Estos dos u
ltimos paneles pueden ser extrados y hacerse flotantes sobre el escritorio para
facilitar la visualizacion, simplemente haciendo click sobre el icono que se encuentra en
el extremo superior derecho.
Men
us
Vamos a ver muy por encima los men
us mas importantes de Cytoscape.
File
El men
u File contiene las principales funciones para trabajar con ficheros:
Open para abrir ficheros de sesion de Cytoscape.
New para crear una nueva red.
38
Layout
El men
u Layout es una lista de opciones para cambiar el aspecto de la representacion
visual de las redes:
Rotate, Align, Scale y Distribute permiten trabajar con la visualizacion general.
La seccion que se encuentra en la parte inferior contiene una gran variedad de algoritmos que automaticamente alteran la visualizacion de las redes. Los hay pesados
por alg
un parametro o no pesados.
Plugins
Contiene las opciones mas importantes para administrar o usar las extensiones. Este
men
u puede variar notablemente a medida que instalemos nuevos plugins con nuevas
funcionalidades.
Help
El men
u de ayuda te permite lanzar el visualizador de la ayuda para navegar por los
contenidos del manual de Cytoscape.
40