生信流程搭建之snakemake--模塊化

模塊化之level 1---簡單封裝

Snakemake包裝器存儲庫是可重復(fù)使用包裝器的集合,可用于快速使用Snakemake規(guī)則和工作流中的流行工具

    input:
        "mapped/{sample}.bam"
    output:
        "mapped/{sample}.sorted.bam"
    params:
        "-m 4G"
    threads: 8
    wrapper:
        "0.2.0/bio/samtools/sort"

在這里,Snakemake將自動從https://bitbucket.org/snakemake/snakemake-wrappers/src/0.2.0/bio/samtools/sort/wrapper.py下載相應(yīng)的包裝器。因此,0.2.0可以替換為您要使用的version標(biāo)記commit id。由于包裝器實現(xiàn)中的更改不會自動傳播到您的工作流程中,因此可確保可重復(fù)性。替代地,例如,對于開發(fā)而言,包裝程序指令還可以指向完整的URL,包括本地URL file://
每個包裝器都定義必需的軟件包和版本。結(jié)合--use-condaSnakemake 的標(biāo)志,這些將自動部署。

模塊化之level2---大型分析流程的整合

對于應(yīng)集成到通用工作流程中的較大的可重復(fù)使用的部件,建議編寫小的Snakefile,然后通過include語句將其包含在主Snakefile中。在這種設(shè)置中,所有規(guī)則都共享一個公共配置文件。

include: "path/to/other/snakefile"

默認(rèn)的目標(biāo)規(guī)則(通常稱為all-rule)不會受到include的影響。也就是說,無論您有多少個包含在第一個規(guī)則之上的內(nèi)容,它始終將是Snakefile中的第一個規(guī)則。包含是相對于出現(xiàn)它們的Snakefile目錄的。例如,如果以上Snakefile駐留在directory中my/dir,則Snakemake將在處搜索include my/dir/path/to/other/snakefile,而與工作目錄無關(guān)。

模塊化之level 3---構(gòu)建子工作流程

除了包括其他工作流程的規(guī)則外,Snakemake還允許依賴于其他工作流程的輸出作為子工作流程。在執(zhí)行當(dāng)前工作流程之前,將獨立執(zhí)行子工作流程。因此,Snakemake可以確保在必要時創(chuàng)建或更新當(dāng)前工作流程所依賴的所有文件。這允許在原本單獨的數(shù)據(jù)分析之間創(chuàng)建鏈接。

subworkflow otherworkflow:
    workdir:
        "../path/to/otherworkflow"
    snakefile:
        "../path/to/otherworkflow/Snakefile"
    configfile:
        "path/to/custom_configfile.yaml"

rule a:
    input:
        otherworkflow("test.txt")
    output: ...
    shell:  ...

在這里,子工作流被命名為“ otherworkflow”,它位于工作目錄中../path/to/otherworkflow。snakefile位于同一目錄中,并稱為Snakefile。如果snakefile未為子工作流定義,則假定它位于workdir位置并稱為Snakefile,因此,在上面我們也可以省略snakefile關(guān)鍵字。如果workdir未指定,則假定與當(dāng)前相同。(可選的)定義configfile允許根據(jù)需要參數(shù)化子工作流。從我們依賴的子工作流輸出的文件將標(biāo)有otherworkflow功能(請參見規(guī)則a的輸入)。此功能自動確定文件的絕對路徑(在此處../path/to/otherworkflow/test.txt)。

在執(zhí)行時,snakemake首先嘗試通過執(zhí)行子工作流來創(chuàng)建(或更新,如果需要)test.txt(以及所有其他可能提到的依賴項)。然后執(zhí)行當(dāng)前的工作流程。這也可以遞歸發(fā)生,因為子工作流也可能有其自己的子工作流。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評論 6 530
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 97,947評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,094評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,268評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,817評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,039評論 0 285
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,551評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,502評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,662評論 1 366
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,907評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,255評論 3 389
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,637評論 2 370

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

  • 使用Snakemake搭建分析流程 目前已有的框架 A review of bioinformatics pipe...
    xuzhougeng閱讀 21,612評論 10 88
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,421評論 0 5
  • 【4-6 動待花開】20171006數(shù)理媽媽思維營D18 1.今天做了月餅,讓娃數(shù)數(shù)有幾個?15個,寶寶吃掉2個,...
    拉美兒閱讀 144評論 0 0
  • 四月十二日,在青島實驗學(xué)校舉行了運動會選拔,我參加的是800賽跑,前邊有很長一段的等候時間。 終于輪...
    肖雅文888閱讀 332評論 0 0
  • 文/月明紅紅 清晨總是給人美好的 當(dāng)我看見第一縷陽光 灑進我的房間 心頭就充滿了感激 感謝給我?guī)砹藴嘏?感謝給生...
    月明紅紅閱讀 214評論 19 30