VFB 專題課程 / PART 2

PART 2

把一個名字問清楚

你手上有一個名字,想知道 VFB 上跟它有關的一切——而這件事比打字進搜尋框複雜一層

← PART 1 座標系 PART 3 從腦區找到神經元(尚未發布)

1ME_RME(R)optic medulla,是三塊腦區還是一塊?

一塊。你讀一篇用 FlyWire 資料的論文,裡面的腦區叫 ME_R;換一篇用 hemibrain 的,同一塊叫 ME(R);再翻一本解剖學的書,它叫 optic medulla。三個寫法指的是同一塊神經氈——那是 PART 1 用的詞,指神經纖維密集交織、突觸集中的那一團組織;這一塊位在視葉,也就是果蠅腦處理視覺的那一大區。

這件事聽起來只是麻煩,實際上會讓整個分析停擺:你想把兩套連線資料放在一起比,第一步就要知道甲方的 ME_R 等於乙方的哪一個。多數人的作法是自己維護一張對照表。VFB 的作法是,那張表已經在裡面了。

在 VFB 上,這塊腦區只有一個身分,編號 FBbt_00003748,正式名字是 medulla。上面那三個寫法,連同另外五種,全部登記成它的別名——也就是「同一個東西的另一種寫法」:

登記的寫法登記成哪一種別名誰這樣叫它
ME完全同義BrainName 命名法(Ito et al., 2014)
optic medulla完全同義Venkatesh and Shyamala, 2010
Med完全同義Chiang et al., 2011
ME_R ME_L相關同義BANC(Bates et al., 2025)與 FlyWire(Schlegel et al., 2024)
ME(R) ME(L)相關同義hemibrain(Scheffer et al., 2020)、male-cns(Berg et al., 2025)、視葉連線體(Nern et al., 2025)
m相關同義(登記時沒有附出處)
白話。「完全同義」是指兩個寫法可以互換,意思一樣;「相關同義」是指兩者有關但不保證完全等同——ME_R右側的那一塊,而 medulla 這個詞本身沒有分左右。VFB 用這兩種標記把「同一個東西的另一個名字」和「幾乎是同一個東西」分開,你在讀的時候要跟著分開。

上表整理自 out/terminfo_region.jsonSynonymsscripts/vfb_probe.py 抓取,2026-09-14)。同一份內容在畫面上是 Term Info 的 Alternative Names 欄,逐列存在 out/ui/terminfo_v2_region.jsonscripts/browser_probe.py 拍攝,2026-09-14):兩邊都是 13 列,畫面上每一列還附了出處論文。表裡的八種寫法就是這 13 列去掉重複登記的結果——ME_RME_LME(R)ME(L) 各被不只一套資料集登記過一次。

這一節要換掉的觀念:VFB 的搜尋框不是在幫你比對字串,是在幫你找「詞」。你打進去的任何一個別名,都會把你帶到同一個編號。所以在 VFB 上,問清楚一個名字,等於把它換成一個編號。

2VFB 查的是詞,不是字串

VFB 底下掛著一份本體論——這個詞本課第一次用,先定義:本體論是一份把概念、概念的正式名字、它的別名、以及概念與概念之間的關係(哪個是哪個的一部分、哪個是哪個的一種)全部寫下來的詞表,每個概念配一個永久編號。VFB 用的那一份叫 FBbt,是 FlyBase 維護的果蠅解剖本體論,前面那個 FBbt_00003748 就是它的編號。

「查詞不查字串」的直接後果是:同一個詞會在結果裡佔不只一列。向 VFB 的公開介面查 medulla、要 10 筆,回來的 10 列對應的其實只有 9 個詞——FBbt_00003748 佔了兩列:

回來的那一列長這樣它其實是哪個詞
medulla (FBbt_00003748)FBbt_00003748 ← 同一個
optic medulla (medulla)
medulla cortex (cell body rind of adult medulla)FBbt_00100205
larval medulla (medulla anlage)FBbt_00001935

讀法是這樣:括號外面是配對到的那個寫法,括號裡面是這個詞的正式名字或編號。第一列是拿正式名字配對到的,所以括號裡直接給編號;第二列是拿別名 optic medulla 配對到的,所以括號裡提醒你「它的正式名字是 medulla」。兩列,一個詞。

所以「回來幾筆」永遠不等於「有幾個」。這是本課會反覆遇到的一件事,PART 1 在算 template 的分區時遇過一次,這裡是它在搜尋上的長相:列數是「有幾種叫法被配對到」,個數才是「有幾個東西」。要數東西,就去數不重複的編號。

