跳至主要内容

Notebook 與執行證據

透過 Notebook 檢視已執行程式碼、在當前核心執行命令,並跟蹤後臺工作。檢查儲存檔案時,開啟 Provenance,檢視對應檔案版本的執行與證據。

執行 Python 或 R 前,先啟用相容環境。完整資料分析示例見公開資料工作流

閱讀平臺
選擇會在章節間保留。

開啟會話 Notebook

  1. 開啟包含目標計算的專案和會話。新會話可先要求代理在 Session Notebook 執行一次小計算。
  2. 點選 Open notebook,或使用會話選單 View notebook
  3. 檔案預覽處於活動狀態時,切換到 Notebook 標籤。
  4. Agent 選擇執行者,再用 Python / R / Bash 選擇語言。
  5. 開啟帶編號的執行,閱讀輸出與完成狀態。複製活動中的 code shown 表示展示的程式碼;執行記錄應到原產出會話檢視。

Notebook 中的 Python 執行與輸出

控制元件操作結果
Agent選擇 Main 或子代理顯示對應執行者記錄;不同代理可有獨立核心
語言選擇選擇可用語言切換記錄和控制檯;缺少語言時到 Runtimes 安裝
帶編號的執行選擇執行記錄開啟程式碼、輸出與狀態
Copy to clipboard複製程式碼保留原始碼中的外部路徑與依賴
Hide output / Show output收起或展開輸出調整檢視,不重新執行
run code in this kernel…輸入並提交程式碼在所選實時核心執行
關閉/收起預覽返回對話保留執行歷史

Input data / Inputs 時,核對檔案及版本是否與請求一致。引用不可用時,透過應用重新開啟或附加目標輸入,再重試。

使用當前核心

在當前核心中手動檢查

選擇 Python,點選 run code in this kernel…,輸入下面這段獨立命令。它不需要資料集、第三方包或其他會話的變數:

import sys
print("Python:", sys.version.split()[0])
print("Executable:", sys.executable)

Enter 執行,Shift+Enter 換行。自動補全選單展開時,先按 Escape 關閉。確認出現帶編號的 python · you 記錄及直譯器輸出;可執行檔案應屬於所選環境。

檢查 R 時,選擇 R 並提交:

cat(R.version.string, "\n")
cat("R home:", R.home(), "\n")

檢查 R 執行記錄及輸出。Python 和 R 使用獨立變數。出現 NameErrorobject not found,通常說明對應物件尚未在該核心建立;從其他會話複製命令前先檢查自己的程式碼。

核對直譯器與儲存結果的操作案例,見Python 與 R 執行環境,在頁頂選擇 Windows 即可檢視。

檢查實時變數

  1. 執行會建立變數的程式碼後,點選 Inspect variables
  2. 檢視 Name / Type / Size / Shape / Preview
  3. Filter variables 輸入自己程式碼中的名稱。截圖以 sha 為篩選詞;操作時請使用自己核心中實際存在的變數名。
  4. 點選 Refresh variables 讀取當前名稱空間;需要檢視隱藏名稱時使用 Show private variables
  5. 點選 Close 返回 Notebook。

按名稱篩選實時變數

預覽可能縮略數值,需要完整內容時在控制檯列印對應欄位。Variable tracking is limited 表示依賴圖不完整。stale 表示依賴發生變化,unknown 表示無法確定關係;使用過期結果前重新執行受影響程式碼。

核心變化後繼續工作

切換或重建環境可能停止當前核心。儲存檔案、執行記錄和記憶體變數有不同生命週期。變化後先執行上方直譯器檢查,再重跑建立所需變數的程式碼,並開啟需要繼續使用的儲存檔案。

安裝取消與重灌見 Runtimes。環境重建、常規核心重啟和後臺任務恢復是不同操作,應檢查相應狀態,不能假定它們恢復相同內容。

用 R 檢查同一份基因計數資料

案例演示 用 R 檢查 GSE60450 基因計數

  1. 安裝並啟用 R
  2. 附加原始計數矩陣。需要比較 Python 結果時,把該 CSV 也附加到同一會話。
  3. 要求透過 Session Notebook → R 執行,採用資料質量工作流的輸入/輸出要求,保留完整識別符號並另存結果。
  4. 出現 Change notebook runtime? 時,檢查 Language: R 和目標直譯器,再核對後續 Run R code? 的環境。
  5. 開啟 Notebook → R 閱讀執行記錄,然後開啟儲存的 CSV、圖表和報告。

應用內開啟的 R 樣本質控結果

按完整樣本標識與公共基準比較。保留原始來源,說明各指標是否包含零計數。原始計數質控用於準備資料,後續統計分析仍需獨立設計。

一起保留 R 結果與執行證據

在儲存 CSV 中開啟 Provenance → Execution Log → Download notebook,將匯出與輸入、結果儲存在一起。某個檔案版本的匯出可能不含後續手動控制檯命令。

R 結果捕獲的執行環境

Runtimes 的包清單描述已安裝環境,Provenance 描述某個檔案所捕獲的環境證據。出現 partial 或快取清單提示時,應閱讀其含義,不要把兩份包數量當作同一清單比較。

後臺任務與結果送達

適用的 Python、R、持久 REPL 或 Shell 工作需要在你處理其他事務時繼續,可在請求中明確後臺執行,並寫出輸入、輸出和停止條件。

  1. 任務被接受後,開啟會話 Background tasks,其中彙總本地執行和遠端 Compute 作業;沒有任務的會話可能不顯示入口。
  2. 檢視任務身份、環境、狀態和耗時。
  3. 點選 Open 檢視對應 Notebook 執行或 Compute 作業。
  4. 停止任務時,點選該任務的 Cancel,等待狀態確定,再檢查已儲存檔案是否需要保留。
  5. 完成後檢查送達的結果訊息,並開啟儲存的輸出。
  6. 中斷或重啟後先檢查已有任務和恢復提示,再決定是否重新提交。

