基本的な使い方
bionetliteを使用したネットワーク構築
注釈
bionetliteの使用にはBMTKのコード・データが必要です。多くの場合、既存のBMTKコードを再利用できます。
NeuliteBuilderの初期化
bionetliteは、既存のBMTKコードでNeuliteBuilderをインポートするだけで利用可能です:
from bionetlite import NeuliteBuilder as NetworkBuilder
# Create network
net = NetworkBuilder(
'network_name',
convert_morphologies=True, # Convert morphology files (default: True)
convert_ion_channels=True # Convert ion channel settings (default: True)
)
パラメータの説明
network_name: ネットワークの名前(文字列)convert_morphologies: swcファイルをNeulite用に前処理するか(True/False)convert_ion_channels: イオンチャネル設定ファイル(JSON)をNeulite用のCSVに変換するか(True/False)
注釈
convert_morphologies と convert_ion_channels はデフォルトでTrueに設定されています。2回目以降、Falseに設定することで処理をスキップできます。
ノードの追加
既存のBMTKコードとノードの追加方法は同一です。
net.add_nodes(
N=100, # Number of neurons
pop_name='Scnn1a', # Population name
model_type='biophysical', # Model type
model_template='ctdb:Biophys1.hoc',
dynamics_params='472363762_fit.json', # Ion channel parameters
morphology='Scnn1a_473845048_m.swc', # Morphology file
ei='e' # Excitatory ('e') or inhibitory ('i')
)
サポートされているモデルタイプ
現在、BionetliteならびにNeuliteは生物物理学的ニューロンのみに対応しています。Point neuronやVirtual cellは自動的に出力から除外されます。
✅
biophysical: 形状を持つ生物物理学的ニューロン❌
point_neuron: ポイントニューロン(LIFなど)- 非対応❌
virtual: バーチャルニューロン - 非対応
エッジ(シナプス接続)の追加
基本的な接続の定義
net.add_edges(
source={'pop_name': 'Exc'}, # Source population
target={'pop_name': 'Inh'}, # Target population
connection_rule=5, # Number of connections or probability
syn_weight=0.001, # Synaptic weight
delay=2.0, # Delay (ms)
dynamics_params='AMPA_ExcToInh.json', # Synapse parameters
model_template='exp2syn' # Synapse model
)
サポートされているシナプスモデル
現在、bionetliteは以下のシナプスモデルに対応しています:
✅
exp2syn: Double exponential synapse❌ その他のシナプスモデル - 非対応
注釈
exp2synモデルの場合、configで設定されたディレクトリにあるシナプスモデルを自動的に適用します。
ネットワークの保存
# Build the network
net.build()
# Save node information
net.save_nodes(output_dir='network')
# Save edge information
net.save_edges(output_dir='network')
実行の流れ
bionetliteの実行フローは以下の通りです:
NeuliteBuilderのインポート: bionetの代わりにbionetliteをインポート
ネットワークの定義: bionetと同じ方法でノードとエッジを定義
ビルド:
net.build()でネットワークを構築保存:
save_nodes()とsave_edges()でファイルを生成Neuliteでの実行: 生成されたファイルをNeuliteカーネルで実行
制限事項
bionetliteは以下の機能に対応していません:
Point neuron (LIF, etc.)
Virtual neuron
ファイルからのスパイク入力
exp2syn以外のシナプスモデル
詳細は 仕様と制限事項 を参照してください。