在ubuntu中运行nextflow时无法识别 *.file(文件名)

7tofc5zh  于 2022-11-02  发布在  其他
关注(0)|答案(1)|浏览(174)

我想使用nextflow查找所有 *.fq.gz文件。我的目录有四个.gf.gz文件(BF1_1.fg.gz、BF1_2.fg.gz、BF2_1.fg.gz和BF2_2.fg.gz)。我使用以下命令,但nextflow仅将 * 识别为字符,而不是特殊命令

hmtdttj4

hmtdttj41#

这是因为 params.reads 只是一个常规的java.lang.String,而您需要的是一个Channel。如果您需要一个通道来发出文件对,您可以使用fromFilePairs工厂方法来获取一个元组,该元组包含作为第一个元素的组键,以及作为第二个元素的与glob模式匹配的文件列表:

params.reads = "/home/tzfeng/test_files/*_{1,2}.fq.gz"

workflow {

    reads = Channel.fromFilePairs( params.reads )

    reads.view()
}

结果:

$ touch /home/tzfeng/test_files/{A,B,C}_{1,2}.fq.gz
$ nextflow run main.nf 
N E X T F L O W  ~  version 22.10.0
Launching `main.nf` [sharp_borg] DSL2 - revision: 3461b43146
[A, [/home/tzfeng/test_files/A_1.fq.gz, /home/tzfeng/test_files/A_2.fq.gz]]
[B, [/home/tzfeng/test_files/B_1.fq.gz, /home/tzfeng/test_files/B_2.fq.gz]]
[C, [/home/tzfeng/test_files/C_1.fq.gz, /home/tzfeng/test_files/C_2.fq.gz]]

相关问题