nf-hack17-tutorial练习与理解

nf-hack17-tutorial

Nextflow hands-on

实现RNA-Seq pipeline的概念证明

  1. 索引一个transcriptome文件
  2. 执行质量控制
  3. 进行量化
  4. 创建MultiQC报告

1 定义管道参数

该脚本script1.nf定义了管道输入参数。使用以下命令运行它,以及不同的管道输入参数:

nextflow run script1.nf

nextflow run script1.nf --reads this/and/that

运行结果:

peng@sin-try2:~/nf-hack17-tutorial$ nextflow run script1.nf 
N E X T F L O W  ~  version 21.04.0-edge
Launching `script1.nf` [lonely_sammet] - revision: cd2b226e8a
reads: /home/peng/nf-hack17-tutorial/data/ggal/*_{
   1,2}.fq
peng@sin-try2:~/nf-hack17-tutorial$ nextflow run script1.nf --reads this 
N E X T F L O W  ~  version 21.04.0-edge
Launching `script1.nf` [agitated_plateau] - revision: cd2b226e8a
reads: this
peng@sin-try2:~/nf-hack17-tutorial$ nextflow run script1.nf --reads and 
N E X T F L O W  ~  version 21.04.0-edge
Launching `script1.nf` [curious_lamport] - revision: cd2b226e8a
reads: and
peng@sin-try2:~/nf-hack17-tutorial$ nextflow run script1.nf --reads that
N E X T F L O W  ~  version 21.04.0-edge
Launching `script1.nf` [ridiculous_franklin] - revision: cd2b226e8a
reads: that

练习 1.1

修改script1.nf添加第四个名为的参数outdir并将其设置为将用作管道输出目录的默认路径。

params.outdir = "results"

练习 1.2

修改script1.nf以使用单个println 命令和多行字符串 语句打印所有管道参数

println """
	reads: $params.reads
	transcriptome: $params.transcriptome
	multiqc: $params.multiqc
	outdir: $params.outdir
	"""

2 创建转录组索引

Nextflow 允许使用process定义执行任何命令或用户脚本。

通过提供三个主要声明来定义流程:流程输入、流程输出 和最后的命令脚本

第二个示例添加了该index过程。它将转录组文件作为输入并使用该salmon工具创建转录组索引。

请注意输入声明如何在进程上下文中定义一个transcriptome变量,该变量在命令脚本中用于在 Salmon 命令行中引用该文件。

尝试使用以下命令运行它:

nextflow run script2.nf -with-singularity

使用了Docker 容器nextflow/rnaseq-nf中定义的nextflow.config文件 。

为了避免添加选项-with-docker,在nextflow.config文件中添加以下行

docker.enabled = true

练习 2.1

默认情况下启用 Docker 执行在nextflow.config文件中添加上述设置

练习 2.2

使用println 运算符打印index_ch通道的输出(不要将它与println之前看到的语句混淆)

Channel
      .from('foo', 'bar', 'baz', 'qux')
      .println()
//index_ch.println()

练习 2.3

使用命令tree -a work查看 Nextflow 如何组织流程工作目录


3 成对收集读取文件

如何将读取的文件配对,以便它们可以被Salmon映射

编辑脚本script3.nf并添加以下语句作为最后一行:

read_pairs_ch.println()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值