上表出自 out/search_medulla.jsonscripts/vfb_probe.py,2026-09-14),該檔存的是完整的 10 列;表上只列出前四列與重複的那一組。

3兩種編號是兩種東西:類別與個體

你在 VFB 上會看到兩種編號開頭,它們不是新舊版本,是兩種不同性質的東西

FBbt_… 類別

一個概念:「medulla 這種腦區」。它不是任何一張圖、不屬於任何一隻果蠅。定義、別名、跟其他概念的關係都掛在這裡。

VFB_… 個體

一個具體的東西:「畫在 JRC2018Unisex 這顆標準腦上的那一塊 medulla」。它有影像、有座標、有授權、有來源資料集。

把同一塊腦區的兩邊並排,差別一眼看得出來:

類別個體
編號FBbt_00003748VFB_00102107
名字medullaME on JRC2018Unisex adult brain
別名13 筆0 筆
授權沒有CC-BY-NC-SA 4.0
對位到哪顆腦沒有這個欄位JRC2018U ← 畫面上寫的是短名;它的編號是 VFB_00101567,見第 4 節
來源資料集沒有JRC 2018 templates & ROIs
最重要的一列是「授權」。授權掛在個體上,不在類別上——因為能不能用、怎麼引用,是那張影像的事,不是那個概念的事。所以要查一筆資料的授權,一定要打開那個 VFB_… 個體去看,查類別是查不到的(它那一欄根本不存在)。實際做法是把編號接在 virtualflybrain.org/reports/ 後面貼進瀏覽器。這一點跟 PART 1 第 3 節那張表是同一件事的兩面:VFB 上沒有一句話蓋得住全站的授權。

一個類別底下有幾個個體

medulla 這個類別,知識庫(VFB 背後存放所有資料的那個資料庫,PART 1 第 3 節這樣叫它)裡掛著 2,424 個個體。其中有名字的只有 12 個,另外 2,412 個的編號長成 VFB_internal…、沒有名字也沒有影像——那些是用來承載「某一個基因表現模式,跟某一隻果蠅的這塊腦區有重疊」這類陳述的節點。

有名字的 12 個裡,只有 4 個有影像,就是 medulla 被畫在四套標準腦上的那四塊;剩下 8 個是 ME_LME_RME(L)ME(R) ——四套連線資料集各自登記的左右兩塊。

2,424
掛在 medulla 底下的個體
12
其中有名字的
4
其中有影像的
這三個數字都對,回答的是三個不同的問題。拿其中任何一個去講另一個,都會錯得很嚴重——而站上的介面只會給你其中一個。看到一個數字,先問它在回答哪一個問題。

整個知識庫的尺度也是同一個道理:登記在案的東西共 741,026 個,其中類別 122,360 個、個體 618,665 個。個體比類別多五倍,因為同一個概念會被畫在很多顆腦上、被很多套資料集各自登記一次。

並排表的欄位與值,出自 out/ui/terminfo_v2_region.json(類別那一欄)與 out/ui/terminfo_v2_individual.json(個體那一欄)——兩支都是 scripts/browser_probe.py 在 2026-09-14 用真的瀏覽器拍的。個體數出自 out/terminfo_individual.json(該檔的個體數用知識庫的 Cypher 查詢算,不是用介面的 Examples 欄——那一欄實測不穩定,同一個編號連問五次會交替回三套與四套)。有影像的 4 個出自 out/counts_region.jsonListAllAvailableImages。全站三個總數出自 out/facets.json。以上皆由 scripts/vfb_probe.py 於 2026-09-14 抓取。全站總數會隨資料更新而變,這裡標出來是要給你一個量級,不是一個常數。

4同一個東西有三個名字

在檢視器(virtualflybrain.org/reports/<編號> 會帶你到那裡)打開任何一個東西的 Term Info 面板,你會看到三個欄位,三個都是它的名字:

欄位是什麼以 JRC2018Unisex 為例
Name正式名字。面板上顯示得最大的那一個JRC2018Unisex
Symbol短名。站上的查詢標籤、以及 Aligned To 欄用的是這一個JRC2018U
ID永久編號。網址裡的那一串VFB_00101567

十套 template 裡,有五套的 SymbolName 不一樣;其中三套的 Symbol 連一個字都不出現在 Name——拿著其中一個去站上找另一個,會找不到:

