コード例 #1
0
ファイル: knowledge.py プロジェクト: TheCommieDuck/sa-scripts
		#print(t, max(expval))
		#for p in knowledge.values():
		#	print(len(p))
		cumul_knowledge.append(sum(expval)/100)
		t = t+1
	return (knowledge, cumul_knowledge)

def make_fig(lam, siz, exp, rand):
	#plt.figure(num)
	plt.title('avg_kd(t), Lambda='+str(lam))
	assl, = plt.plot(range(siz), exp, label="avg_kd(t) Lambda="+str(lam)) 
	randassl, = plt.plot(range(siz), rand, label="Random avg_kd(t)Lambda="+str(lam), linestyle='--')
	return [assl, randassl]

if __name__ == "__main__":
	assemblies = sa.load_all(dir=sys.argv[1])
	rand_assemblies = sa.load_all(dir='random', rand_amounts=[len(ass.connections) for ass in assemblies])

	(assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.5)
	(random_assem_knowledge, random_assem_cumul_knowledge) = calc_knowledge(rand_assemblies, 0.5)
	l1 = make_fig(0.5, len(assemblies)-1, assem_cumul_knowledge, random_assem_cumul_knowledge)

	#(assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.02)
	#(random_assem_knowledge, random_assem_cumul_knowledge) = calc_knowledge(rand_assemblies, 0.02)
	#l5 = make_fig(0.02, len(assemblies)-1, assem_cumul_knowledge, random_assem_cumul_knowledge)

	(assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.5)
	(random_assem_knowledge, random_assem_cumul_knowledge) = calc_knowledge(rand_assemblies, 0.5)
	l2 = make_fig(0.5, len(assemblies)-1, assem_cumul_knowledge, random_assem_cumul_knowledge)

	#(assem_knowledge, assem_cumul_knowledge) = calc_knowledge(assemblies, 0.1)
コード例 #2
0
import sa, statistics
import networkx as nx

if __name__ == "__main__":
	assemblies = sa.load_all()
	clustering_coef = [nx.average_clustering(ass.graph.neighbourhood) for ass in assemblies]
	conn_clustering_coef = [nx.average_clustering(nx.Graph(ass.graph.connections)) for ass in assemblies]
	print('Average clustering coefficient over neighbourhood graph:', round(sum(clustering_coef)/len(clustering_coef), 3))
	print('Average clustering coefficient over connections graph:', round(sum(conn_clustering_coef)/len(conn_clustering_coef), 3))
コード例 #3
0
ファイル: mixedness.py プロジェクト: TheCommieDuck/sa-scripts
import sa, statistics, random_assembly
import networkx as nx
from scipy import stats
from scipy.stats import hypergeom
import sys

if __name__ == "__main__":
	curr_size = 6
	assemblies = sa.load_all(dir=sys.argv[1])
	intersect_num = []
	for i in range(0, len(assemblies)-1):
		for id, pi in assemblies[i].pieces.items():
			next_size = 6
			intersect = 0
			try:
				intersect = len(pi.neighbourhood.intersection(assemblies[i+1].pieces[id].neighbourhood))
				intersect_num.append(intersect)
			except KeyError:
				pass
			
	for i in range(0, curr_size+1):	
		print('Found', i, 'shared: ', sum(1 if x == i else 0 for x in intersect_num), round(100*sum(1 if x == i else 0 for x in intersect_num)/len(intersect_num), 2), \
			'%; expected: ', round(100*hypergeom.pmf(i, 100, curr_size, curr_size), 2), '%')