Example #1
0
'''Author: 		mlwave.com'''
'''Description:	Python benchmark code for Pearson Correlation with Descretization, in use for Kaggle Connectomics Contest'''
import brainparse as bp
import scipy.stats as stats
import numpy as np
from datetime import datetime
start = datetime.now()
last = datetime.now()

neuron_activities = bp.parse_time_series("d:\\brain\\fluorescence_valid.txt")
neuron_activities = bp.discretize_time_series(neuron_activities, threshold=0.12)
neuron_positions = bp.parse_neuron_positions("d:\\brain\\networkPositions_valid.txt")
predictions_loc = "d:\\brain\\kaggle_preds.csv"

def create_predictions(predictions_loc,neuron_activities,neuron_positions,start=datetime.now(),last=datetime.now()):
	print "\nWriting:", predictions_loc
	cache = {}
	with open(predictions_loc, "wb") as outfile:
		outfile.write( "NET_neuronI_neuronJ,Strength\n" )
		for e, neuron_i_id in enumerate( xrange(len(neuron_positions)) ):
			for neuron_j_id, neuron_position in neuron_positions.items():
				if (neuron_i_id, neuron_j_id) in cache:
					outfile.write( "valid_"+str(neuron_i_id+1)+"_"+str(neuron_j_id+1)+","+cache[(neuron_i_id, neuron_j_id)] + "\n" )
				elif neuron_i_id == neuron_j_id:
					outfile.write( "valid_"+str(neuron_i_id+1)+"_"+str(neuron_j_id+1)+",0\n" )
				else:
					corr = str(stats.pearsonr(neuron_activities[neuron_i_id], neuron_activities[neuron_j_id])[0])
					cache[(neuron_j_id, neuron_i_id)] = corr
					outfile.write( "valid_"+str(neuron_i_id+1)+"_"+str(neuron_j_id+1)+","+corr + "\n" )
			print e+1,"/",len(neuron_positions),"\t",datetime.now()-start,"\t",datetime.now()-last
			last = datetime.now()
import brainparse as bp
import matplotlib.pyplot as plt

neuron_activities = bp.parse_time_series(
    "d:\\brain\\fluorescence_iNet1_Size100_CC02inh.txt")

fig = plt.figure()
fig.suptitle(
    'Top: 2000 Activity series for neuron 0 and 5 superimposed.\n Bottom: 8000 Activity series for neuron 93 and 23 superimposed.'
)

ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

ax1.plot([f for f in xrange(2000)], neuron_activities[0][:2000])
ax1.plot([f for f in xrange(2000)], neuron_activities[5][:2000])

ax2.plot([f for f in xrange(8000)], neuron_activities[93][:8000])
ax2.plot([f for f in xrange(8000)], neuron_activities[23][:8000])

plt.savefig("neuronplot.png")
plt.show()
Example #3
0
import numpy as np
import sys
start = datetime.now()
last = datetime.now()

CALC_SCORE = len(sys.argv[1:]) > 2
JUST_SCORE = False

predictions_loc = "kaggle_preds.csv"
if CALC_SCORE:
  flurofn, posfn, networkfn = sys.argv[1:]
else:
  flurofn, posfn = sys.argv[1:]

if not JUST_SCORE:
  neuron_activities = bp.parse_time_series(flurofn)
  neuron_activities = bp.discretize_time_series(neuron_activities, threshold=0.12)
  #neuron_activities = bp.blur_time_series(neuron_activities)
  #neuron_activities = bp.normalize_time_series(neuron_activities)
  #neuron_activities = bp.discretize_time_series(neuron_activities, threshold=np.max(neuron_activities[0]) * 0.12)
  neuron_positions = bp.parse_neuron_positions(posfn)
  avg_spikes = []
  for k, v in neuron_activities.items():
    avg_spikes.append(np.sum(v))
  avg_spikes = np.mean(avg_spikes)
  print 'Average spikes:', avg_spikes


def compare_neuron_activities(X, Y):
  return stats.pearsonr(X, Y)[0]
  #return stats.spearmanr(X, Y)[0]
Example #4
0
import brainparse as bp
import matplotlib.pyplot as plt

neuron_activities = bp.parse_time_series("d:\\brain\\fluorescence_iNet1_Size100_CC02inh.txt")

fig = plt.figure()
fig.suptitle(
    "Top: 2000 Activity series for neuron 0 and 5 superimposed.\n Bottom: 8000 Activity series for neuron 93 and 23 superimposed."
)

ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

ax1.plot([f for f in xrange(2000)], neuron_activities[0][:2000])
ax1.plot([f for f in xrange(2000)], neuron_activities[5][:2000])

ax2.plot([f for f in xrange(8000)], neuron_activities[93][:8000])
ax2.plot([f for f in xrange(8000)], neuron_activities[23][:8000])

plt.savefig("neuronplot.png")
plt.show()