IDNameSymbol
VFB_00101567JRC2018UnisexJRC2018U ← 互相看不出來
VFB_00200000JRC2018UnisexVNCJRCVNC2018U ← 互相看不出來
VFB_00101384JRC_FlyEM_HemibrainJRCFIB2018Fum ← 互相看不出來
VFB_00017894adult brain template JFRC2JFRC2
VFB_00100000adult VNS template - Court2018COURT2018VNS
其餘五套的 SymbolName 完全相同(Ito2014、Wood2018、L1 ssTEM、McKellar2020、Kuan2020)
本課的規矩:要指名一個東西,一律用 ID名字會因為你站在哪一個欄位、哪一個介面而不同,編號不會。這也是為什麼 PART 1 的作業單每一步都給 reports/<編號> 的網址,而不是叫你去搜尋框打名字。

十套的 NameSymbol 出自 out/template_names.jsonscripts/vfb_probe.py,2026-09-14)。三個欄位在畫面上的位置與寫法,出自 out/ui/terminfo_v2_template.jsonout/ui/terminfo_v3_template.jsonscripts/browser_probe.py 拍攝,2026-09-14)。

5三個搜尋框,三種行為

VFB 有三個網站,各有一個搜尋框。它們不是同一個東西換了個樣子——送出去的查詢就不一樣。同一個字 medulla,三個框送出三種東西:

在哪個網站搜尋框在哪medulla,實際送出的查詢畫面上排出多少列
www.virtualflybrain.org
說明文件站
頁首 Search VFB… ⌘K 那顆按鈕,點下去才長出輸入框 medulla
原樣送出,不展開
8 列詞,外加 2 列說明文件的頁面
v2.virtualflybrain.org
舊版檢視器
頂列的放大鏡圖示 (medulla OR medulla* OR *medulla OR *medulla*) 1,466 列
v3.virtualflybrain.org
新版檢視器
頂列的 Find something... 輸入框 medulla OR medulla* OR *medulla* 506 列
本課用哪一個:一個都不用。上表列出三個框是為了讓你認得它們,不是要你挑一個。本課的作法是直接用編號開網址virtualflybrain.org/reports/<編號>),PART 1 與本頁的作業單都是這樣寫的。真的要用搜尋框的時候(你手上只有名字、沒有編號),避開說明文件站那一個:三個框裡只有它不展開萬用字元,而且只向搜尋服務要 40 筆——下一節就是它漏掉東西的例子。另外兩個框都會展開,取回的詞多得多(打 medulla 時 v2 取回 494 個、v3 取回 150 個),代價是你要自己從一長串裡挑。

1,466 跟 506 這種數字,是兩層放大疊出來的。以 v3 為例:

  1. 查詢被展開成萬用字元。你打 medulla,送出去的是「medulla 或 medulla 開頭 或 任何位置含 medulla」,所以 medulla columnar neuronaccessory medulla 這種全部符合,共 501 個詞。
  2. 拿回來的每個詞,再按別名拆開。實際取回 150 個詞,畫面上卻排出 506 列:medulla 這一個詞,就因為 mMEMedoptic medulla 各自被拆成一列。
所以「畫面上有幾列」是這個介面的性質,不是這份資料的性質。同一個字,文件站給你 8 列、v3 給你 506 列、v2 給你 1,466 列——三個都沒有錯,它們在回答三個不同的問題。凡是要拿數量去下結論,就不要數畫面上的列,去數不重複的編號。

三個框送出的查詢與畫面列數,由 scripts/browser_probe.py 用真的瀏覽器各操作一次取得(2026-09-14),原始輸出在 out/ui/palette.jsonout/ui/search_v2.jsonout/ui/search_v3.json;每一支都附了它攔到的完整查詢網址,以及拿那個網址重問一次得到的詞數,兩者並排存著。

6JRC2018Unisex 找不到 JRC2018Unisex

把前面幾節合起來,就解得開這門課最反直覺的一個現象。到說明文件站的搜尋框,打上這顆標準腦的正式名字 JRC2018Unisex——完全正確、一個字不差——畫面給你 8 列,每一列都長成 ME on JRC2018Unisex adult brain 這樣,而 JRC2018Unisex 本身不在裡面

五件事疊在一起,缺一件都不會發生:

發生了什麼為什麼這會害到你
這個框向搜尋服務要 40 筆排在 40 名之後的,等於不存在
送出之前,你打的字一律被轉成小寫大小寫不在你手上,怎麼打都一樣
同一組條件,全小寫時目標排第 47 名(大小寫保留的話是第 1 名)第 47 名 > 40,根本沒被取回來
排在它前面的 46 列,是它自己的分區每塊分區的名字裡都帶著母體的名字,比分因此比母體高
畫面只排得下 8 列看到的全是分區

