CA1 network model for place cell dynamics (Turi et al 2019)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:246546
Biophysical model of CA1 hippocampal region. The model simulates place cells/fields and explores the place cell dynamics as function of VIP+ interneurons.
Reference:
1 . Turi GF, Li W, Chavlis S, Pandi I, O’Hare J, Priestley JB, Grosmark AD, Liao Z, Ladow M, Zhang JF, Zemelman BV, Poirazi P, Losonczy A (2019) Vasoactive Intestinal Polypeptide-Expressing Interneurons in the Hippocampus Support Goal-Oriented Spatial Learning Neuron
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Hippocampus; Mouse;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA1 basket cell; Hippocampus CA1 basket cell - CCK/VIP; Hippocampus CA1 bistratified cell; Hippocampus CA1 axo-axonic cell; Hippocampus CA1 stratum oriens lacunosum-moleculare interneuron ; Hippocampal CA1 CR/VIP cell;
Channel(s): I A; I h; I K,Ca; I Calcium; I Na, leak; I K,leak; I M;
Gap Junctions:
Receptor(s): GabaA; GabaB; NMDA; AMPA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; Brian;
Model Concept(s): Place cell/field;
Implementer(s): Chavlis, Spyridon [schavlis at imbb.forth.gr]; Pandi, Ioanna ;
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; GabaA; GabaB; AMPA; NMDA; I A; I K,leak; I M; I h; I K,Ca; I Calcium; I Na, leak;
import sys,pickle,time
from peakdet import peakdet
import numpy as np

#Loads a list with path points for each time-series point

time1=time.time()

def extract_spiketimes(neuron_type,condition,ntrial,nrun):
    '''
    Extract Spike Times from NEUORN's voltage trace
    Nneurons: number of neurons to be analyzed
    condition: Specific Lesion - e.g., Control, No_VIPcells
    ntrial: mouse ID
    nrun: number of trial/run
    '''
    dt = 0.1
    filepath = '../Simulation_Results/'+learning+'/'+condition+'/Trial_'+str(ntrial)+'/Run_'+str(nrun)
    
    # Peakdet parameters
    delta = 1
    
    if neuron_type=='_pvsoma_':
        Nneurons=130
        thres = 5 " remove spikelets
    elif neuron_type=='_bcell_':
        Nneurons=8
        thres = 0
    elif neuron_type=='_vipcck_' or neuron_type=='_vipcrnvm_':
        Nneurons=1
        thres = 0
    elif neuron_type=='_vipcr_':
        Nneurons=4
        thres = 0        
    else:
        Nneurons=2
        thres = 0
        
    print Nneurons
    spiketimes_all=[]
    for n_neuron in xrange(Nneurons):

        
        filename = filepath+'/Trial_'+ntrial+'_Run_'+nrun+neuron_type+str(n_neuron)+'.dat'
    
        
        data = np.loadtxt(filename)
        # remove the first 400ms
        data = data[int(400/dt):]

        maxtab, mintab = peakdet(data, delta, thres)
        if maxtab.size!=0:    
            spiketimes = [int(i*dt) for i in maxtab[:,0]]
        else:
            spiketimes=[]
        spiketimes.insert(0,str(n_neuron))
        
        spiketimes_all.append(spiketimes)
    
    #Saves the list in a pickle file at the specified Run directory
    filewrite = filepath + '/spiketimes'+ neuron_type +'.pkl'
    with open(filewrite, 'wb') as handle:
        pickle.dump(spiketimes_all, handle, protocol=pickle.HIGHEST_PROTOCOL)
            

ntype    = sys.argv[1]
cond     = sys.argv[2]
trial    = sys.argv[3]
run      = sys.argv[4]

results = extract_spiketimes(ntype, cond, trial, run)

print "\nEverything was ok for cell type "+neuron_type[1:-1]+". Case: "+cond+" "+str(trial)+" "+str(run)
time2=time.time()
duration = round(time2-time1,3)
print "\n The analysis run for "+str(duration)+" seconds"

Loading data, please wait...