組圖譜:從質(zhì)譜數(shù)據(jù)到機(jī)器學(xué)習(xí)建模)
做衰老研究這幾年我最大的感受是我們口中的“年齡”其實是個極度粗糙的變量。同一年紀(jì)的兩個人身體狀態(tài)可能拉開二十年差距即便同一個人不同系統(tǒng)的衰老速度也完全是另一套邏輯。一個65歲的人可能端粒長度相當(dāng)于40歲但骨密度和認(rèn)知評分已經(jīng)在同齡人后10%另一個看起來精力充沛的人血清里的炎癥因子水平卻高得嚇人。細(xì)胞衰老、器官衰退、免疫老化這些過程并不會同步發(fā)生。正因如此“多維衰老表型”這個概念才會在近幾年成為衰老研究圈的核心共識——我們得把衰老拆開看而“蛋白質(zhì)組圖譜”正是承接這個任務(wù)的最佳載體。今天這篇內(nèi)容我打算把這個項目從隊列設(shè)計、表型定義、質(zhì)譜實驗到生信分析和機(jī)器學(xué)習(xí)建模的完整過程做一個復(fù)盤把我踩過的坑、篩選過的方案和后續(xù)的思考一并寫出來。1. 從“衰老不同步”說起這個項目為什么值得做1.1 單一標(biāo)志物的尷尬很長一段時間端粒長度幾乎就是衰老研究的代名詞。但它的問題非常典型端粒確實和細(xì)胞復(fù)制性衰老有關(guān)卻只反映了細(xì)胞分裂歷史的某一個側(cè)面。一個終末分化的神經(jīng)元從來沒分裂過它的端粒可以一直“年輕”可神經(jīng)元功能照樣隨年齡衰退。p16和p21也有類似局限它們能反映細(xì)胞衰老卻完全回答不了“為什么一個70歲的人心血管系統(tǒng)還能保持良好狀態(tài)”這類具體問題。表觀遺傳時鐘當(dāng)時也被寄予厚望它測的是全基因組DNA甲基化位點(diǎn)默認(rèn)邏輯是“甲基化狀態(tài)隨年齡線性漂移”。問題在于慢性炎癥患者和健康百歲老人測出來的甲基化年齡都可能和實際年齡對不上因為這種時鐘受細(xì)胞組成、組織類型、采血時間的影響太大。換句話說甲基化時鐘給出的是一個相當(dāng)籠統(tǒng)的“整體年齡”但沒法告訴我們是哪套系統(tǒng)在拖后腿。1.2 為什么偏偏是蛋白質(zhì)組核心原因只有一個蛋白質(zhì)是功能的執(zhí)行者?;蛲蛔兒娃D(zhuǎn)錄水平代表“有可能發(fā)生什么”蛋白質(zhì)豐度和修飾狀態(tài)代表“此刻正在發(fā)生什么”。衰老本質(zhì)上是功能衰退過程想抓住功能層面的改變看蛋白質(zhì)比看核酸更直接。舉個最簡單的例子一個人IL-6的轉(zhuǎn)錄本水平升高不等于他身體里的炎癥負(fù)擔(dān)就重了但血清中IL-6蛋白濃度高幾乎可以直接說明問題。還有個技術(shù)前提。蛋白質(zhì)組學(xué)發(fā)展到今天靈敏度已經(jīng)能支撐大隊列深度定量?,F(xiàn)在一臺高分辨質(zhì)譜配合DIA采集模式單個血漿樣本就能定量四五千種蛋白像炎癥、補(bǔ)體、脂質(zhì)代謝、凝血這些衰老核心通路里的絕大多數(shù)成員都能看到。正是這個覆蓋度讓“多維”真實落地成為可能。2. 隊列設(shè)計與表型定義把抽象衰老變成可量化指標(biāo)做任何組學(xué)項目第一步都是最容易被低估的確定隊列和表型指標(biāo)。蛋白質(zhì)組實驗還沒開始之前如果表型定義是模糊的后面所有生物學(xué)解讀都會變成“拿著結(jié)果編故事”。我們在這一階段花了將近三個月。2.1 橫斷面還是縱向隊列設(shè)計之初我們考慮過兩個方向一是橫斷面設(shè)計一次采血覆蓋從25歲到95歲二是縱向追蹤觀察同一批人五年內(nèi)的蛋白變化。橫斷面的優(yōu)勢是一年就能完成且能覆蓋整個成年期缺點(diǎn)是不同個體之間的差異會和同一個體隨年齡的變化混在一起??v向隊列能解決這個問題但要等好幾年成本和隨訪負(fù)擔(dān)也很大。我們最終采用了折中方案一個已經(jīng)完成三年隨訪的既有隊列為基礎(chǔ)做一次橫斷面分析同時保留縱向隨訪批次。這樣既能在短期內(nèi)完成主體分析又可以用縱向數(shù)據(jù)驗證橫斷面中發(fā)現(xiàn)的蛋白趨勢。很多衰老研究項目其實是這么干的純從零搭建長期隊列的代價大多數(shù)課題組扛不住。2.2 多維表型的操作化框架“多維衰老表型”不能停留在概念上必須變成可以量化、能進(jìn)統(tǒng)計模型的數(shù)值。我們最終把表型拆成了四層分子層端粒長度、表觀遺傳年齡Horvath/Hannum兩個模型、p16蛋白表達(dá)、血漿SASP因子panelIL-6、IL-8、TNF-α、PAI-1。細(xì)胞層外周血免疫細(xì)胞亞群比例、組織樣本中的SA-β-gal染色陽性細(xì)胞比例。器官/系統(tǒng)層頸動脈內(nèi)膜厚度、左心室射血分?jǐn)?shù)、肺功能FEV1/FVC、腎功能eGFR、骨密度T值。臨床功能層握力、步速、MoCA認(rèn)知評分、FRAIL衰弱量表、ADL日常生活能力。每個指標(biāo)先做標(biāo)準(zhǔn)化統(tǒng)一成Z-score。這樣每個個體最終都有一組“表型剖面”可以用來做輪廓相似度比較也是后面所有關(guān)聯(lián)分析的基礎(chǔ)。這個過程最耗時間但后面的網(wǎng)絡(luò)分析、機(jī)器學(xué)習(xí)建模都受益于它。2.3 樣本量估算與分組策略標(biāo)準(zhǔn)的兩組比較功效估算流程可以這樣做假設(shè)差異蛋白比例約8%、生物學(xué)變異系數(shù)30%左右、期望效應(yīng)量0.6個標(biāo)準(zhǔn)差以上設(shè) α0.05、統(tǒng)計功效80%那么每組最少需要約80例。實際我們安排了三個年齡段每組80到100例加上縱向批次一共約280個血漿樣本。但這里我要坦白一個事后才意識到的問題單純按年齡分組并不理想因為年齡只是衰老的代理變量。如今讓我重新設(shè)計我會增設(shè)一個“表型極端組”70歲以上但健康表型評分前10%的“成功衰老”組以及50歲以下但表型評分后10%的“加速衰老”組。用這兩組做蛋白質(zhì)組比較找到的差異會比連續(xù)年齡變量有更強(qiáng)的解釋力。3. 質(zhì)譜平臺選型與樣本前處理決定成敗的暗礁樣本制備是整個項目里最容易翻車、也最容易被忽視的部分。很多人把精力全押在后面的數(shù)據(jù)分析上實際上前處理做不好后面每一張漂亮的圖都是在美化噪聲。這一節(jié)我把關(guān)鍵決策和細(xì)節(jié)操作寫清楚。3.1 為什么選DIA而不是DDA或TMT這個選擇要回到項目目標(biāo)大隊列、跨樣本、可重復(fù)的定量比較而不是追求單個樣本的極致深度。DDA是數(shù)據(jù)依賴采集在血漿這種動態(tài)范圍超過十個數(shù)量級的樣本里前體離子選擇帶有隨機(jī)性批次間缺失值率偏高定量重復(fù)性會拖后腿。TMT可以做16標(biāo)甚至18標(biāo)把樣本混合后跑一次能節(jié)省大量儀器時間但它存在壓縮效應(yīng)一旦某個標(biāo)簽出問題會連累一整批樣本而且兩百多個樣本意味著幾十批TMT批間歸一化非常痛苦。DIA則無需標(biāo)記每個樣本單獨(dú)進(jìn)樣配合DIA-NN的library-free模式覆蓋度能做到每針?biāo)奈迩€蛋白和TMT相當(dāng)而批次效應(yīng)在數(shù)據(jù)處理時更容易校正。我們項目最終全部選了DIA。3.2 高豐度蛋白去除與酶切血漿樣本處理沒有捷徑。白蛋白占總蛋白的55%到70%IgG占15%到25%兩者合計超過八成。不先把它們打下去低豐度的細(xì)胞因子、補(bǔ)體調(diào)節(jié)蛋白和受體片段就全部落在檢測限以下。我們用的是商業(yè)化高豐度蛋白去除方案以抗體為捕獲介質(zhì)的Top 14親和柱專門針對白蛋白、IgG、轉(zhuǎn)鐵蛋白這類主要干擾物。但這一步有隱性代價親和柱會非特異性地帶走一部分低豐度蛋白柱子用久了結(jié)合效率還會下降。我們的對策是限制每根柱子的使用次數(shù)不超過40個樣本并且每10個樣本穿插一個混合血漿QC樣本用來監(jiān)控柱效漂移。酶切用的是胰蛋白酶加了Lys-C做雙酶切比例控制在1:20到1:5037攝氏度孵育過夜。酶切時間不能太長也不能太短——太短漏切率高太長會產(chǎn)生非特異性副產(chǎn)物。多肽除鹽用C18柱上質(zhì)譜前每個樣本加入一段已知序列的內(nèi)標(biāo)肽段用來歸一化保留時間和信號強(qiáng)度。這里有一個很多人忽略的細(xì)節(jié)高豐度蛋白去除柱有一個最佳上樣量不是越多越好。我們第一輪預(yù)實驗為了多鑒定蛋白把血漿上樣量加大了50%結(jié)果低豐度蛋白并沒有變多幾個關(guān)鍵SASP因子反而丟了。原因是柱床容量有限過量樣本導(dǎo)致非特異性吸附增強(qiáng)。后來我們把血漿量嚴(yán)格控制在10微升不多不少。3.3 上機(jī)隨機(jī)化與基礎(chǔ)質(zhì)控樣本上機(jī)順序必須完全隨機(jī)化并且同一批里各年齡組的比例要大致均衡。如果先跑所有年輕人再跑所有年長者質(zhì)譜儀器靈敏度的緩慢漂移會被錯誤解讀成年齡差異這種系統(tǒng)假陽性在組學(xué)里太常見了。每個樣本做兩針技術(shù)重復(fù)中間穿插一個所有樣本的混合QC樣。QC樣本里的蛋白信號CV值超過20%的后續(xù)分析直接剔除。這個操作會損失一小部分蛋白卻能讓剩余結(jié)果的可信度提高一個量級。4. 數(shù)據(jù)預(yù)處理從質(zhì)譜信號到干凈矩陣質(zhì)譜跑完花了三個月接下來是數(shù)據(jù)處理階段。這一階段表面上最枯燥實際上最容易出錯。4.1 搜庫定量軟件的選擇DIA數(shù)據(jù)處理現(xiàn)在我會優(yōu)先推薦DIA-NN。它支持無譜圖庫模式用深度學(xué)習(xí)預(yù)測譜圖做比對對血漿數(shù)據(jù)的處理深度和速度都很好。相比之下Spectronaut界面友好但跑得偏慢MaxQuant處理DIA數(shù)據(jù)也夠用但假陽性控制在DIA-NN面前略顯遜色。DIA-NN輸出的原始結(jié)果里同一個蛋白的多種多肽、多種電荷態(tài)會分別報告需要做蛋白水平的匯總。我們的做法是以“最大豐度多肽”作為蛋白的代表值再做中位數(shù)歸一化。這一步必須謹(jǐn)慎核對最怕同一個蛋白的兩個片段被當(dāng)成兩個獨(dú)立蛋白統(tǒng)計那后面的差異分析會全錯。4.2 缺失值插補(bǔ)與批次效應(yīng)血漿蛋白組的數(shù)據(jù)矩陣永遠(yuǎn)存在缺失。低豐度蛋白在部分樣本沒有信號不能直接填0也不能簡單刪除否則會引入系統(tǒng)性偏差。我們采用左截斷插補(bǔ)也就是按每個樣本自己的檢測下限來填充缺失值并在后續(xù)統(tǒng)計中額外檢查這些插補(bǔ)蛋白的貢獻(xiàn)。批次效應(yīng)是大隊列項目繞不開的坎。280個樣本分布在約14個上機(jī)批次即便有QC樣本批次之間還是有系統(tǒng)漂移。我們嘗試過ComBat經(jīng)驗貝葉斯方法也試過基于QC樣本的線性校正最終采用的是更保守的做法不試圖徹底“抹掉”批次差異而是把批次作為協(xié)變量放入所有線性模型。這樣顯著性檢驗的誤差才是誠實的而不是表面上把循環(huán)校正掉、實際帶入更多噪聲。4.3 三層質(zhì)控跑完才進(jìn)入下游進(jìn)入差異分析前我們設(shè)了三層質(zhì)控。樣本層面用主成分分析找離群樣本前兩個主成分距離超過3倍標(biāo)準(zhǔn)差的樣本標(biāo)紅復(fù)核制備重現(xiàn)性差的重新上機(jī)。蛋白層面要求一個蛋白在至少80%的樣本中被檢測到否則降級為稀疏檢出只參與網(wǎng)絡(luò)分析不進(jìn)差異檢驗主列表。組間平衡層面檢查樣本的性別、年齡、BMI分布防止批次和臨床指標(biāo)完全共線。三層檢查做完真正進(jìn)入下游分析的蛋白大約3400個。這個數(shù)量做差異分析和WGCNA網(wǎng)絡(luò)分析都足夠了。5. 差異分析與共表達(dá)網(wǎng)絡(luò)圖譜怎么“織”起來“圖譜”不是一張熱圖就完事。我理解的項目圖譜是把數(shù)千個蛋白之間的關(guān)聯(lián)關(guān)系以及它們與不同衰老表型的聯(lián)系組織成一個有層次的結(jié)構(gòu)。這樣才配叫“多維衰老表型的蛋白質(zhì)組圖譜”。5.1 差異蛋白篩選的標(biāo)準(zhǔn)流程第一版差異分析用的是最經(jīng)典的流程limma包擬合線性模型年齡作為主變量性別、BMI、批次作為協(xié)變量蛋白豐度做log2變換后用經(jīng)驗貝葉斯收縮方差。篩選閾值定在 |log2FC| 0.3 且 FDR 0.05。這里我沒用更常見的0.585也就是1.5倍表達(dá)量標(biāo)準(zhǔn)因為衰老相關(guān)的蛋白變化大多是溫和的如果倍數(shù)變化卡得太緊會漏掉大量真實變化顯著性指標(biāo)才是更硬的依賴。最終與年齡顯著相關(guān)的蛋白有527個方向六成升高、四成下降。補(bǔ)體系統(tǒng)蛋白C1q、C3、C4、纖維蛋白原、SASP因子IL-6、GDF15、MMP9幾乎清一色升高線粒體氧化磷酸化相關(guān)蛋白COX5A、NDUFS2和某些細(xì)胞骨架蛋白則下降。其實這個方向本身不意外真正的價值在于數(shù)量級和具體分子名單。5.2 富集分析不要堆名詞GO和KEGG富集分析人人都會做但大多做得很粗糙。我的建議是別把它當(dāng)成“證明數(shù)據(jù)有價值”的裝飾品而是當(dāng)成生成生物學(xué)假說的工具。我們對差異蛋白做了GO生物過程和KEGG通路兩層富集然后手動檢查重疊通路?!把a(bǔ)體激活”“急性炎癥反應(yīng)”“脂質(zhì)運(yùn)輸”三個條目反復(fù)出現(xiàn)這正好對應(yīng)衰老伴隨的低度慢性炎癥和脂質(zhì)代謝紊亂兩大特征。這些結(jié)果不是終點(diǎn)而是給后來的WGCNA網(wǎng)絡(luò)分析提供了先驗線索。5.3 用WGCNA把蛋白組織成模塊WGCNA的核心邏輯很簡單如果蛋白A和蛋白B在所有樣本中協(xié)調(diào)變化它們可能屬于同一個功能模塊模塊之間的關(guān)系構(gòu)成網(wǎng)絡(luò)。幾個關(guān)鍵操作點(diǎn)軟閾值按無標(biāo)度擬合指數(shù)來選通常選第一個超過0.8的值我們項目最后用的是8。模塊檢測用動態(tài)剪切樹最小模塊大小設(shè)為50。模塊生成后提取模塊特征基因也就是模塊內(nèi)所有蛋白表達(dá)矩陣的第一主成分用它與所有臨床表型做相關(guān)分析看哪個模塊驅(qū)動哪類衰老表型。我們最終拿到17個模塊。最大的棕色模塊包含約460個蛋白富集了補(bǔ)體和炎癥通路與握力、MoCA評分、炎癥因子panel的相關(guān)性都非常顯著。這就是圖譜里最有分量的“主節(jié)點(diǎn)”。同時要盯住灰色模塊也就是未聚類蛋白的集合如果它占比過大說明網(wǎng)絡(luò)構(gòu)建失敗。我們當(dāng)時把灰色模塊壓在了10%以內(nèi)。WGCNA輸出的模塊與表型相關(guān)矩陣熱圖直接回答了一個關(guān)鍵問題不同衰老表型比如肌肉、認(rèn)知、免疫、炎癥是否共享相同的蛋白模塊結(jié)論是既有重疊又有分離。炎癥相關(guān)模塊與幾乎所有衰老表型都相關(guān)而特定器官表型又有自己獨(dú)享的模塊。這種“核心模塊特異性模塊”的組織結(jié)構(gòu)正是我對“多維衰老表型的蛋白質(zhì)組圖譜”的定義。6. 從差異表達(dá)到衰老時鐘機(jī)器學(xué)習(xí)建模實戰(zhàn)網(wǎng)絡(luò)圖告訴我們“哪些蛋白與哪些表型相關(guān)”但還不能回答“能不能用來預(yù)測”。想走得更遠(yuǎn)必須用機(jī)器學(xué)習(xí)把蛋白質(zhì)組特征和衰老表型之間的映射關(guān)系量化出來。6.1 維度災(zāi)難面前先做特征篩選組學(xué)數(shù)據(jù)建模最大的敵人是維度災(zāi)難。我們有3400個蛋白樣本只有280個任何算法都能在訓(xùn)練集上得到漂亮結(jié)果一到外部數(shù)據(jù)就崩。所以特征篩選必須先做。我們用了兩種策略組合。第一是LASSO回歸它的L1懲罰會把無關(guān)特征的系數(shù)壓到零只留下一小批最重要的蛋白alpha設(shè)1用十折交叉驗證選lambda.min。第二是隨機(jī)森林用變量重要性和Gini不純度下降給每個蛋白打分。這一步不是追求模型精度而是穩(wěn)定性驗證——最終進(jìn)入模型的蛋白必須同時被兩種算法選中。兩者的交集一共是73個蛋白這個數(shù)量既不會過擬合也足夠保留通路信息。6.2 先建維度模型再合成總分第一版模型是直接的“年齡預(yù)測模型”用73個蛋白預(yù)測實際年齡R2約0.78平均絕對誤差3.2歲。這已經(jīng)接近文獻(xiàn)里血漿蛋白質(zhì)組衰老時鐘的水平了。但它有一個無法回避的問題預(yù)測的是實際年齡而實際年齡只是衰老的代理變量。一個60歲的人如果身體狀態(tài)像70歲模型該回答哪個于是我們轉(zhuǎn)變策略先對每個表型維度分別建模比如握力、MoCA評分、eGFR、炎癥因子水平得到每個維度的“維度分?jǐn)?shù)”再把這些分?jǐn)?shù)合成為一個綜合的多維衰老評分。這樣做的好處是一個60歲的人如果握力模型給出的預(yù)測分?jǐn)?shù)達(dá)到70歲水平就能明確說他的肌肉衰老加速了如果認(rèn)知模型只有55歲那他的認(rèn)知系統(tǒng)還很年輕。這種“多維度各自報年齡”的呈現(xiàn)方式才是標(biāo)題里“多維”二字的真正含義。6.3 驗證分層內(nèi)部、留一與外部機(jī)器學(xué)習(xí)的驗證分三層。內(nèi)部是十折交叉驗證重復(fù)5次記錄預(yù)測誤差。第二層是從280個樣本里留出50個完全不參與訓(xùn)練最后評估一次。第三層是外部驗證我們找到了一個獨(dú)立血漿蛋白質(zhì)組公共數(shù)據(jù)集雖然表型信息沒那么全但能驗證“年齡預(yù)測模型”的遷移性。外部驗證的MAE在3.8歲左右比內(nèi)部略差但可以接受。我必須強(qiáng)調(diào)沒有外部驗證的衰老時鐘都不算完成。拿同一批數(shù)據(jù)反復(fù)調(diào)參得到的儀表盤當(dāng)然準(zhǔn)因為它是為了這臺車專門調(diào)的。7. 圖譜讀出來的生物學(xué)故事標(biāo)志物與干預(yù)靶點(diǎn)建模是手段圖譜最終要落到生物學(xué)解讀上。這里挑三個最值得說的故事。7.1 補(bǔ)體系統(tǒng)貫穿所有維度的“核心樞紐”補(bǔ)體系統(tǒng)的蛋白C1q、C3、C4幾乎和每一個衰老表型都有顯著相關(guān)強(qiáng)度在所有通路里排第一。補(bǔ)體是先天免疫的核心成員但在老年群體中更常見的狀態(tài)是慢性低度激活——不產(chǎn)生急性感染清除也不完全沉默而是持續(xù)消耗資源、引發(fā)組織微損傷?,F(xiàn)有文獻(xiàn)已經(jīng)大量提示這種狀態(tài)和阿爾茨海默病、動脈粥樣硬化、肌少癥都有聯(lián)系。如果你想在衰老蛋白組中找“主干樞紐”補(bǔ)體是最可信的候選之一。7.2 GDF15不是全局時鐘GDF15在文獻(xiàn)里名聲很大我們數(shù)據(jù)里的情況更微妙。它確實隨年齡顯著上升但與“整體衰老評分”的相關(guān)性只能說中等和腎功能eGFR的相關(guān)性反而更強(qiáng)。這提示GDF15更像一個“器官應(yīng)激信號”而不是“全局時鐘”。解讀衰老相關(guān)蛋白時這點(diǎn)很重要不能把一切衰老相關(guān)蛋白都理解成統(tǒng)一時鐘的刻度其中相當(dāng)一部分是在通報某幾個特定器官的壓力狀態(tài)。7.3 從圖譜到干預(yù)靶點(diǎn)圖譜還可以用于干預(yù)靶點(diǎn)篩選。我們用了三層過濾條件模塊與多個衰老表型顯著相關(guān)橫斷面和縱向數(shù)據(jù)方向一致模塊里的蛋白成藥性評估得分高。優(yōu)先篩出來的靶點(diǎn)集中在MMP金屬蛋白酶家族和補(bǔ)體成分這兩個方向目前都有在研藥物算是給項目一個落地出口。當(dāng)然圖譜本身是關(guān)聯(lián)證據(jù)不是因果證據(jù)這個邊界必須時刻守住。8. 踩坑記錄批次效應(yīng)、混雜因素與模型過擬合的三重教訓(xùn)最后這部分寫幾個我們實際踩過、也花了不少時間才爬出來的坑每條都是學(xué)費(fèi)換來的。8.1 高豐度蛋白去除柱的“容量平衡”前面提到過上樣量過大反而會丟失低豐度蛋白。這里的具體教訓(xùn)是增加上樣量不等于提高覆蓋度親和柱的柱床容量是有限的超載以后非特異性吸附增強(qiáng)目標(biāo)低豐度蛋白會被競爭性洗脫掉。我后來卡在10微升血漿不多上。如果你發(fā)現(xiàn)某些關(guān)鍵炎癥因子在預(yù)實驗里莫名其妙丟了優(yōu)先檢查這一步。8.2 批次效應(yīng)和臨床指標(biāo)共線項目中期檢查時發(fā)現(xiàn)一個危險現(xiàn)象前12個批次的平均BMI顯著高于后10個批次。這不是隨機(jī)是樣本收集階段前后招募渠道不同導(dǎo)致的。如果不處理所有和BMI相關(guān)的蛋白尤其是大量脂質(zhì)代謝蛋白都會偽裝成“和批次相關(guān)”進(jìn)而偽裝成“和年齡相關(guān)”。我們不得不把那部分樣本重新編號并重跑了一批質(zhì)譜。這個坑的直接教訓(xùn)是隊列招募和上機(jī)安排必須同步規(guī)劃樣本跨批次隨機(jī)化還不夠關(guān)鍵臨床變量的分布要在每個批次內(nèi)保持均衡。8.3 好得不像真的模型多半是假的用LASSO跑第一版年齡預(yù)測模型時出現(xiàn)過R2達(dá)到0.93的“驚喜”我們很快就警覺了這是信息泄漏。檢查后發(fā)現(xiàn)部分蛋白受藥物使用狀態(tài)影響極大尤其是他汀類藥物會大幅改變脂質(zhì)代謝蛋白而這類藥在老年人群中使用率太高。最終把所有用藥樣本打標(biāo)簽建模時把藥物狀態(tài)納入?yún)f(xié)變量R2才回到0.78。如果你懷疑模型好得不像真的那它多半就是假的。8.4 數(shù)據(jù)管理決定項目下限最后分享一個直接可用的技巧樣本表型Z-score矩陣和蛋白表達(dá)矩陣從第一天開始就放進(jìn)同一個分析工程目錄所有下游分析都從那里讀取而不是每次現(xiàn)算。項目做久了你會發(fā)現(xiàn)真正阻礙科研推進(jìn)的往往不是分析本身而是版本混亂造成的大量返工。這個習(xí)慣在數(shù)據(jù)量更大、分析更復(fù)雜的組學(xué)項目里尤其重要。寫完這些我自己的體會是這個項目最有價值的部分不是那張527個差異蛋白的列表而是把“多維表型”和“蛋白質(zhì)組”之間建立了可量化的對應(yīng)關(guān)系。衰老不是一部統(tǒng)一時鐘而是一組走時各異的表盤。蛋白質(zhì)組圖譜能替我們把這組表盤的讀數(shù)拉平來看告訴你是哪個表盤走快了、哪個沒停、哪個還在正常運(yùn)轉(zhuǎn)。這種能力是端粒長度、甲基化時鐘或者任何單一蛋白標(biāo)志物都給不了的。