邁向可重復(fù)的生信分析

引入

盡管科學(xué)界普遍同意锐秦,可重復(fù)再現(xiàn)是評(píng)估數(shù)據(jù)分析的最低標(biāo)準(zhǔn)谊路,但是由于缺乏對(duì)數(shù)據(jù)的整理碉克,對(duì)代碼工具使用版本的記錄等,重復(fù)再現(xiàn)某人(甚至有是你自己的)結(jié)果都不容易實(shí)現(xiàn)赁还。我們常常會(huì)遇到以下列舉的一系列問(wèn)題:

  • 忘記下載的數(shù)據(jù)是哪里來(lái)的
  • 忘記為什么自己要省去不使用部分的數(shù)據(jù)
  • 忘記這個(gè)或者那個(gè)圖是怎么畫(huà)出來(lái)的(特別是對(duì)R語(yǔ)言不熟悉的同學(xué)們妖泄,上網(wǎng)東抄西撿,把代碼拼接起來(lái)艘策,畫(huà)完圖就完事了)
  • 還有一系列類(lèi)似的小問(wèn)題

講了這么多蹈胡,這里就是希望指出:適當(dāng)記錄實(shí)驗(yàn)步驟,讓分析可重復(fù)的重要性朋蔫。

如何進(jìn)行可重復(fù)的生信分析

在excel文件中整理好你的數(shù)據(jù)

我們?nèi)粘U淼臄?shù)據(jù)基本都會(huì)用到excel罚渐。在我們進(jìn)行可重復(fù)生信分析之前,我們首先要讓初始的excel數(shù)據(jù)整理得清晰易懂斑举。

首先先看兩個(gè)例子:

整理前的excel文檔:


整理后的excel文檔:


通過(guò)對(duì)比可以看到同樣的信息搅轿,在正確排版整理后,可讀性得到了極大的提高富玷。

對(duì)于我們?cè)撊绾握韊xcel的文檔璧坟,作者很貼心的給大家整理了一些小tips:

  • 使用矩形的方式排列數(shù)據(jù)
  • 在第一行或者第一列使用表頭(并且記得不要手多添加空格,很多R包都會(huì)報(bào)錯(cuò)如果你的分隔符不一致)
  • 一個(gè)cell只放一個(gè)值
  • 每個(gè)cell都要有值赎懦,空的值可以使用NA表示
  • 記得將你的數(shù)據(jù)備份(存到云盤(pán)是個(gè)很好的選擇)
  • 在初始的數(shù)據(jù)中雀鹃,不要添加額外的計(jì)算,或者進(jìn)行圖型繪制
  • 將數(shù)據(jù)保存為純文本文件

管理好你的projects

科學(xué)大牛曾說(shuō)過(guò)文件命名和管理是有效數(shù)據(jù)分析最有力的武器励两。

繼續(xù)展示一個(gè)非常經(jīng)典的黎茎,沒(méi)有正確進(jìn)行文件名管理錯(cuò)誤例子:

大腦為了偷懶,我們常常會(huì)使用最簡(jiǎn)單的方法進(jìn)行命名当悔,例如fig1png,fig2png傅瞻。而且由于很多時(shí)候踢代,我們分析不是一天完成的,由于每天的心情不同嗅骄,我們命名的方式又會(huì)出現(xiàn)一系列隨機(jī)的變化胳挎。這個(gè)錯(cuò)誤的方式可能會(huì)在一時(shí)間讓我們很方便,讓我們錯(cuò)以為我們已經(jīng)將需要的信息已經(jīng)保存起來(lái)了溺森。但是日后過(guò)了一周一個(gè)月半年慕爬,再回來(lái)找該文件的時(shí)候我們會(huì)發(fā)現(xiàn),我們很難再找到我們所需要的東西屏积,因?yàn)槲覀兠姆椒ú](méi)有任何可尋的歸類(lèi)医窿。

關(guān)于如何進(jìn)行文件名管理,很久之前我已經(jīng)發(fā)過(guò)一篇推文炊林,闡述比較好的文件名管理方式:

看完我的推文后姥卢,也順便總結(jié)一下視頻作者給出的建議:

  • 使用日期開(kāi)頭(2018-09-05_xxxx),便于文件的sort
  • 不要使用空格
  • 命名要有意義铛铁,并且一致
  • 在重要的文件夾中寫(xiě)上Read.me文件進(jìn)行內(nèi)容記錄(千萬(wàn)不要依賴(lài)你大腦去記住你做了什么隔显,讓電腦幫你去記錄)

為一切東西寫(xiě)腳本記錄