第 ③ 件事的差距不是勉強落敗:同一組條件、同一個字串,只差大小寫——

第 1 名
大小寫保留時,分數 669.06
第 47 名
全小寫時,分數 58.37
424.69
全小寫時第一名的分數

該打什麼才找得到

JRC2018U那是它的 Symbol第 4 節那張表的第一列)。用它去查,符合的只有一個,畫面上就一列,正是要找的那顆標準腦。

可以帶走的兩條經驗。第一,拿一顆標準腦的名字去搜,回來的是它的分區——因為分區的名字裡都含著它。要找母體,改用 Symbol。第二,更省事的作法是根本不用搜尋框:只要知道編號,直接開 virtualflybrain.org/reports/<編號>PART 1 的作業單每一步都這樣做,就是為了避開這一整節。

名次與分數出自 out/search_case.jsonscripts/vfb_probe.py,2026-09-14,兩種大小寫各問一次)。「要 40 筆、顯示 8 列」與各種打法的結果出自 out/worksheet.jsondocsite_search_box。「送出前一律轉小寫」與畫面上那 8 列的內容,出自 out/ui/palette.json——那一支是用真的瀏覽器打字、攔下送出的查詢、再把畫面上的列逐列記下來的(scripts/browser_probe.py,2026-09-14)。

7動手做

四步,不用安裝也不用登入。前三步都直接給網址,貼到瀏覽器就會開在 VFB 的檢視器(v2.virtualflybrain.org)裡。

  1. 打開 medulla 這個「類別」。網址:virtualflybrain.org/reports/FBbt_00003748
    去哪裡確認你到對地方了:檢視器裡的 Term Info 分頁,看它的 Name 欄,應該寫著 medulla [FBbt_00003748](編號在方括號裡)。
  2. 找出這塊腦區的所有別名。在同一個 Term Info 面板裡往下找 Alternative Names 欄。
    看到什麼算對:每一列都寫成「某某 synonym:寫法(出處)」,例如 exact synonym: ME (BRAIN_NAME_ABV, Ito et al., 2014)。找出 第 1 節那張表裡的 ME_R,確認它旁邊標的是 BANC 與 FlyWire 兩套資料。
  3. 換成同一塊腦區的「個體」,比較兩邊的面板。網址:virtualflybrain.org/reports/VFB_00102107
    去哪裡看:一樣是 Term Info。看到什麼算對:這一頁有三個上一頁沒有的欄位——License(寫著 CC-BY-NC-SA_4.0)、Source(寫著 JRC 2018 templates & ROIs)與 Aligned To(寫著 JRC2018U是短名不是編號);而上一頁有的 Alternative Names,這一頁沒有。這就是第 3 節那張並排表,在畫面上的樣子。
    順便看一下 Classification 欄:它寫著 medulla,也就是上一步那個類別——個體會指回自己的類別,你可以從這裡走回去。
  4. 把同一個字丟進兩個不同的搜尋框。先到說明文件站 www.virtualflybrain.org,點頁首那顆 Search VFB… ⌘K 按鈕,打 medulla;再到 v3.virtualflybrain.org,用頂列的 Find something... 打同一個字。
    看到什麼算對:兩邊排出來的清單長度差很多,而且兩邊的第一列都是 medulla (FBbt_00003748)第 5 節解釋了為什麼長度會差這麼多——但不管差多少,那個編號是同一個,而編號才是你要的東西。

這一節指名的每一個欄位名與它的現值,都由 scripts/browser_probe.py 在 2026-09-14 用真的瀏覽器把這四步做過一遍拍下來,原始輸出在 out/ui/terminfo_v2_region.jsonterminfo_v2_individual.jsonpalette.jsonsearch_v3.json)。

如果你看到的欄位名跟這裡寫的不一樣,先看你在哪一個網站。本節寫的是 v2.virtualflybrain.org 的欄位名,而 reports/<編號> 目前就是轉到那裡。新版的 v3.virtualflybrain.org 有幾欄名字不同:資訊欄分成 General InformationMetadata 兩區,授權那一欄叫 Licenses(v2 叫 License),現成查詢那一區叫 Queries(v2 叫 Query For)。NameSymbolAligned To 三欄兩版同名。
← PART 1 座標系 PART 3 從腦區找到神經元(尚未發布)
VFB 專題課程 PART 2 · 本頁引用的 VFB 資料與畫面皆於 2026-09-14 讀取 ·  頁面上每個數字都對得回 out/ 底下的探針輸出