In [11]:
import networkx as nx
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from scipy.stats import powerlaw
%matplotlib inline
sns.set()
In [ ]:
edges = []
for line in open('CA-HepTh.txt'):
if line[0] != '#':
edge = line.replace('\n','').split('\t')
edges.append((edge[0],edge[1]))
G=nx.Graph()
G.add_edges_from(edges)
In [ ]:
degrees = list(G.degree().values())
In [4]:
sns.distplot(degrees)
Out[4]:
In [19]:
logs = np.log(degrees)
plt.hist(logs, log=True)
e, l, s = powerlaw.fit(degrees)
e, l, s
Out[19]:
In [15]:
sns.distplot(powerlaw.rvs(e, l, s, size=100000))
Out[15]:
Defina un número de papers N. Los papers van a ser publicados en orden (primero 1, después 2, etc.) Defina el promedio de citaciones de cada paper (e.g. 3 citaciones). Cree un grupo inicial de papers. Cada nuevo paper tendrá c citaciones. Esas citaciones van a ser a papers ya existentes y proporcional al número de papers que citan a cada paper. Se crearon Hubs? Cuál es la distribución de grados de la red?
In [ ]:
Cuando un gen se duplica y evoluciona, el nuevo gen mantiene interacción a las mismas proteínas con las que trabaja el gen inicial y a algunas nuevas. El gen original pierde algunas de sus interacciones. Genere una red aleatoria y después cree N genes que sigan este esquema.
In [ ]:
In [ ]:
In [ ]: