【发布时间】:2021-10-23 21:43:24
【问题描述】:
我有一个 Nextflow 进程,它使用 bash 脚本 (check_bam.sh) 生成文本文件。该文本文件内容的唯一选项是 0 或任何其他数字。我想提取该 0 或其他值并将其保存到 Nextflow 变量中,以便能够使用条件,如果文件的内容为 0,则 Nextflow 脚本应该跳过一些进程,并且如果是其他任何不为零的数字,则应完全执行。我在使用 Nextflow 条件和将通道设置为空方面没有问题,但是在将脚本部分内部生成的值保存到 Nextflow 变量以使用外部进程的部分中。
生成0或其他数字的文件(result_bam.txt)的过程如下(我已经简化了,尽量清楚):
process CHECK_BAM {
input:
path bam from channel_bam
output:
path "result_bam.txt"
path "result_bam.txt" into channel_check_bam
script:
"""
bash bin/check_bam.sh $bam > result_bam.txt
"""
我检查的是 BAM 文件中映射读取的数量,我想将该数字保存到 Nextflow 变量中,因为如果该数字为零,则执行应跳过以下大部分过程,但如果number 不为零,这意味着文件中存在映射读取,并且应按预期继续执行。
我认为也许使用cat result_bam.txt > $FOO 或FOO=``cat result_bam.txt` 可能是一个解决方案,但我不知道如何正确保存它,以便该变量在进程之间可用。
【问题讨论】:
标签: bash groovy bioinformatics nextflow