Esempio n. 1
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Aug 31 13:51:21 2018

@author: matias
"""

import networkx as nx
import numpy as np
from matplotlib import pyplot as plt
from lectura import ldata

dolphin = nx.read_gml('tc01_data/new_dolphins.gml')
genders = ldata('tc01_data/dolphinsGender.txt')

color = []

for i in range(0, len(genders)):
    dolphin.add_node(genders[i][0], gender=genders[i][1])
    if genders[i][1] == 'm':
        color.append('blue')
    elif genders[i][1] == 'f':
        color.append('red')
    else:
        color.append('green')
#
#fig, axes= plt.subplots(2,2)
#axes = axes.flatten()
#nx.draw_shell(dolphin, with_labels=True, node_color=color, node_size = 10
#              , ax=axes[0])
Esempio n. 2
0
import networkx as nx
import numpy as np
from matplotlib import pyplot as plt
import pandas as pd

from os.path import join as osjoin
import sys
sys.path.append('./Tp2/')
from agregar_esencialidad import agregar_esencialidad_dict
from histograma import histograma
from funciones_de_desarme_ejc import (agregar_centralidad,
                                      desarme_por_centralidad,
                                      desarme_por_centralidad_flow,
                                      desarme_por_centralidad_random)
#%%
apms = ldata('Tp2/tc02Data/yeast_AP-MS.txt')

y2h = ldata('Tp2/tc02Data/yeast_Y2H.txt')

lit = ldata('Tp2/tc02Data/yeast_LIT.txt')

lit_r = ldata('Tp2/tc02Data/yeast_LIT_Reguly.txt')
lit_r = [fila[:2] for fila in lit_r[1:]]

g_apms = nx.Graph()
g_apms.add_edges_from(apms)

g_lit = nx.Graph()
g_lit.add_edges_from(lit)

g_lit_reg = nx.Graph()
Esempio n. 3
0
metodos = [
    "fastgreedy", "eigenvector", "edge_betweenness", "louvain", "walktrap",
    "infomap", "label_prop"
]

tabla = np.zeros([len(metodos), len(metodos)])
for i in range(len(metodos)):
    for j in range(len(metodos)):
        tabla[i, j] = round(I_M(dolph, metodos[i], metodos[j]), 4)
import copy
tabla2 = copy.deepcopy(tabla)

tabla2 = (tabla + np.transpose(tabla)) / 2

cuadro = pd.DataFrame(tabla2, columns=metodos, index=metodos)
genders = dict(ldata('Tp3/dolphinsGender.txt'))

# Agrego los sexos a los dicts de cada delfín
for nodo, dict_nodo in dict(dolph.nodes).items():
    dict_nodo['gender'] = genders[nodo]  # agrego el sexo del delfín a su dict
#    print('Key = {}, Value = {}'.format(nodo, dict_nodo)) # para chequear que anda

tabla = np.zeros(len(metodos))
for i in range(len(metodos)):
    tabla[i] = I_M(dolph, 'asd', metodos[i], genero=True)
np.save('tabla_info_mutua_generos', tabla)
cuadro = pd.DataFrame(tabla, columns=['Genero'], index=metodos)
#%%
# =============================================================================
# MATRIZ CONFUSION / MATRIX DE PRESICIONES
# =============================================================================
Esempio n. 4
0
            p = fisher_exact(table)[1]
            pfisher[j, i] = p
            # Rellenamos sobrerrep
            if pfisher[j, i] >= thres:
                sobrerrep[j, i] = 0
            else:
                nclust_efectivo = hembras_encluster + machos_encluster
                hembras_porazar = nclust_efectivo * n_hembras / ntot_efectivo
                if hembras_encluster > hembras_porazar:
                    sobrerrep[j, i] = 1
                else:
                    sobrerrep[j, i] = 2
    sobrerrep[np.isnan(sobrerrep)] = -1
    return pfisher, sobrerrep


particiones = np.load(
    'Tp3/tc03Data/Ej_b_particiones_tomi.npz')['salida_grafo_original']
genders = dict(ldata('Tp1/tc01_data/dolphinsGender.txt'))
pfisher, sobrerrep = calcular_fisher(particiones, genders, thres=0.05)
plot_matrix(pfisher,
            columnas=nombres_metodos,
            titulo='p-valores (test de Fisher exacto)',
            ylabel='Comunidad')
plot_matrix(pfisher,
            columnas=nombres_metodos,
            titulo='p-valores (test de Fisher exacto)',
            ylabel='Comunidad',
            sobrerrep=sobrerrep)
#%%
Esempio n. 5
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Aug 24 18:06:47 2018

@author: matias
"""

from lectura import ldata
import networkx as nx
import numpy as np
from matplotlib import pyplot as plt

apms = ldata('Tp1/tc01_data/yeast_AP-MS.txt')

lit = ldata('Tp1/tc01_data/yeast_LIT.txt')

y2h = ldata('Tp1/tc01_data/yeast_Y2H.txt')


#%%
def es_dirigido(data):
    """data debe ser una lista de enlaces (tuplas). Si el resultado es 0,
    entonces es no dirigido; si es distinto de cero, es dirigido.
    
    Esta función implementa una manera de inferir si un grafo es dirigido o no
    a partir de cómo se presentan sus enlaces en una lista; sin embargo este
    criterio no es infalible. De hecho, nos fue revelado que las 3 redes
    consideradas en este ejercicio son efectivamente no dirigidas, lo cual
    tiene sentido pues se trata de interacciones entre proteínas en las cuales
    no es evidente qué significado podría tener la direccionalidad."""
Esempio n. 6
0
    """
    colores_posibles =  [b for (a,b) in matplotlib.colors.cnames.items()]
    colores_random = np.random.choice(np.arange(len(colores_posibles)), size=len(lista),
                                      replace=False)
    nodos = list(g.nodes())
    colores = list(np.zeros(len(nodos)))
    for i in range(len(lista)):
        for j in range(len(nodos)):
            index = colores_random[i]
            if nodos[j] in lista[i]:
                colores[j] = colores_posibles[index]
    return colores


#%% Punto 1    
wiki = ldata('Final/links.tsv')
g_wiki = nx.Graph()
g_wiki.add_edges_from(wiki)
#%%
wiki_infomap = calcular_particion(g_wiki)
wiki_infomap_color = comunidad_a_color(g_wiki, wiki_infomap)
wiki_fastgreedy = calcular_particion(g_wiki, method = 'fastgreedy')
wiki_fastgreedy_color = comunidad_a_color(g_wiki, wiki_fastgreedy)
#%%Ploteamos la red
fig, ax = plt.subplots()
plt.sca(ax)
ax.set_title('Wikipedia')
#nx.draw(g_wiki, node_color = wiki_infomap_color, node_size = 10)
nx.draw_spring(g_wiki, node_color = wiki_fastgreedy_color,
               node_size = 10, with_labels=True)
Esempio n. 7
0
# -*- coding: utf-8 -*-
"""
Created on Fri Oct  5 18:04:22 2018

@author: Gabo
"""

from lectura import ldata
ess = ldata('tc02Data/Essential_ORFs_paperHe.txt')