很喜歡一句話(huà)“如果你要做一個(gè)分析一次,那么你以后可能會(huì)做1000次一樣的分析”饵逐。將你的每一步分析寫(xiě)成腳本,你一定會(huì)受益其中的:

  • 讓你對(duì)分析更加清晰
  • 分析可以重復(fù)彪标,并且進(jìn)行流程化的分析
  • 會(huì)讓你知道/避免分析中出現(xiàn)的錯(cuò)誤(錯(cuò)誤的參數(shù)倍权,輸入輸出等)

這里視頻作者也給出了一些相關(guān)的小技巧:

  • 當(dāng)你對(duì)不同步驟整理了多個(gè)腳本后,可以使用流程對(duì)不同的步驟進(jìn)行擬合捞烟。(流程整理的工具可以使用snakemake/nextflow等相關(guān)的工具)
  • 當(dāng)你整理好流程后薄声,需要對(duì)整個(gè)流程進(jìn)行詳細(xì)的介紹,以便日后的重復(fù)分析题画。
  • 當(dāng)你需要重復(fù)使用到一段代碼的時(shí)候默辨,將它變成function,以便重復(fù)利用
  • 不要覆蓋舊的腳本版本苍息,保存為多個(gè)不同的版本以便進(jìn)行tracking

另外對(duì)于如何進(jìn)行腳本的記錄缩幸,我以前也寫(xiě)過(guò)一篇文章,里面更加詳細(xì)地介紹了如何進(jìn)行腳本記錄:

進(jìn)行環(huán)境管理與版本控制

進(jìn)行環(huán)境管理和版本控制也是決定一個(gè)分析是否能夠重復(fù)的關(guān)鍵竞思。這部分視頻作者比較簡(jiǎn)單的帶過(guò)了表谊,沒(méi)有進(jìn)行太過(guò)仔細(xì)的分析。對(duì)于如何進(jìn)行環(huán)境與版本管理盖喷,會(huì)推薦使用conda和docker爆办。這里就先挖個(gè)坑,我日后給大家詳細(xì)介紹课梳。

總結(jié)

最后將上面的內(nèi)容簡(jiǎn)單總結(jié)為幾個(gè)小點(diǎn):

  • 管理好你的項(xiàng)目文件名
  • 適當(dāng)寫(xiě)READMEs進(jìn)行信息記錄
  • 將數(shù)據(jù)保持簡(jiǎn)潔距辆,易讀
  • 適當(dāng)?shù)脑谀愕拇a寫(xiě)上注釋
  • 對(duì)軟件版本進(jìn)行管理
  • 自動(dòng)化你的分享流程
  • 分享你所用的計(jì)算機(jī)環(huán)境

參考鏈接:

  1. https://speakerdeck.com/minecr/the-results-in-table-1-dont-seem-to-correspond-to-those-in-figure-2-427452c9-ca4f-4e35-b911-590e6c577430?slide=47
  2. https://www.biostat.wisc.edu/~kbroman/presentations/cmp2018.pdf

視頻鏈接:

https://www.youtube.com/watch?v=994uO3U-R1c&feature=youtu.be

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末余佃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子跨算,更是在濱河造成了極大的恐慌爆土,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漂彤,死亡現(xiàn)場(chǎng)離奇詭異雾消,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)挫望,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)立润,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人媳板,你說(shuō)我怎么就攤上這事桑腮。” “怎么了蛉幸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵破讨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我奕纫,道長(zhǎng)提陶,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任匹层,我火速辦了婚禮隙笆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘升筏。我一直安慰自己撑柔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布您访。 她就那樣靜靜地躺著铅忿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灵汪。 梳的紋絲不亂的頭發(fā)上檀训,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音识虚,去河邊找鬼肢扯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛担锤,可吹牛的內(nèi)容都是我干的蔚晨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼铭腕!你這毒婦竟也來(lái)了银择?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤累舷,失蹤者是張志新(化名)和其女友劉穎浩考,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體被盈,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡析孽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了只怎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袜瞬。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖身堡,靈堂內(nèi)的尸體忽然破棺而出邓尤,到底是詐尸還是另有隱情,我是刑警寧澤贴谎,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布汞扎,位于F島的核電站,受9級(jí)特大地震影響擅这,放射性物質(zhì)發(fā)生泄漏澈魄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一仲翎、第九天 我趴在偏房一處隱蔽的房頂上張望一忱。 院中可真熱鬧,春花似錦谭确、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至问顷,卻和暖如春昂秃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杜窄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工肠骆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人塞耕。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓蚀腿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子莉钙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容