You are on page 1of 40

tica y Biologa Computacional

Master Bioinforma

Manejo, visualizaci
on y c
alculos
topol
ogicos en redes biol
ogicas
Daniel Lopez y David Ochoa

Modulo de Redes y Biologa de Sistemas

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

Asimismo, en otra parte de la practica trabajaremos con la red de interacciones fsicas


entre protenas de Saccharomyces cerevisiae, obtenida desde numerosas fuentes y que se
publico en:
Han et al. Evidence for dynamically organized modularity in the yeast proteinprotein interaction network. Nature (2004) vol. 430 (6995) pp. 88-93
No es necesario descargar las redes del material suplementario del articulo ya que los
datos se encuentran accesibles dentro del directorio Cytoscape_v2.8.0/sampleData de
la carpeta de Cytoscape.

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.

Importar red galFitered


Uno de los archivos con los que trabajaremos en la practica es galFiltered.sif que
se encuentra en el directorio sampleData de la carpeta de instalacion de Cytoscape (ver
seccion Redes Biologicas a estudiar). Antes de cargarlo conviene echarle un vistazo con
un editor de texto. El formato SIF (Simple Interaction File) es el mas sencillo. Consta
u
nicamente de 3 columnas que representan el nodo de origen, el tipo de interaccion y
el nodo de destino en este orden. Generalmente, mientras los nodos suelen ser identificadores de genes o protenas, los tipos de interaccion suelen hacer alusion a la relacion
que mantienen. Para importar esta red seguiremos los pasos siguientes:
Ir al men
u File Import Network (multiple file types).
Seleccionar la opcion Local y darle a Select.
Abrir el directorio sampleData que se encuentra dentro de la carpeta de instalacion
de Cytoscape
Seleccionar galFiltered.sif y hacer click primero en Open y luego en Import.
6

Tras esto veras algo como la Figura 2.1.

Figura 2.1: Importacion correcta de la red galFiltered.sif

Importar atributos de la red


En ocasiones nos puede interesar a
nadir informacion complementaria de los nodos
como anotacion funcional, ubicacion celular, etc. En esta ocasion a
nadiremos datos de
expresion genica. Para ello:
Ve al men
u File Import Attribute from Table (Text/MS Excel)
En nuestro caso queremos importar informacion de los nodos por lo que deberemos
asegurarnos de que este seleccionado el boton Node de la seccion Data Sources
Haz click en Select File(s) y selecciona el fichero galExpData.csv
En la seccion Advanced haz click en Show Text File Import Options y selecciona
la coma como separador de campos
Haz click tambien en Transfer first line attribute names de la seccion Attribute
Names
Finalmente selecciona la opcion Import Everything (Key is always ID) para
asegurarse que se importan todas las columnas y no solo aquellas que coinciden con
alguno de los parametros que ya tienes en la red
7

Figura 2.2: Import Annotation File


Si todo ha ido bien deberas ver algo similar a la Figura 2.2. Para terminar haz click
en Import.

Detente un momento y trata de observar lo que estamos haciendo. Hemos importado


un fichero con datos de expresion para los distintos genes que tenemos en la red obtenidos
a partir de los experimentos de Ideker et al. que ya vimos en el apartado Redes Biologicas
a estudiar. En este fichero (galExpData.csv) tenemos 8 columnas. La primera (GENE )
hace referencia al identificador del gen que estamos anotando. La segunda COMMON se
refiere al nombre com
un que recibe dicho gen. Esta es una informacion a
nadida que no
estaba en nuestra red original por lo que es un ejemplo de como cambiar los identificadores
de los nodos a
nadiendo atributos a las redes. Las 6 columnas siguientes, representan
3 condiciones experimentales diferentes (gal1R, gal4R, gal80R), en cada una de ellas
reprimiendo la expresion de un gen en particular gal1, gal4 o gal80 respectivamente.
Para cada una de las condiciones tenemos ademas 2 columnas: una que hace referencia
al propio valor de expresion (exp) y otra en la que se especifica el valor de significancia
(sig) o p-value del mismo.
En la parte inferior de Cytoscape se encuentra el panel de datos. Dicho panel es u
til
para mostrar los atributos de los nodos y enlaces que el propio usuario selecciona sobre
la red. Para ver los nuevos atributos que has importado, selecciona un nodo de la red y
haz click en el boton Select All Attributes. De esta manera, podremos ver detalladamente,
todos los atributos que hayamos importado o incluso calculado en el propio Cytoscape.

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

