728x90
반응형

python neuron 16

[neuron] 용어 & 함수 정리

🚀 .NetCon() NetCon은 소스와 대상 간의 시냅스 연결을 정의해주는 객체입니다. 시냅스 가중치(weight)값과 지연(delay)값을 설정하여 사용할 수 있습니다. 여기서 시냅스 가중치는 한 뉴런이 탈분극 시 다른 뉴런에 미치는 영향의 양에 해당합니다. 두 노드간 연결 강도 또는 진폭을 나타냅니다. 지연값은 다음 뉴런으로 전달되는 속도입니다. 즉 시간값입니다. netcon = h.NetCon(source_ref_v, target, [threshold, delay, weight], sec=section) netcon = h.NetCon(source, target, [threshold, delay, weight]) 문법은 이렇습니다. 🚀 conductances conductances는 전도도 이다..

AI/neuron 개념 2022.07.28

[neuron][파이썬] 18. 확장된 링 네트워크

🙆‍♂️ 일반 셀 클래스 작성 저번 게시물의 링 네트워크를 구성했던 것에서 유연한 변수를 사용하고 캡슐화를 사용하여 확장된 기능을 제공하는 링 네트워를 구성해보겠습니다. from neuron import h, gui from neuron.units import ms, mV h.load_file('stdrun.hoc') 사전 참조를 해주고 class Cell: def __init__(self, gid, x, y, z, theta): self._gid = gid self._setup_morphology() self.all = self.soma.wholetree() self._setup_biophysics() self.x = self.y = self.z = 0 h.define_shape() self._rota..

AI/neuron 2022.07.25

[neuron][파이썬] 16. 링 네트워크 구성을 위한 초기 구성 - Initial configuration for build a ring network

🙆‍♂️ 일반 cell과 고유 cell class 나누기 from neuron import h, gui from neuron.units import ms, mV h.load_file('stdrun.hoc') 먼저 라이브러리들을 import 합니다. class Cell: def __init__(self, gid): self._gid = gid self._setup_morphology() self.all = self.soma.wholetree() self._setup_biophysics() def __repr__(self): return '{}[{}]'.format(self.name, self._gid) 일반 cell의 class는 이렇구 class BallAndStick(Cell): name = 'Ball..

AI/neuron 2022.07.22

[neuron][파이썬] 14. 여러 개 시뮬레이션1 - Run the simulation

🙆‍♂️ 사전작업 🚀 자극 주입 시뮬레이션 확인에 앞서 만든 모델에 자극을 주입합니다. stim = h.IClamp(my_cell.dend(1)) 시뮬레이션 시작 후 5ms부터 dendrite 원위부 끝에 자극을 줍니다 . stim.get_segment() 위 코드로 자극이 주입되는 세그먼트를 확인할 수 있습니다. 잘 진행되고 있습니다. dir(stim)을 통해서 stim의 속성 값들을 확인할 수 있는데 더 좋은 코드는 print(', '.join(item for item in dir(stim) if not item.startswith('__'))) 위 코드를 이용하면 __를 뺀 속성들만 간단하게 볼 수 있습니다. 이렇게 존재합니다. stim.delay = 5 stim.dur = 1 stim.amp = ..

AI/neuron 2022.07.21

[neuron][파이썬] 13. 생물학 값 특정하기 - Specify biophysics

🙆‍♂️ biophysics 값들 설정 현재 값은 대왕오징어의 생물학적 값으로 대입되어있어서 다시 재설정을 해줘야합니다. 축 저항 값과 막 용량 값을 재설정 합니다. class BallAndStick: def __init__(self, gid): self._gid = gid self.soma = h.Section(name='soma', cell=self) self.dend = h.Section(name='dend', cell=self) self.all = [self.soma, self.dend]#전체 속성 값 배열 self.dend.connect(self.soma) self.soma.L = self.soma.diam = 12.6157 self.dend.L = 200 self.dend.diam = 1 fo..

AI/neuron 2022.07.21

