本文發表於《大眾科學》的前部落格網路,反映了作者的觀點,不一定反映《大眾科學》的觀點
這是一篇我為一本計劃中的關於開放計算研究的新期刊撰寫的評論文章,由於某種原因未能成功創辦。希望該期刊能夠復活,或者有其他期刊取而代之,因為這是一個重要的議題。在幾乎每一項科學努力中,模擬和建模現在都已成為穩健且常用的範例,它們持續的相關性和使用將取決於計算結果是否符合常規應用於理論和實驗工作的相同標準。我的文章試圖探討在開放科學出版的時代,如何最有效和誠實地交流計算研究。歡迎反饋,因為這必然是一項社群共同努力。
新的科學研究方式需要新的標準
在過去的三十年左右,與理論和實驗一起,建模和模擬已成為科學方法論的第三支柱[1]。儘管其歷史不如理論和實驗那樣神聖,但建模現在已被廣泛用於補充——有時甚至取代——理論和實驗研究的結果。隨著科學變得越來越複雜和跨學科,求助於模型來解釋、理解和預測至關重要。現代科學中許多最緊迫和最令人興奮的問題,從理解大腦到模擬生物網路再到繪製宇宙的大尺度結構,都涉及複雜的、多因素的現象,這些現象無法透過第一性原理的解決方案來解決。分析這些問題需要巧妙地結合嚴謹的理論、統計分析和經驗性的猜測,因此,模型構建將在解讀這些真實世界的物理、生物和工程系統的運作方式方面發揮越來越重要的作用。
關於支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保有關當今塑造我們世界的發現和思想的具有影響力的故事的未來。
與任何科學研究哲學一樣,建模必須符合長期以來為現代科學在過去五百年左右的巨大發展和實際效用做出貢獻的公認原則和約束。這些約束中最重要的是準確和可重複的結果交流,這是科學探究的基礎。準確性對於理解特定方法的機械運作及其與觀察結果的因果關係至關重要。可重複性是科學方法的核心,這是一項基本要求,沒有它,就不可能信任和驗證任何科學研究。隨著建模和模擬已成為現代科學研究的支柱,它們也帶來了與這些方法論方面相關的獨特挑戰。
伽利略提供了一個早期且引人注目的現代科學可重複性的例子,當時他製造瞭望遠鏡並對木星的衛星進行了開創性的觀測[2]。正如故事所說,他煞費苦心地製作了幾份儀器,並將它們送給歐洲各國的王公貴族,以便他們也能看到他所看到的。在伽利略的工作中,我們目睹了可重複性的兩個主要方面。一是研究工具的複製;二是結果本身的複製,在本例中以觀測的形式。
這兩種比喻都很好地適用於模擬技術對準確性和可重複性的要求。建模的工具類似物將是研究中使用的硬體和軟體的精確形式。觀測類似物將是收集、處理和呈現資料的具體方法,以便每個觀察者看到的結果都相同。如果我們想要準確地重現和驗證建模結果,我們需要制定標準來解決資料生成、分析和呈現的這兩個方面。不幸的是,頂級期刊仍然需要制定程式碼提交的標準政策。例如,《科學》雜誌要求作者提供實際程式碼[3],而《自然》雜誌僅要求“足夠詳細的描述,以便其他人編寫自己的程式碼來進行類似的分析”[4],這可能會導致歧義。具有諷刺意味的是,隨著模擬軟體透過圖形使用者介面和易於操作而迅速普及,非專業使用者很容易將軟體視為黑匣子,而不必擔心交流底層細節。開源程式的日益普及以及實驗主義者對模擬的無疑有利的運用,使得制定計算結果交流的標準和場所的問題變得尤為迫切。
即使是模擬協議的細微變化也需要追蹤
這項努力的首要任務是儘可能詳細地說明硬體和軟體的各個方面。我自己的計算化學領域的軼事說明了這樣做的原因。我以前的一位研究導師想複製一項使用一種特別有趣的分子進行的建模研究,因此他聯絡了最初進行這項研究的科學家,並按照前者的協議處理了系統。他適當地調整了引數並進行了實驗。令他驚訝的是,他得到了非常不同的結果。他重複了協議幾次,但始終得到錯誤的結果。最後,他打電話給最初的研究人員。兩人多次核對了協議,最終意識到問題出在一個細微但被忽視的細節上——兩位科學家使用的是略微不同的建模軟體版本。這甚至不是一個新版本,只是一個更新,但由於某種原因,它足以顯著改變結果。
這個軼事清楚地表明需要明確軟體的各個方面及其實現方式。這包括版本、更新、補丁、作業系統、輸入引數、“預處理”步驟,以及最關鍵的,專家調整。最後一個方面至關重要,值得列舉一些細節。建模可能既是一門藝術,也是一門科學。專家建模者很少使用預設的、開箱即用的軟體版本。相反,幾乎每個進行計算的科學家都會在不同程度上調整和修改程式,以便針對正在考慮的特定系統對其進行自定義。這種調整在很大程度上基於專家知識、經驗和直覺,並且可能包含多種修復,包括整合實驗資料、將演算法轉換為過去用於類似系統的演算法、對演算法的某些部分進行額外引數化以使其更有利於正在考慮的系統,以及其他非標準且通常違反直覺的修改的混合。其中至少有一些是受到猜測和直覺的啟發,這些品質一直是科學成功的重要因素。但是,大多數此類調整永遠不會在原始程式碼中顯現出來,甚至不會在其註釋中顯現出來。
那麼,我們如何才能將科學過程中這些必不可少但相當無形的部分納入研究結果的交流中呢?一個部分的解決方案是提供日誌檔案以及原始程式碼和軟體規範。一些商業程式已經在其使用者介面中內建了此類功能。例如,Schrodinger[5]的藥物發現建模套件除了通常的流程日誌檔案外,還具有命令指令碼編輯器,它可以跟蹤使用者在全球使用者介面環境中執行的所有操作和細微調整。由於可以從此介面訪問多個軟體應用程式,因此該流程有價值地跟蹤了模組內部和跨模組的操作。命令指令碼反過來可以由任何有權訪問該軟體的人執行,並且如果包含在輸入列表,它應該忠實地重現原始演算法。與英語語言的說明相比,讓研究人員上傳此類指令碼以及原始程式碼將允許更準確地複製協議。更一般而言,還可以有“元指令碼”,它可以跟蹤所有軟體和硬體細節以及使用者操作。此類指令碼理想情況下將封裝整個模擬協議的完整配方。在沒有此類全域性日誌檔案的情況下,堅持使用特定於應用程式的日誌檔案將是一個良好的開端。
就像軟體一樣,硬體也應該明確描述。當今,許多計算都在並行、分散式和基於雲的系統上執行時,尤其如此,這些系統很可能呈現出不同的硬體配置組合。硬體的準確表示應說明有關處理器、記憶體、顯示卡、預裝作業系統和顯示器的詳細資訊,並且理想情況下還應包括供應商名稱。當然,細節的數量將取決於特定研究的性質。例如,GPU 密集型研究必須儘可能詳細地列出圖形處理卡的詳細資訊,而更通用的研究可能不受此要求限制。最終,儘管每個讀者都不可能複製所有硬體細節,但即使知道自己正在使用不同的配置也會提醒人們注意輸出的可能差異。然而,真正有用的是將這些差異分類,作為未來模擬的可能指南,並且只有在執行受控實驗(其中比較僅在硬體使用方面不同的兩個模擬的結果)後才有可能做到這一點。對於專門從事開放計算研究的期刊,可以有一個單獨的部分(可能是線上部分),使用者可以在其中記錄因不同硬體架構而產生的有趣的結果差異。
對於複製計算研究而言,特別有價值的資訊是提供陽性和陰性對照。此類對照一直是出版物的長期要求,尤其是在生物學界[6]以及更廣泛的實驗科學領域,但計算界似乎尚未大規模採用它們。對於計算研究,在測試系統上執行所討論的演算法將為協議的完整性提供信心。測試系統可以是經過充分研究的系統,已知其準確答案——例如透過實驗——並且已被多次複製。任何未能提供此答案的新演算法都值得懷疑。然後,即使論文中描述的真實系統由於其複雜性或缺乏資源而無法被另一位工作人員完全複製,他或她也可以透過複製其在穩健的測試系統上的成功來對程式的執行充滿信心,該測試系統將充當對照。作為陰性對照的測試系統將起到類似的作用。
好的模型應該被明確標記和展示。
編目所有這些資訊本身就是一個挑戰,一種可能的做法是建立一箇中央程式碼庫,其中包含各種不同的協議及其隨附的引數。正如最近《科學》雜誌上的一篇文章所建議的那樣,這個儲存庫可以稱為“CodeMedCentral”[7]。正如 PubMedCentral 提供科學出版物的詳細資訊一樣,CodeMedCentral 可以為每項已發表的研究提供支援軟體和硬體詳細資訊。仔細註釋網站並對其上的資訊進行分類對於準確重現模型非常重要。《科學》雜誌的文章還建議用限定符標記文章,該限定符指示研究的可信度,具體取決於該研究是否已成功重現。已成功複製的研究可以用“R”限定符標記。期刊《生物統計學》[8]已經富有成效地採用了這項政策,這表明文章未被標記的可能恥辱感並沒有阻止渴望的科學家在期刊上發表文章,最好是帶有“R”印章。至少,這種根據程式碼提交和驗證程度對文章進行分類的方法將使研究人員能夠實際判斷研究的完整性,尤其是在比較研究中。
在討論程式碼分發和重現的標準時,如果我們不解決專有程式碼的問題,那將是一種疏忽。根據具體情況,可能可以或不可以公開輸入的所有詳細資訊和精確的分析方法。製藥和航空航天等行業尤其如此。雖然對專有程式碼的約束不可避免地使準確的資料複製變得困難,但即使是專有資料也可以進行部分重現。例如,在化學資訊學研究中,專有的分子結構可以編碼為難以解碼的特定於組織的格式。人們仍然可以在這個神秘的資料集上執行一組建模協議並生成統計資料,而不會洩露結構的身份。統計資料的複製將為研究的完整性提供信心。當然,必須有防止濫用任何此類評估的保障措施,但它們可能不難實施。
呈現,呈現,呈現。
與準確描述軟體和硬體同樣重要的是,如果沒有分析和呈現資料的統一標準,它將失敗。這是一個通常困擾每個領域在概念階段的問題,當時不同的研究人員選擇使用他們最喜歡的統計技術、資料處理軟體和圖形描述來呈現他們的研究結果。這種呈現方式可能會隱藏與其揭示的細節一樣多的細節,因為它通常會將異常值、失敗的結果和固有的偏差放到一邊。分析和報告的這種廣泛差異不僅具有誤導性,而且還嚴重阻礙了不同研究的比較和薈萃分析,使得驗證成功的技術和丟棄不成功的技術非常困難。最重要的是建立和報告標準基準和指標。虛擬篩選領域提供了一個有力的例子,其中測試演算法識別潛在有價值的新藥候選物的能力[9]。由於缺乏用於設定測試系統並在其上執行相關演算法的通用協議而引起的混亂,再加上用於評估的不同指標(其中一些指標人為地誇大了結果的重要性)而變得更加複雜。直到最近幾年,我們才看到有人提出並使用仔細的基準來設定和評估使用公正的統計指標[10],[11]的虛擬篩選研究。
毋庸置疑,準確描述正在考慮的系統和用於分析的方法,包括正確呈現統計軟體、方法和誤差線,是忠實重現研究的關鍵。對於統計密集型建模,結果理想情況下還應包括模型不確定性的估計,透過建立估計數值準確性、模型對邊界條件的敏感性、置信區間等的圖形來表示。建立這些報告研究的標準指標的重要性怎麼強調都不為過;沒有它們,就根本不可能將真正的科學精華與虛幻成功的糟粕區分開來。
最終,提供計算細節的需求與提供任何其他理論或實驗細節的需求沒有什麼不同。建模和模擬無疑將在科學研究中發揮越來越重要的作用。準確瞭解它們的缺陷和前景對於準確評估它們在未來科學探究殿堂中的地位至關重要。可重複性將照亮道路。
致謝: 作者感謝 Nathan Walsh 的有益討論。
[2] Heilbron, J. L. “伽利略”, 2010, 牛津大學出版社
[3] Hanson, B.; Sugden, A.; Alberts, B. 科學, 2011, 331, 649
[4] 自然, 2011, 470, 305
[5] http://www.schrodinger.com/products/14/12/
[6] Glass, D. J. “生物學家的實驗設計”, 2006, 冷泉港實驗室出版社
[7] Peng, R. 科學, 2011, 334, 1226
[8]http://www.oxfordjournals.org/our_journals/biosts/for_authors/msprep_submission.html
[9] Shoichet, B. K. 自然, 2004, 432, 862
[10] Hawkins, P. C. D.; Warren, G.; Skillman, A. G.; Nicholls, A. J. Comput. Aided Mol. Des. 2008, 22, 179
[11] Irwin, J. J. J. Comput. Aided Mol. Des. 2008, 22, 193