Nextflow 快速搭建生信分析流程(一)

生物信息分析中流程搭建是所有組學(xué)分析過(guò)程中必不可少的環(huán)節(jié),目前市面上一些主流的生信類(lèi)的公司(包括貝瑞、華大、諾禾等)在流程搭建過(guò)程中還主要依靠perl和python以及shell等命令進(jìn)行流程的開(kāi)發(fā)。然而,由于生信行業(yè)內(nèi)的公司在搭建流程的過(guò)程中主要還是依靠將不同生信人員開(kāi)發(fā)的模塊拼接在一起,這樣就會(huì)造成流程在不同平臺(tái)上的安裝和結(jié)果的可重復(fù)性上面臨很大的問(wèn)題。

Nextflow是專(zhuān)門(mén)針對(duì)生物信息流程搭建而開(kāi)發(fā)的一種框架語(yǔ)言,它能夠很好的管理生信流程,并且將其與Conda、Docker、Singularity結(jié)合起來(lái)使用可以很好的將流程在不同平臺(tái)之間進(jìn)行遷移,并且能夠保證結(jié)果的可重復(fù)性。Nextflow最大的優(yōu)點(diǎn)是它是基于數(shù)據(jù)流的程序模型,因此不用我們自己去寫(xiě)復(fù)雜的并行化的程序,我們只需要關(guān)注“數(shù)據(jù)流”即可。流程中的每個(gè)process可以通過(guò)配置文件快速的定制并行執(zhí)行的樣本數(shù)目,大大節(jié)約了生信人員搭建組學(xué)分析流程的時(shí)間。

Nextflow安裝(官網(wǎng)地址https://www.nextflow.io/docs/latest/index.html):

Nextflow的安裝也非常簡(jiǎn)單,只需要在linux系統(tǒng)上安裝Java8以上的版本即可。

apt-get

install -y default-jre #(ubuntu系統(tǒng))

curl -fsSL

https://get.nextflow.io | bash

也可以利用conda軟件直接安裝Nextflow,命令如下:

conda install -c bioconda nextflow

高性能集群(HPC)支持:

Nextflow 支持幾乎所有的集群管理系統(tǒng),包括:

SGE

Univa Grid Engine

LSF

SLURM

PBS/Torque

HTCondor (beta)

Moab (beta)

例子:如果想在SGE集群中執(zhí)行搭建的流程,我們只需在流程代碼中加入executor關(guān)鍵字參數(shù)便能輕松的指定集群類(lèi)型。

process {

?executor='sge'

?queue=''

}


云平臺(tái)支持:

目前Nextflow支持的云平臺(tái)如下:

AWS Batch

Azure Batch

Google Cloud Life Sciences

Kubernetes

容器支持:

Nextflow 支持Docker和Singularity容器,容器間的切換也可以直接通過(guò)在process中指定關(guān)鍵字container即可:

process samtools {

?container 'biocontainers/samtools:1.3.1'


?"""

?samtools --version

?"""

}


Nextflow的詳細(xì)介紹,敬請(qǐng)關(guān)注后續(xù)文章內(nèi)容更新!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容