[neuron][파이썬] 12. 스타일 정의 - Define stylized geometry

🙆‍♂️ 길이와 직경 설정 class BallAndStick: def __init__(self, gid): self._gid = gid self.soma = h.Section(name='soma', cell=self) self.dend = h.Section(name='dend', cell=self) self.dend.connect(self.soma) self.soma.L = self.soma.diam = 12.6157 self.dend.L = 200 self.dend.diam = 1 def __repr__(self): return 'BallAndStick[{}]'.format(self._gid) my_cell = BallAndStick(0) 소마의 길이와 직경은 12.6157µm 수상돌기의 길이는 200..

AI/neuron 2022.07.21

[neuron][파이썬] 09. 결과 저장하고 불러오기 - Saving and loading results

🙆‍♂️ CSV csv 파일 형식은 데이터 교환에 널리 사용되는 방식ㅇ빈디ㅏ. csv 모듈을 제공하니 import 하여 사용할 수 있습니다. import csv 그전에 해당 폴더에 data.csv를 만들고 🚀 작성하기 with open('data.csv', 'w') as f: csv.writer(f).writerows(zip(t, v)) 이렇게 작성하면 data.csv에 t값과 v값이 작성됩니다. 🚀 csv 불러오기 with open('data.csv') as f: reader = csv.reader(f) tnew, vnew = zip(*[[float(val) for val in row] for row in reader if row]) tnew 변수와 vnew 변수를 통해서 csv에 저장되어 있었던 값들..

AI/neuron 2022.07.20

[neuron][파이썬] 08. 결과 표시 - Plot the results

🙆‍♂️ bokeh 라이브러리 사용 Jupyter notebook에서 이동, 확대, 저장할 수 있는 대화형 그래프를 제공해주는 bokeh 모듈을 사용하면 편리합니다. bokeh 로드 방법은 from bokeh.io import output_notebook import bokeh.plotting as plt output_notebook() bokeh가 잘 로드된 모습입니다. f = plt.figure(x_axis_label='t (ms)', y_axis_label='v (mV)') f.line(t, v, line_width=2) plt.show(f) 그래프를 그래보고 실행을 해보면 그래프가 그려져서 나오는 모습입니다. 🙋‍♂️ matplotlib 사용 matplotlib는 자바스크립트가 아닌 기본적인 그래..

AI/neuron 2022.07.20

[neuron][파이썬] 07. 시뮬레이션 실행 - Run the simulation

🙆‍♂️ 라이브러리 로드 h 모듈에서도 시뮬레이션 기능을 제공하지만 더 높은 사양을 위해서 stdrun 라이브러리를 로드해야 합니다. h.load_file('stdrun.hoc') 로드 후 run을 했을 때 1.0이 보인다면 잘 로드가 된 것입니다. h.finitialize(-65) 휴지 전위 상태의 막 전위 값을 -65로 설정하기 위해서 finitialize 함수를 사용합니다. 설정 수치는 -65mV입니다. h.continuerun(40) 그리고 시뮬레이션 지속 시간을 40ms로 설정할 수 있습니다. from neuron import h soma = h.Section(name='soma') soma.L = 20 soma.diam = 20 soma.insert('hh') mech = soma(0.5).h..

AI/neuron 2022.07.20

[neuron][파이썬] 06. 기록 변수 설정 - Set up recording variables

🙆‍♂️ recording 변수 설정 시뮬레이션을 실행하도록 셀을 구성해야 합니다. 그렇기 위해서 뉴런 벡터(h.Vector() 객체)에 저장되는 기록 변수를 지정해야 합니다. soma(0.5).v인 막전위와 해당 시점(h.t)를 기록합니다. 변수 이름 마지막 부분에는 _ref_를 붙여서 사용합니다. v = h.Vector().record(soma(0.5)._ref_v) t = h.Vector().record(h._ref_t) v는 막 전위 백터고 t는 타임스탬프 백터 입니다.

AI/neuron 2022.07.20
728x90
반응형