Visualizando Datos de Expresi


on (VizMapper)
Los datos de expresion se suelen utilizar en Cytoscape para cambiar los atributos
visuales de la red. La herramienta VizMapper, integrada en el propio n
ucleo del programa,
permite cambiar la representacion grafica en base a la informacion disponible. Esta opcion
ofrece una gran potencia a la hora de integrar e interpretar los resultados en un contexto
biologico.
Etiquetado de los nodos
Para cambiar los atributos de los nodos recurriremos por tanto a VizMapper :
En primer lugar abre el VizMapper, bien seleccionando el tab en el panel de la
izquierda o bien haciendo click en el icono de la barra de herramientas.
En el desplegable Current Visual Style seleccionamos default y el aspecto de la red
volvera al original. Para no modificar este estilo crearemos otro estilo como copia de
este haciendo click en el icono, seleccionando Copy existing visual style... y dando
un nombre al estilo personalizado.
Haz Zoom hasta que las etiquetas de los nodos sean visibles.
Haz click en la segunda columna de la fila Node Label in Visual Mapping Browser. Esto abrira un desplegable en el que elegiremos la opcion COMMON.
Este cambio provocara que en lugar de mostrar el identificador del gen como etiqueta de los nodos, mostrara el nombre com
un (COMMON ) que hemos proporcionado al
importar los datos de expresion de la red en la seccion Importar atributos de la red.
Coloreando los nodos
Una forma habitual de colorear los nodos cuando se tienen datos de expresion es
mediante la gama rojo/verde para representar represion o sobrexpresion respectivamente.
Para ello:
Haz doble-click sobre la lnea Node Color en la seccion Unused Visual Properties del Visual Mapping Browser. Con esto la lnea de Node Color se movera
a las primeras opciones de Visual Mapping Browser.
Selecciona la celda Please select a value de la lnea Node Color. Esto producira
un desplegable con los atributos disponibles para colorear. Selecciona gal80Rexp
(datos de expresion del experimento de represion de gal80 ).
Selecciona ahora en el desplegable la opcion Continuous Mapping para que la graduacion de color sea de manera continua. Tras esto, la red cambiara a una escala de
grises.
11

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.3: Gradiente de expresion de VizMapper


Un problema al que nos enfrentamos es que algunos de los nodos no tienen datos de
expresion y por tanto no estan siendo coloreados en base a nuestra escala y mantienen
el color rosa original que se puede confundir dentro de nuestro gradiente. Para corregir
este comportamiento bastara con cambiar el color por defecto de los nodos a uno fuera
de nuestro espectro:
Haz click en la red que aparece dentro de Defaults en el panel de VizMapper.
Selecciona Node Fill Color y sustit
uyelo por un color gris. Haz click en Apply.
Disminuye el zoom para visualizar los nodos sin datos de expresion.
12

Cambiando la forma de los nodos


En el apartado anterior hemos empleado los datos de expresion de los genes de la
columna gal80Rexp. Esta medicion se lleva a cabo cuantificando la cantidad de mRNA
cuando reprimimos la expresion del gen gal80. No obstante, cuando hemos importado
los datos de expresion, tambien hemos importado el valor de significacion de la diferencia de expresion para cada uno de los genes. Es decir, con que confianza este gen esta
diferencialmente expresado con respecto a una muestra control. En los siguientes puntos,
utilizaremos esta informacion para cambiar la forma de los nodos seg
un consideremos
esta diferencia significativa o no.
Haz doble click sobre la fila de Node Shape en el Visual Mapping Browser.
Selecciona gal80Rsig como atributo en el men
u desplegable Please select a value.
Selecciona Continuous Mapping en el desplegable Please select a mapping.
Haz click sobre la fila Graphical View y se te abrira una ventana de edicion.
Haz click en Add para dividir las opciones entre un rango de valores.
Haz doble click sobre el nodo de la izquierda y sustit
uyelo por un rectangulo.
Desliza el triangulo negro hacia la izquierda tomando un valor proximo a 0.05 que
definira nuestro intervalo de confianza tal y como se muestra en la Figura 2.4.

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.

Generar clusters de coexpresi


