================== Bionetliteとは ================== 概要 ==== Bionetliteは、`Brain Modeling Toolkit (BMTK) `_ のbionetモジュールを拡張したPythonパッケージです。Neuliteカーネル用のネットワークデータを生成し、既存のBMTKコードを最小限の変更で再利用できます。 特徴 ==== 既存コードの再利用 ------------------ BMTKで記述されたネットワーク構築コードのimport文を変更するだけで、Neulite用のデータを生成できます。 .. code-block:: python # BMTK case from bmtk.builder.networks import NetworkBuilder net = NetworkBuilder('v1') net.add_nodes(...) net.build() net.save_nodes(output_dir='network') .. code-block:: python # bionetlite case (only change import) from bionetlite import NeuliteBuilder as NetworkBuilder net = NetworkBuilder('v1') net.add_nodes(...) # Same code net.build() # Same code net.save_nodes(output_dir='network') # Same code 技術的詳細 ========== BMTKのNetworkBuilderクラスを拡張し、bionetの全機能を維持しながらNeulite用の出力を追加します。 .. code-block:: python # bionet case from bmtk.builder.networks import NetworkBuilder # bionetlite case from bionetlite import NeuliteBuilder as NetworkBuilder 主な処理 -------- * **SWCファイルの前処理**: `Perisomatic model `_ への変換、DFSソート * **イオンチャネル設定の変換**: JSON形式からCSV形式へ * **ネットワークファイルの生成**: _population.csv、__connection.csv 詳細は :doc:`architecture/design_and_implementation` を参照してください。 出力ファイルの比較 ================== bionetとbionetliteでは、生成されるファイルが異なります。 .. list-table:: 出力ファイルの比較 :header-rows: 1 :widths: 30 35 35 * - File Type - bionet (BMTK) - bionetlite * - Network Data - | ``_nodes.h5`` | ``_node_types.csv`` | ``__edges.h5`` | ``__edge_types.csv`` - | ``_nodes.h5`` | ``_node_types.csv`` | ``__edges.h5`` | ``__edge_types.csv`` | **+** ``_population.csv`` | **+** ``__connection.csv`` * - Morphology Files - Original SWC files (unchanged) - **Processed SWC files** (Perisomatic model conversion, DFS sorted) * - Ion Channels - JSON format (``*_fit.json``) - | JSON format (``*_fit.json``) | **+** CSV format (converted for Neulite) bionetliteは、BMTKの標準出力(H5/CSV)を完全に維持しながら、Neulite用の追加ファイル(_population.csv、__connection.csv)を生成します。これにより、同じネットワークデータで両方のシミュレータを実行できます。 使用例 ====== .. code-block:: python from bionetlite import NeuliteBuilder as NetworkBuilder # Create network net = NetworkBuilder('v1') # Add nodes and edges (same as BMTK) net.add_nodes(...) net.add_edges(...) # Build and save net.build() net.save_nodes(output_dir='network') net.save_edges(output_dir='network') データ標準化の自動サポート -------------------------- このアプローチによって、BMTKが対応する `SONATA `_ や `Allen Cell Types Database `_ などの標準形式を自動的にサポートします。 関連リンク ========== * Neuliteシミュレータ: :doc:`neulite` * セットアップガイド: :doc:`getting_started/bionetlite_setup` * チュートリアル: :doc:`tutorials/tutorial01_single_cell` .. seealso:: Bionetliteの設計詳細や実装、BMTKとBioNetの背景については、:doc:`architecture/design_and_implementation` を参照してください。