728x90
반응형

python neuron 라이브러리 8

[neuron][파이썬] 11. 섹션 연결 - Connect the sections

🙆‍♂️ soma와 dend 연결 soma와 dend를 연결하기 위해서는 역시 class 속 함수의 내용을 바꿔줘야 합니다. 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) def __repr__(self): return 'BallAndStick[{}]'.format(self._gid) connect 메소드를 사용해서 연결해줄 수 있습니다. 지금 상황은 완전하게 연결된 것은 아니고 soma가 끝나는 지점에 dend가 시작되어서 연결..

AI/neuron 2022.07.21

[neuron][파이썬] 10. 여러 섹션 만들기 - Create the sections

🙆‍♂️ 시작 설정 from neuron import h from neuron.units import ms, mV h.load_file('stdrun.hoc') 시작하기 전에 라이브러리들을 import 시켜주고 %matplotlib notebook 주피터 노트북에서 하고 있다면 이 코드도 넣어줍니다. 🙋‍♂️ 섹션 생성 섹션 = 셀입니다. 셀은 ball과 stick으로 구성되는데 ball은 soma(세포체)이고 stick은 dendrites(수상 둘기) 입니다. 이전에 배웠던 방법으로는 여러 셀을 만들 수 없습니다. 클래스로 정의해서 만들어야 합니다. class BallAndStick: def __init__(self): self.soma = h.Section(name='soma', cell=self) ..

AI/neuron 2022.07.21

[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

[neuron][파이썬] 05. 자극 입력 - Insert a stimulus / (Add point process)

🙆‍♂️ 자극 입력 IClamp라는 객체를 사용해서 포인트 프로세스를 추가할 수 있습니다. stim = h.IClamp(soma(0.5)) 🙋‍♂️ 생성 여부 확인 방법 dir()함수를 사용해서 속성을 확인할 수 있습니다. print(dir(stim)) 앞에 언더바 두개가 있는 속성을 빼고 보고 싶다면 print([i for i in dir(stim) if not i.startswith('__')]) 이렇게 확인이 가능합니다. 전류 클램프의 주요 속성이 3가지가 있습니다. amp - 진폭(nA) delay - 지연 시간 - 켜지는 시간(ms) dur - 지속시간 - 켜져 있는 시간(ms) 입니다. stim.delay = 2 stim.dur = 0.1 stim.amp = 0.9 늘 하던 방법으로 설정할 수..

AI/neuron 2022.07.20

[neuron][파이썬] 04. 이온 채널 입력 - Insert ion channels

🙆‍♂️ 채널 입력하기 soma.insert('hh') Hodgkin-Huxley 채널을 입력하려면 위와 같은 코드로 작성할 수 있습니다. 또 다른 채널인 passive 채널은 pas로 입력할 수 있습니다. 🙋‍♂️ 섹션과 세그먼트 섹션 내의 세그먼트 수는 nseg 속성에 저장됩니다. print(soma.nseg) 위의 코드로 확인할 수 있습니다. 🚀 섹션&세그먼트 접근 섹션의 일부에 접근하려면 0과 1사이의 값을 지정하면 됩니다. 0과 1 사이인 0.5를 지정하면 중간 세그먼트를 얻을 수 있습니다. 섹션에 접근하고 싶다면 이름 별로 접근하고 세그먼트에 접근하고 싶다면 섹션의 위치 별로 접근하면 됩니다. print("type(soma) = {}".format(type(soma))) print("type(..

AI/neuron 2022.07.20

[neuron][파이썬] 03. 셀 형태 속성 설정 - Set the cell's morphological properties

🙆‍♂️ 속성값 설정 soma.L = 20 soma.diam = 20 morphological의 속성값을 변경하려면 위와 같은 방식을 사용하면 됩니다. 출력을 해보면 값이 바뀐 모습을 볼 수 있습니다. 🙋‍♂️ 속성값 확인 법 🚀 dir()함수 사용 dir(soma) 엄청나게 많은 속성들을 확인할 수 있었습니다. dir(h) h의 속성 정보를 확인해보면 어마어마하게 많은 속성들을 확인할 수 있습니다. 🚀 help()함수 사용 dir함수 말고도 help함수를 사용해서 문서로 도움말을 볼 수 있습니다. help(soma.connect) 이렇게 help 함수를 통해 connect 속성의 사용법에 대해 알아볼 수 있습니다. ?soma.connect jupyter notebook으로 사용하면 이렇게 정보창으로 뜨..

AI/neuron 2022.07.20

[neuron][파이썬] 02. 셀 만들기 및 확인 - Create a cell & check

🙆‍♂️ soma 생성하기 - create a section soma는 cell body입니다. 기본적인 구조라고 생각할 수 있습니다. soma = h.Section(name='soma') 이런식으로 soma를 생성할 수 있습니다. 🙋‍♂️ 생성 여부 확인 방법 soma를 생성해도 아무런 출력이 없습니다. 확인하는 방법 4가지에 대해서 알아보겠습니다. 🚀 h.topology() 함수 사용 h.topology() 이 함수를 사용하면 전체 모델의 위상 구조를 표시해서 어떤 섹션끼리 연결되어 있는지 그리고 각 섹션이 몇 개의 세그먼트로 분활되는지를 나타냅니다. 현재는 섹션이 한 개 뿐이라 볼게 없습니다. 소마가 하나 생성되고 세그먼트가 하나 있다는 뜻인데 차차 알아보도록 하겠습니다. 🚀 psection met..

AI/neuron 2022.07.20
728x90
반응형