0
点赞
收藏
分享

微信扫一扫

生信自动化分析流程 nf-core 的离线运行(图文详解)


Nextflow 包括流程代码,软件,参考基因组,甚至远程数据源

由于众所周知的原因,需要在离线系统运行流程,下面我们来安装 nf-core。

Nextflow

在 Linux 系统安装好 Nextflow

下载最新版:​​https://github.com/nextflow-io/nextflow/releases​​

生信自动化分析流程 nf-core 的离线运行(图文详解)_生物学

​chmod +x nextflow-20.04.1-all​

​./nextflow-20.04.1​

安装好后,修改配置文件禁止Nextflow自动更新

​vim ~/.bashrc​

在最末尾加入

​export NXF_OFFLINE='TRUE'​

​source ~/.bashrc​

流程代码

一般,一个离线流程包括源码,软件和配置文件。nf-core 提供了一个辅助工具 helper tool 帮助我们搭建。

运行​​nf-core list​​查看有哪些流程

生信自动化分析流程 nf-core 的离线运行(图文详解)_生物信息学_02

离线下载​​nf-core/rnaseq​

​nf-core download nf-core/rnaseq​

加入​​--singularity​​,可以获取 Singularity container


什么是Singularity ?

​​https://singularity.lbl.gov/​​


下载下来会是一个安装包,解压即可

运行该流程,​​nextflow run <directory>​


​​https://nf-co.re/tools#downloading-pipelines-for-offline-use​​


使用 iGenomes 参考基因组

一些流程需要参考基因组和 AWS-iGenomes 的集成。这里需要下载这些相关的离线资源。

Illumina iGenomes

为了更容易的使用参考基因组,Illumina 开发了一个名为 iGenomes 的项目。


iGenomes:<https://support.illumina.com/sequencing/sequencing_software/igenome.html


nf-core 将iGenomes在 AWS S3上,创建了AWS-iGenomes

下载:​​https://ewels.github.io/AWS-iGenomes/​​

一般情况,使用​​--genome GRCh38​​即可自动下载

为了减少时间和带宽的浪费,最好做个本地资源。然后通过设置指定参考基因组的位置。

​params.igenomes_base = '/path/to/data/igenomes/'​

使用

使用​​--genome GRCh38​​就会调用本地资源。

自定义参考

如果你不能使用 AWS-iGenomes ,可以在命令行上提供参考基因组路径。

配置自定义参考

如果重复使用相同的引用,则将这些路径保存在nextflow配置文件中会更方便。支持AWS-iGenomes的管道也可以配置为支持自定义基因组ID和路径。

params {
genomes {
'YOUR-ID' {
fasta = '<PATH TO FASTA FILE>/genome.fa'
}
'OTHER-GENOME' {
// [..]
}
}
// Optional - default genome. Ignored if --genome 'OTHER-GENOME' specified on command line
genome = 'YOUR-ID'
}
使用自定义的参考

​--genome YOUR-ID​

流程配置

Nextflow 特性之一是可以在几乎任何计算框架下运行。支持高性能计算框架 HPC execution schedulers (包括Slurm,SGE,PBS,LSF)和云计算框架(AWS Batch,Google Cloud)。

每个nt-core 流程都配了合理的默认值,根据需要覆盖相应的值即可。

最好不要通过修改流程源码来配置nf-core流程​。如果编辑源码会导致更新不可用,同时也会失去可重复性。

流程可以通过命令​​-profile​​来执行配置文件。可以在逗号分割的列表中指定多个配置文件。或者,你可以创建自己的配置文件。

大多数用户需要指定​​executor​​ 来告诉 Nextflow 如何提交任务给 job scheduler (​e.g.​ SGE, LSF, SLURM, PBS, AWS Batch ​etc.​) 。这个步骤可以通过配置文件来完成。


如何指定 Executor

​​https://www.nextflow.io/docs/latest/executor.html#executor-page​​


基础配置

每个 nf-core 流程都会附带有docker,singularity和conda的配置文件。使用这些文件就可以指导流程运行相关软件。

共享配置

如果使用其他人共享的系统,最好去使用​​https://github.com/nf-core/configs​​ 的配置文件。这些是nf-core运行时所加载的配置。

您可能会发现您的系统已经有一个共享的配置文件(请参阅https://github.com/nf-core/configs)。如果没有,请按照存储库自述文件中的说明添加集群。

自定义配置

如果您是唯一运行此管道的人,则可以创建一个本地配置文件并使用它。 Nextflow在三个位置来查找这些文件:


  1. 用户家目录: ​​~/.nextflow/config​
  2. 分析工作目录: ​​nextflow.config​
  3. 在命令中指定路径: ​​-c path/to/config​​ (可指定多个)

配置参数会依次加载并覆盖先前的值。 配置加载顺序是:

硬编码流程的默认设置 >> 用户家目录 >> 工作目录 >> 命令​​-c​​​顺序执行 >> 命令​​--parameter​​指定参数


更多参数:https://www.nextflow.io/docs/latest/config.html




举报

相关推荐

web流程自动化详解

0 条评论