on
Para generar los clusters utilizaremos el plugin clusterMaker:
Selecciona Plugins Cluster Hierarchical cluster.
En Source for array data selecciona, node.gal1RGexp, node.gal4RGexp y node.gal80Rexp
ya que usaremos los valores de expresion en las 3 condiciones tal y como se muestra
en la Figura 2.6. Utilizaremos ademas, la distancia eucldea como primera aproximacion para realizar nuestro clustering jerarquico.
Deselecciona Only use selected nodes/edges for cluster.
Haz click en Create clusters y despues en Visualize Clusters.

Figura 2.6: Opciones de clusterMaker


16

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.

Figura 2.7: Resultado de clusterMaker


En el clustering podemos observar como en la parte superior nos ha agrupado algunos
genes cuya expresion se ve especialmente afectada ya que los vemos en colores brillantes.
Vamos a tratar de analizar exhaustivamente estos casos. Para ello:
Selecciona en el dendrograma el clado superior en el que aparecen una serie de
genes diferencialmente expresados. Veras como la expresion de dichos genes aparece
representada en otro heatmap en la parte central de la ventana, as como los identificadores de los mismos.
Oculta la ventana para volver a la red y veras los genes que has seleccionado en
clusterMaker tambien seleccionados en la red.
Problema
Ahora que has identificado los nodos que estaban presentes en este cluster de
coexpresion, son estos resultados consistentes con los resultados que obtuviste en
el analisis de expresion (Figura 2.5)? Que crees que sucedera si el clustering lo
realizaramos solo con las muestras Gal4R y Gal80R?

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).

Figura 2.8: Opciones del plugin BINGO.

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

Finalmente haz click en Start BiNGO.


Observaras como resultado una tabla con los terminos GO y las estadsticas mas importantes del enriquecimiento. Ademas podras ver una representacion de la red con los
terminos GO encontrados y una leyenda con el gradiente de color. Para mejorar la visualizacion de la red puedes cambiar el layout por uno jerarquico o emplear la herramienta
del men
u Layout Scale para jugar con el espacio entre nodos. El resultado debera
parecerse al que se observa en la Figura 2.9.
positive
regulation of
transcription
by galactose

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.

Cargando distintos tipos de redes


En primer lugar, importaremos la red de interacciones de protenas fyi de Han et al.
(ver seccion Redes Biologicas a estudiar). Este fichero es basicamente una lista de los
pares de nodos que interaccionan. Para importarlo utilizaremos la funcion read.graph()
20

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.

A continuacion, crearemos una red aleatoria equivalente a fyi respecto al n


umero de
nodos y conexiones. Existen dos modelos matematicos para generar redes aleatorias: el
Modelo de Erdos-Renyi (1959) y el Modelo de Gilbert (1959), ambos implementados en
la funcion erdos.renyi.game(). El primero genera una red aleatoria dado el n
umero
de nodos y la probabilidad de que dos nodos esten conectados (G(n,p)), mientras que
el segundo genera una red aleatoria con un n
umero concreto de nodos y conexiones