後臺任務狀態與 Open 入口

狀態檢查內容
Queued / Running所選環境與進度;Shell 作業可能等待執行槽位
Cancelling / Cancelled取消仍在處理中,還是已經結束
Completed退出結果與儲存檔案
Failed / Timed out / Interrupted首條錯誤、保留輸出及可用恢復操作
Result unavailable已有作業記錄和恢復詳情

關閉任務列表不會停止任務。計算完成和結果訊息送達是兩個階段。遠端作業還需滿足遠端計算中的主機與排程條件。

檢查單個儲存版本的證據

開啟儲存檔案,選擇 File actions → Provenance,或在放大預覽中點選 Open Provenance。先確認所選檔案版本。

儲存結果捕獲的產出程式碼

標籤或控制元件檢查內容
Code捕獲的產出程式碼、輸入引用、複製/下載及 Generate script
Execution Log所選版本凍結的執行記錄
Messages與結果關聯的請求和決定
Environment直譯器、包資訊和捕獲狀態;參見恢復條件
Reproducibility捕獲的輸入、重新執行檢查、輸出比較和驗證記錄
Review與這個檔案版本關聯的審查
Previous / Next Artifact version其他儲存版本的證據;沒有其他版本時不可用
Close Provenance返回檔案預覽
標籤含義與下一步
bounded保留證據的範圍有限;匯出程式碼和結果時保留該範圍說明
partial部分環境資訊缺失或未確認;在應用外複用前補齊依賴要求
No review for this version當前檔案版本沒有關聯審查;會話與產物審查的區別見 Reviewer
快取環境清單來自複用快取;環境變化會影響結果時檢查實際直譯器和包

編輯報告會建立另一個檔案版本,不會重跑生成其他 CSV 的計算,詳見檔案與版本

檢視審查時,為所需版本選擇 Review,展開檢查項,使用 Go to transcript 檢視引用的執行活動。No issues found 只適用於這些檢查項和這個版本,不會補齊缺失的執行或環境證據。如果審查中斷,開啟對應的 Review error 條目,選擇 Re-run review;完成後回到檔案的 Review 標籤核對新結果。此前失敗的記錄仍可能保留在對話中。

可復現性

需要重新執行捕獲的結果、比較輸出並儲存驗證記錄時,按可復現性操作。本頁介紹 Notebook 執行、來源證據檢視和程式碼匯出。

匯出和複用程式碼

按需要選擇匯出方式:

目的入口內容
閱讀已記錄的產出程式碼Code → Captured producer block → Download捕獲的原始碼、原路徑與依賴
保留已記錄的 Notebook 單元Execution Log → Download notebook所選結果/版本對應的 Notebook
準備可獨立執行的指令碼Code → Generate script需要檢查和試跑的模型重建指令碼

生成可獨立使用的指令碼

  1. 開啟目標版本 Provenance → Code,檢查 InputsExecution Log
  2. Settings → Model → Main model 選擇相容的預設模型。這個輔助功能使用該策略,可能與會話輸入框中的模型不同。
  3. 點選 Generate script,等待 Generating… 完成。
  4. 閱讀 LLM-generated reconstruction 標籤,檢查輸入路徑、依賴與輸出位置,再點選 Download script
  5. 在系統儲存視窗選擇獨立目錄,確認 .py 檔名,再點選儲存。開啟落盤檔案,確認其內容與顯示的程式碼一致。
  6. 按指令碼要求的準確檔名準備輸入和依賴,在應用外執行。對照儲存結果檢查輸出欄位與輸入校驗和;下載完成本身不能證明計算正確。

生成指令碼預覽與下載控制元件

案例演示 在應用外重跑匯出的 RNA-seq 檢查指令碼

可下載指令碼輸入 CSV預期 JSON,放在同一資料夾。在該資料夾執行 python3 GSE60450-portable-check.py,只需 Python 標準庫。執行前將下載的預期 JSON 重新命名為 expected.json,避免被指令碼生成的同名檔案覆蓋。將執行生成的 GSE60450-portable-check.jsonexpected.json 比較後,再適配其他資料。

無法生成指令碼時下載已有程式碼

顯示 Artifact code reconstruction is unavailable with Codex subscription authentication. 時,可為該輔助操作選擇相容提供方,或下載已捕獲產出程式碼。此錯誤針對指令碼重建,不表示 Codex 的普通 Notebook 執行不可用。

出現 RECONSTRUCTION_UNAVAILABLE 時,檢查缺少的輸入或執行證據。下載捕獲程式碼會保留已有內容,但無法恢復從未捕獲的步驟。

匯出和複用

選擇 Provenance → Execution Log → Download notebook,選擇位置並儲存,再開啟匯出檢查語言、程式碼單元和輸出。

在應用外重跑前,準備輸入檔案、記錄的依賴及可寫輸出目錄。僅在工作副本中替換應用託管路徑,保留原始匯出。匯出不會打包憑據或完整應用環境。示例匯出見示例資料

理解錯誤與警告

現象下一步
缺少變數在所選語言/核心重跑定義該變數的程式碼
缺少軟體包檢查該環境包清單,按 Runtimes處理
輸入版本不可用開啟或附加目標當前輸入,透過應用確定其身份
PermissionError / access denied檢查目標檔案及權限範圍;持續失敗時按故障排查反饋
網路/安裝錯誤用受影響主機名和完整錯誤到網路排查
執行完成但有警告閱讀警告影響範圍,檢查儲存輸出後決定是否重跑

反饋時保留首條失敗行、所選環境、檔案身份和任務狀態。儲存輸出應關聯到實際產出執行。