Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROSETTA

脳領域名の正規化パイプライン。論文または脳領域ラベルを入力として、SABRA(BNA + DHBA)の 領域名に変換します。WBRA / BRA駆動開発の一部で、CoBRAC・WholeBIF-RDB・BDBRA が下流に位置します。

現在は設計段階です。 ここにあるのはインタフェース定義と、それを満たすスタブ実装です。 本番実装は各担当が差し込む形になります(担当と実装の入れ方)。

クイックスタート

Python 3.10 以上。外部ライブラリは不要です。

python3 -m rosetta.example

3つの経路(座標経路 / ラベル経路 / ラベル入力)と BIF 転記レポートが表示されます。 中身はスタブなので結果に意味はありませんが、どんなデータが流れるかが分かります。

全体像

論文(DOI) または 脳領域ラベル
        ↓
    ROSETTA 本体          分岐と後処理のみを担当
        ↓
  ┌─ CBM ──────┐  座標取得(NeuroVault / PMC OA)→ SABRA
  │            │  領域ラベル抽出(pubget + LLM)
  └─ RCS ──────┘  ラベル → SABRA 候補の探索
        ↓
  脳領域情報のリスト(SABRA名の分布 / relation / Evidence / Taxon)
        ↓
   BIF 転記アダプタ / CoBRAC

座標が取れるのは論文の 6〜13% で、残りはラベル経路に流れます。実質の主経路はラベル側です。

図は docs/diagrams.md(GitHub 上でそのまま描画されます)。

読む順序

目的 ファイル
各モジュールの取り決め rosetta/interfaces.py
処理の流れ rosetta/core.py
データモデル rosetta/types.py
設計の経緯・判断理由・残件 ROSETTA_design_notes.md
docs/diagrams.md

モジュールと担当

モジュール 担当 Protocol
SABRA(アトラス) 田和辻 SabraAtlas
CBM(座標・ラベル抽出) 鈴木 CoordinateToBrainMapper
RCS(候補探索) 宮本 RosettaCandidateSearch(実装は別リポジトリ。本リポジトリの rosetta/adapters/rcs_api.py から HTTP で呼びます)
BIF 転記 山川 rosetta/bif.py(BRA 仕様との整合は田和辻さんに判断いただいています)
ROSETTA 本体 山川 rosetta/core.py

利用側として、CoBRAC(下山)が ROSETTA の出力を BIF の Circuit ID に用います。 8月時点の仮仕様は docs/cobrac_interim_spec.md にまとめてあります。

実装の差し込み方は docs/implementing_a_module.md を参照してください。

構成

rosetta/
├── interfaces.py   各モジュールの取り決め(Protocol)
├── core.py         メインルーチン(処理分岐)
├── types.py        データモデル
├── bif.py          BIF への転記アダプタ
├── coords.py       座標空間の変換(TAL → MNI)
├── jats.py         article.xml から節見出しを取る
├── errors.py       例外
├── adapters/       外部実装を取り決めに合わせる層
│   └── rcs_api.py  RCS API(宮本さんの AWS 環境)のクライアント
├── stubs.py        動作確認用のダミー実装
└── example.py      実行例

docs/
├── diagrams.md              図(Mermaid)
├── figures/                 図の PNG と Graphviz ソース
├── implementing_a_module.md 担当モジュールの実装の入れ方
├── cobrac_interim_spec.md   CoBRAC 向けの仮仕様(8月時点)
├── rcs_handover_checklist.md RCS の引き継ぎで確認したいこと
├── visualization_policy.md  図の作り方・使い分け
├── build_diagrams.py        UML・API リファレンス・HTML の生成
└── build_doc.js             レビュー依頼 docx の生成

docs/generated/docs/api/docs/diagrams.html は生成物なので追跡していません。 必要なら次で再生成できます(要 pip install pylint pdoc と graphviz)。

cd docs && python3 build_diagrams.py

未確定事項

設計メモの「残る要確認事項」を参照してください。主なものは次のとおりです。

  • NeuroVault 由来の座標に対する Pointers の扱い
  • ピーク座標の閾値・検出法
  • 非ヒト Taxon の扱い(保留)
  • RCS API との差分3点(relation が返らない、HOMBA ID から SABRA ID への解決、AI 判断オプション) → docs/rcs_handover_checklist.md

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages