Changes for page Code description
Last modified by galluzziandrea on 2022/06/20 12:33
From version 5.1
edited by galluzziandrea
on 2021/12/09 14:46
on 2021/12/09 14:46
Change comment:
There is no comment for this version
To version 4.1
edited by galluzziandrea
on 2021/12/09 14:38
on 2021/12/09 14:38
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,8 +1,8 @@ 1 -== Introduction (path and modules) :==1 +== Introduction (path and modules) == 2 2 3 3 First of all we check the path and import the necessary modules . 4 4 5 -=== Check where I am and place myself in the right folder: === 5 +=== Check where I am and place myself in the right folder : === 6 6 7 7 {{code language="python"}} 8 8 # Import the os module ... ... @@ -18,7 +18,7 @@ 18 18 print("Current working directory: {0}".format(os.getcwd())) 19 19 {{/code}} 20 20 21 -=== Import the modules necessary for the simulation:===21 +=== import the modules necessary for the simulation === 22 22 23 23 {{code language="python"}} 24 24 import nest ... ... @@ -34,211 +34,6 @@ 34 34 35 35 === === 36 36 37 -=== Define necessary classesto import the Initialization Files:===37 +==== Results ==== 38 38 39 - 40 -{{code language="python"}} 41 -class ImportIniLIFCA(): 42 - #initialize the information to look for in perseo.ini 43 - inf=["NeuronType", #still fixed value 44 - "DelayDistribType", #still fixed value 45 - "SynapticExtractionType", #still fixed value 46 - "Life"] 47 - 48 - def __init__(self,files): 49 - self.files=files 50 - 51 - def FilesControllo(self): 52 - import sys 53 - for i in range(0,len(self.files)): 54 - if self.FileControllo(self.files[i]): 55 - sys.exit(0) 56 - 57 - def FileControllo(self,file1): 58 - try: 59 - f1=open(file1,"r") 60 - f1.close() 61 - return 0 62 - except ValueError: 63 - print("ValueError") 64 - return 1 65 - except IOError as err: 66 - print("OS error: {0}".format(err)) 67 - return 1 68 - except: 69 - print("Unexpected error:", sys.exc_info()[0]) 70 - return 1 71 - 72 - def Estrai_inf(self,stampa=0): 73 - 74 - InfoPerseo=self.EstraiInfoPerseo() #extract info from perseo.ini 75 - AppoggioTempM=self.EstraiInfoModuli() #extract info from modules.ini 76 - AppoggioTempC=self.EstraiInfoConnectivity() #extract info from connectivity.ini 77 - AppoggioTempP=self.EstraiProtocol() #extract info from protocol.ini 78 - 79 - def getKey(item): 80 - return item[0] 81 - InfoProtocol=AppoggioTempP 82 - # I convert the extracted information into a suitable format from tuple to list 83 - 84 - InfoBuildT=[AppoggioTempM[0]] 85 - for i in range(0,AppoggioTempM[0]): 86 - app1=[int(AppoggioTempM[2][i][0])] 87 - app=(app1+list(AppoggioTempM[2][i][3:9])+list(AppoggioTempM[2][i][12])+list(AppoggioTempM[2][i][9:12])) 88 - InfoBuildT.append(app) 89 - del app 90 - 91 - InfoBuild=[float(InfoBuildT[0])] 92 - for i in range(0,int(InfoBuildT[0])): 93 - app=[] 94 - for j in range(0,11): 95 - app.append(float(InfoBuildT[i+1][j])) 96 - InfoBuild=InfoBuild+[app] 97 - del app 98 - 99 - InfoConnectPop=[AppoggioTempM[0]] 100 - for i in range(0,len(AppoggioTempC[1][:])): 101 - app=list(AppoggioTempC[1][i]) 102 - InfoConnectPop.append(app) 103 - del app 104 - 105 - InfoConnectNoise=[AppoggioTempM[0]] 106 - for i in range(0,AppoggioTempM[0]): 107 - app=list(AppoggioTempM[2][i][1:3]) 108 - InfoConnectNoise.append(app) 109 - 110 - 111 - if stampa==1: #Print on screen of saved data 112 - for i,j in enumerate(InfoPerseo): 113 - print(self.inf[i],"=",j) 114 - print("\n") 115 - print("the network consists of ", AppoggioTempM[0], " neuronal population" ) 116 - print(AppoggioTempM[1]) 117 - for i in range(0,AppoggioTempM[0]): 118 - print(AppoggioTempM[2][i]) 119 - print("\n") 120 - print(AppoggioTempC[0]) 121 - for i in range(0,AppoggioTempM[0]**2): 122 - print(AppoggioTempC[1][i]) 123 - print("\n") 124 - for i in InfoProtocol: 125 - print("SET_PARAM"+str(i)) 126 - 127 - 128 - return InfoPerseo,InfoBuild,InfoConnectPop,InfoConnectNoise,InfoProtocol 129 - 130 - def EstraiProtocol(self): 131 - import string 132 - f1=open(self.files[3],"r") 133 - ProtocolList= [] 134 - for x in f1.readlines(): 135 - y=x.split() 136 - if len(y): 137 - if x[0]!="#" and y[0]=="SET_PARAM": 138 - try: 139 - ProtocolList.append([float(y[1]),int(y[2]),float(y[3]),float(y[4])]) 140 - except ValueError: 141 - pass 142 - f1.close() 143 - return ProtocolList 144 - 145 - def EstraiInfoPerseo(self): 146 - import string 147 - f1=open(self.files[0],"r") 148 - InfList= [] 149 - for x in f1.readlines(): 150 - y=x.split() 151 - if len(y): 152 - if x[0]!="#": 153 - for findinf in self.inf: 154 - try: 155 - temp=y.index(findinf) 156 - InfList.append(y[temp+2]) 157 - except ValueError: 158 - pass 159 - f1.close() 160 - return InfList 161 - 162 - def EstraiInfoModuli(self): 163 - import string 164 - f1=open(self.files[2],"r") 165 - NumPop=0 166 - for i,x in enumerate(f1.readlines()): 167 - y=x.split() 168 - if len(y): 169 - if x[0]!="#": 170 - NumPop=NumPop+1 171 - if i==2: 172 - ParamList=[] 173 - for j in range(1,14): 174 - ParamList.append(y[j]) 175 - f1.close() 176 - PopsParamList=[] 177 - f1=open(self.files[2],"r") 178 - x=f1.readlines() 179 - for j in range(0,NumPop): 180 - appo=x[4+j]; 181 - PopsParamList.append(appo.split()) 182 - f1.close() 183 - return NumPop,ParamList,PopsParamList 184 - 185 - def EstraiInfoConnectivity(self): 186 - import string 187 - f1=open(self.files[1],"r") 188 - PopConParamList=[] 189 - for i,x in enumerate(f1.readlines()): 190 - y=x.split() 191 - if len(y): 192 - if x[0]!="#": 193 - PopConParamList.append(y) 194 - if i==1: 195 - ParamList=[] 196 - for j in range(1,9): 197 - ParamList.append(y[j]) 198 - f1.close() 199 - return ParamList,PopConParamList 200 -{{/code}} 201 - 202 -=== Import the initialization files: === 203 - 204 -in this section we... 205 - 206 -{{code language="python"}} 207 -Salva=1 208 -file1="perseo35.ini" 209 -file2="c_cortsurf_Pot1.43PotStr148v3.ini" 210 -file3="m_cortsurf_Pot1.43.ini" 211 -file4="ProtocolExploration36.ini" 212 -files=[file1,file2,file3,file4] 213 -#define the name of the Output file 214 -FileName="dati/Rates_Nest_Run_Milano_Test36_13x13_"+str(nest.Rank())+"_Pot1.43PotStr148v3Long3.dat" 215 -#check the existence of the files being read 216 -ImpFil=ImportIniLIFCA(files); 217 -ImpFil.FilesControllo() 218 - 219 -#extract the information of interest from the files.ini and transfer them to the files: 220 -#InfoPerseo,InfoBuild,InfoConnectPop,InfoConnectNoise 221 - 222 -stampa=0; #stampa=1 print output simulation data on screen stampa=0 dont 223 -InfoPerseo,InfoBuild,InfoConnectPop,InfoConnectNoise,InfoProtocol=ImpFil.Estrai_inf(stampa) 224 - 225 -# InfoPerseo=["NeuronType","DelayDistribType","SynapticExtractionType","Life" ] 226 -# InfoBuild=[numero di popolazioni, 227 -# [N,C_ext,\nu_ext,\tau,\tetha,H,\tau_arp,NeuronInitType,\alpha_c,\tau_c,g_c], 228 -# [.....],[],...] 229 -# InfoConnectPop=[numero di popolazioni, 230 -# [post,pre,c,Dmin,Dmax,syn typ,J,DJ], 231 -# [.....],[],...] 232 -# InfoConnectNoise=[numero di popolazioni, 233 -# [J_ext,DJ_ext], 234 -# [.....],[],...] 235 -# InfoProtocol=[[time,population,param_num,value], 236 -# [.....],[],...] 237 -{{/code}} 238 - 239 - 240 - 241 - 242 -=== Results === 243 - 244 244 ==== ====
- Introduction (path and modules):
- Check where I am and place myself in the right folder:
- Import the modules necessary for the simulation:
- Define necessary classes to import the Initialization Files:
- Import the initialization files:
- Defining general and nest.kernel parameters
- Building the network: neuronal populations , Poisson processes and spike detectors
- Connecting the network nodes: neuronal populations, Poisson processes and spike detectors
- Simulating: neuronal time evolution.
- Results: