可再現危機的因應對策:結合 Binder 與 Snakemake 再現研究成果

文/王俐晴(中央研究院資訊科學研究所實習生)

去 (2024) 年 10 月,研究資料寄存所 (depositar) Binder 功能的 JupyterLab 環境上,我們確認了 Snakemake 工作流程管理系統的安裝與使用。承接著 Binder 為了實現「運算可再現性」(computational reproducibility)的目標,Snakemake 的加入致力於讓這個「再現」的流程變得更具系統性,讓任何人(不論專業領域)都可以簡易的操作去存取研究過程、再現研究成果,更甚至是做到「運算可複製性」(computational replicability),讓使用者得以同樣的分析方式,驗證在不同資料下是否可以得到相近的研究結果,讓研究具更高的研究誠信 (integrity)。目前 Snakemake 使用範圍主要集中在生物資訊學領域,但由於其高度直覺性的語法結構及基於 Python 的開發友善性,未來的發展潛力值得期待。

研究過程再現困境

在能夠為使用者提供完整流程分析之前,我們需要的是願意提供其詳細研究方法的研究人員。2021年 Samuel S, König-Ries B 在他們的論文中對造成「可再現危機」(replication crisis) 的原因進行了分析,而「不完整的方法與流程資訊」就是其中一項主因。在他們的調查中,有 73% 的研究人員認為缺乏完整的方法、標準作業程序、準則 (Methods/Standard Operating Procedures/Protocols) 是造成他們難以再現研究的因素。

除此之外,文中還分別就研究步驟 (steps)、設定 (setup)、方法 (methods) 這三個面向的後設資料 (metadata) 在一段時間後被研究人員本人或新加入者 (newcomer) 重新找到的難易度,也就是可詢性 (findability) 進行了評估。結果顯示,在三項指標中,約有 10% 的研究人員認為難以再次找到這些資訊;更有接近或超過 40% 的新加入者有相同困難。

在現代科學論文中,研究方法通常因篇幅限制而省略部分細節,使得其他研究者難以完全理解實驗步驟與操作,造成論文難以作為其他研究的基底。調查結果更進一步表明,除了輸入數據和結果之外,研究者認為分享後設資料以及對原始數據、負面結果、測量、設定、實驗裝置、參與人員、軟體參數、方法、步驟和結果的描述對於重現已發表結果都是非常重要的。

透過工作流程再現研究-Snakemake

以文字敘述研究過程所能傳遞的資訊是有限的,更不用說自然語言的理解空間極大,百種人就有百種見解。若將研究過程,以具體的分析步驟呈現其操作邏輯,將有望減少文字敘述時產生的歧義、模糊,或無法傳達重要成果的情況。讀者亦可以清晰地檢視到從數據輸入一直到結果產出的完整過程,更容易重複使用與延伸這項研究,減少研究產出卻無法被利用的窘境。 Snakemake 就是為實現這一目標的工具。

Snakemake 是一個以 Python 撰寫的工作流程管理系統。得力於 Binder 建立的 JupyterLab 線上運算環境,Snakemake 可以在此環境下,依照事先定義的流程,執行所需要的分析。研究人員可以將其研究過程、資料一同上傳至 depositar,確認再現結果是否會如預期,再將這些資源交給使用者去參閱與驗證。

由於目前 Snakemake 尚未被普遍使用,對於尚未熟悉 Snakemake 的使用者,可以參見官方網站Snakemake 使用介紹,學習基礎的 Snakemake 使用,若已經有 CWL (Common Workflow Language) 或 Makefile 等其他語法撰寫的工作處理流程,也可以直接與 Snakemake 的 Snakefile 整合,不需再重新編寫。

藉由在 Binder 中使用 Snakemake,使得非技術專業背景的研究人員可以透過輸入簡單指令 (如 snakemake) 就達成研究結果的再現,也可以直接加入新資源做進一步分析。對於專長的研究人員,則可以有較為完整的程序可以檢視、鑽研。以上均著實提高研究的可及性 (accessibility)。

研究再現性與可複製性的未來展望

在 Binder 的 JupyterLab 環境中安裝並使用 Snakemake,讓研究資料寄存所 (depositar) 在 FAIR 資料原則的實踐上更進一步。不僅是存放研究資料,更可以在平台上操作、再現研究過程與成果,為研究人員提供便利的資料再利用,省去了找到需要的研究後一系列繁瑣的搜尋程序。

雖然目前 Binder 服務已支援大多數的 Snakemake 功能,但仍存在一些限制,因此未來還是會繼續完善資料儲存庫的功能,秉持開放科學理念,為研究人員提供更友善、更高效的平臺。

延伸閱讀

  1. 何明諠。〈以技術克服科研運算可再現性的挑戰 貫徹開放科學的理念〉
    https://rdm.depositar.io/zh_TW/news/20240315-computational-reproducibility-with-binder

  2. 劉雨如。〈「註冊報告」與「材料分析報告」發表制度的出現〉
    https://www.scimonth.com.tw/archives/5241

  3. Mölder, F., Jablonski, K.P., Letcher, B., Hall, M.B., Tomkins-Tinch, C.H., Sochat, V., Forster, J., Lee, S., Twardziok, S.O., Kanitz, A., Wilm, A., Holtgrewe, M., Rahmann, S., Nahnsen, S., Köster, J., 2021. Sustainable data analysis with Snakemake. F1000Res 10, 33.
    https://doi.org/10.12688/f1000research.29032.1