(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

#calculamos los clusters


#cu
antos componentes distintos hay?

[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

Figura 3.1: Diametro de la red fyi (en rojo)

23

Figura 3.2: Componente conexo de la red fyi (en rojo)

24

Cualidades de las Redes Biol


ogicas
Coeficiente de clustering
El coeficiente de clustering o transitividad cuantifica la probabilidad de que los nodos
adyacentes a un nodo esten conectados. En un grafo, la transitividad de un nodo es uno si
todos sus nodos vecinos estan conectados entre s, y cero si no hay ninguna conexion entre
ellos. Para entenderlo mejor, crearemos un peque
no grafo t1 y calcularemos el coeficiente
de clustering para uno de los nodos:
>
>
>
>
>
>
>
>
>
>
>

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

Transitividad de 'A': 0.1667

B
C
A
D
E

La funcion transitivity() tambien se puede utilizar para calcular el coeficiente de


clustering global en un grafo. Para calcular dicho parametro topologico para las redes de
erdos y fyi bastara con escribir lo siguiente:
> transitivity(erdosgraph)
[1] 0.003635963
> transitivity(fyi)
[1] 0.5430382

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?

Redes de mundo peque


no (Small-World Networks)
Hasta ahora hemos visto como nuestra red erdos presenta ciertas diferencias y semejanzas con la red fyi. Mientras que el diametro y el camino mnimo medio tienen valores
26

parecidos, el coeficiente de clustering es varios ordenes de magnitud inferior. El primer


intento para modelar una red que, a diferencia del Modelo de Erdos-Renyi, cumpliera el
principio de transitividad caracterstico de las redes biologicas, fue propuesto en un articulo en Nature (1998) y se conoce como Modelo de Watts y Strogatz. Las redes creadas
seg
un este modelo tienen una estructura ordenada en forma de anillo, en la que cada nodo
esta ademas conectado a los nodos vecinos situados a una determinada distancia.
> strogatzgraph <- watts.strogatz.game(1, 10, 2, 0)
> transitivity(strogatzgraph)
[1] 0.5
> average.path.length(strogatzgraph)
[1] 1.666667
> plot(strogatzgraph, layout=layout.circle)

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

Las redes creadas seg


un el Modelo de Watts y Strogatz tienen un alto coeficiente
de clustering, sin embargo, a medida que aumenta el n
umero de nodos crece tambien el
camino mnimo medio. Estas redes cumplen por tanto solo parcialmente la propiedad de
Redes de Mundo Peque
no tpica de las redes biologicas.
Los propios autores del Modelo de Watts y Strogatz observaron como barajando
aleatoriamente algunas de las conexiones (rewiring), eran capaces de reducir drasticamente el camino mnimo medio sin afectar al coeficiente de clustering. Esto cumple los 2
requisitos vistos hasta ahora en nuestra red biologica fyi.

> strogatzgraph <- watts.strogatz.game(1, length(V(fyi)), 2, 0.2)


> transitivity(strogatzgraph)

[1] 0.1181512

> average.path.length(strogatzgraph)

[1] 6.197887

Redes libres de escala (Scale-free Networks)


Como hemos visto, el Modelo de Watts y Strogatz con rewiring es interesante ya
que ofrece un compromiso entre las redes aleatorias de Erdos-Renyi, donde los grafos
generados son de mundo peque
no pero no son transitivos y el modelo original de Watts y
Strogatz. No obstante hay una caracterstica tpica de las redes biologicas que no cumplen:
no son Redes Libres de Escala.
Como recordareis de la clase de Teora de Grafos, el Grado (Degree) de un nodo
se define como el n
umero de conexiones que entran a dicho nodo. En las Redes Libres
de Escala, existe un gran n
umero de nodos poco conectados, mientras que los nodos
altamente conectados (hubs) son muy escasos. Se dice que la distribucion de nodos de las
redes libres de escala sigue una ley de potencia P (k) ck :

> deg.dist.fyi <- degree.distribution(fyi)


> plot(deg.dist.fyi, xlab="k", ylab="P(k)", main="Scale-free network")

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

El termino scale free fue acu


nado y publicado por Albert-Laszlo Barabasi y Reka
Albert en un articulo en Science (1999) gracias a sus estudios sobre la World Wide Web.
Barabasi y Albert definieron un modelo para generar este tipo de redes siguiendo un
mecanismo denominado uni
on preferencial (preferential attachment) que cumple las
siguientes condiciones:
Los nodos se van a
nadiendo a la red en un proceso iterativo.
Cada nodo se unira a los nodos existentes con un n
umero fijo de conexiones.
La probabilidad de unirse a un nodo concreto, es directamente proporcional al grado
de dicho nodo.
Los nodos con un grado mayor atraeran mas conexiones, mientras que los nodos menos
conectados, permaneceran poco conectados cumpliendo la ley de potencia que caracteriza
a las redes scale free. A este efecto de los ricos seran mas ricos y los pobres sera mas
pobres se le conoce como efecto Matthew.
> barabasigraph <- barabasi.game(100, m = 1, directed=FALSE, out.pref = TRUE)
> plot(barabasigraph, layout=layout.fruchterman.reingold, vertex.size=4,
+
vertex.label=NA)

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

> deg.barabasi.dist <- degree.distribution(barabasigraph)


> plot(deg.barabasi.dist,xlab="Degree",ylab="Frequency",log="xy", pch=19)

0.100

0.020

0.005

0.001

Frequency

10

20

Degree

31

50

0.500

Como se puede apreciar, la red de Barabasi se ajusta a la ley de potencia. Ademas,


la presencia de hubs le permite mantener el camino mnimo medio bastante bajo (red de
mundo peque
no). No obstante, el coeficiente de clustering va disminuyendo a medida que
aumentamos el n
umero de nodos del grafo.

0.100

0.020

0.005

Frequency

0.001

ErdsRnyi
Watts y Strogatz
Barabasi
fyi

10

20

50

Degree

Figura 3.3: Distribucion de grados de los grafos estudiados

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

Para instalar Cystoscape desde cero existen diferentes opciones:


Instalar automaticamente los paquetes especficos para Windows, Mac y Linux.
Instalar Cytoscape desde un paquete comprimido distribuido.
Compilar Cytoscape desde el codigo fuente.
Instalar desde el repositorio de Subversion.
Lo mas habitual es recurrir directamente a la seccion de descargas de la pagina web
de Cytoscape (http://www.cytoscape.org/). Para descargarlo os pedira vuestro nombre e
e-mail. La u
ltima version cuando se escribio este manual era la 2.8.1 y los desarrolladores
se encuentran inmersos en las versiones 2.9 y 3.0. El problema actual es que muchos de
los plugins tienen que ser rehechos para cada una de las versiones. Por esta razon, en
ocasiones, es mas recomendable bajar a una version anterior en la que todos los plugins
funcionen correctamente. Para ello, basta con ir a la seccion All releases de la pagina de
Cytoscape y elegir la apropiada. Como la mayora de aplicaciones en Java no requieren
privilegios de administrador, Cytoscape se puede instalar en un directorio a nivel de
usuario.

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

La opcion -Xmx512M especifica la memoria que Java destinara a Cytoscape. Este


parametro puede interesar alterarlo para trabajar en ordenadores con memoria suficiente
y redes grandes. Para nuestro caso debera ser suficiente con 512Mb. La opcion -p plugins
35

especifica en que directorio se encuentran los plugins. Por tanto, es recomendable no


abrir directamente el fichero .jar mediante doble-click porque a pesar de que tenga un
comportamiento aparentemente normal, puede que no tengas algunas funcionalidades que
estan en la carpeta plugins.

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.

Figura 1: Ventana Manage Plugins


En esta practica vamos a necesitar distintos plugins por lo que antes de nada conviene
saber como instalarlos. Para ello, una vez abierta la ventana principal, seleccionamos en
el men
u Plugins la opcion Manage Plugins. Esto nos abrira una ventana con los que
estan disponibles en el servidor. Puesto que los plugins son dependientes de la version
de Cytoscape, puede que algunos no esten adaptados a la version actual. Si habeis hecho
caso a mi recomendacion y habeis instalado la version 2.8 de Cytoscape, este problema no
os afectara para los plugins de esta practica. Si no fuera el caso, existen 2 posibilidades:
instalar una version anterior de Cytoscape e instalar los plugins adecuados; o instalar el
plugin desactualizado y confiar en que no pierdas ninguna funcionalidad. Si te decantas
por esta u
ltima opcion tienes que hacer click en la caja con el rotulo Show outdated
36

Plugins como se ve en la Figura 1. De una u otra forma conviene asegurarse de tener


todas las extensiones instaladas.
En esta practica vamos a trabajar con los siguientes plugins:
Network Analyzer
ClusterMaker
AllegroMCODE
BINGO
Una vez instalados, los encontraremos en el men
u Plugins de la ventana principal de
Cytoscape. Algunos plugins pueden requerir reiniciar Cytoscape para que funcionen.

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

Navegando por Cytoscape


Esta seccion tiene como objetivo familiarizarse con el interfaz de Cytoscape: los men
us,
ventanas, opciones,. . . Conviene ser consciente de las opciones que hay y las posibilidades
que ofrece el programa para cuando se pretenda hacer algo saber a que men
u, boton o
pesta
na hay que recurrir.

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

Save para guardar una nueva red.


Import para importar datos como redes o atributos.
Export para exportar datos o imagenes.
Print para imprimir.
Quit cierra todas las ventanas de Cytoscape y sale del programa.
Edit
El men
u Edit contiene:
Undo y Redo para deshacer y rehacer respectivamente cambios hechos en Attribute
Browser, Network Editor y en el Layout.
Opciones para crear y destruir las representaciones graficas de las redes y las propias
redes.
Opciones para eliminar los nodos y conexiones seleccionadas en la red actual.
Preferences Properties contiene todas las propiedades del Cytoscape y de sus
plugins.
View
Este men
u es para mostrar u ocultar las ventanas:
Control Panel
Data Panel
Results Panel
VizMapper
Select
El men
u Select contiene:
Opciones para seleccionar nodos o conexiones.
La opcion Select Use Filters permite crear filtros para la seleccion automatica
de porciones de la red cuyos atributos de nodos o conexiones cumplan un determinado criterio.
39

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

You might also like