如何将yaml
的输入文件作为列表从参数传递到通道samples
?如果有任何下一个流函数或简单的解决方案,使通道samples
工程赞赏!
$ nextflow run main.nf \
-config nextflow.config \
--input_list s3://my-bucket/params.yml \
--publish_dir ./output
--input_list s3://my-bucket/params.yaml
samples:
-
biosample_id: WGS001
bam: WGS001.bam
-
biosample_id: WGS0002
bam: NWGS0002.bam
下面给出的通道samples
代码可以很好地与-params-file s3://my-bucket/params.yaml
一起使用,但是我需要与参数input_list
一起使用,因为我不能与-params-file
一起使用
// input_list = "s3://my-bucket/params.yaml"
Channel
.fromList( params.samples )
.ifEmpty { ['biosample_id': params.biosample_id, 'bam': params.bam] }
.set { samples }
Channel
samples.branch { rec ->
....
Channel
samples.map { it.biosample_id }
....
下面的代码可以工作
import groovy.yaml.YamlSlurper
params.inputs_list = "inputs.yaml"
workflow {
inputs = new YamlSlurper().parse(file(params.inputs_list))
Channel
.fromList(inputs['samples'])
.ifEmpty { ['biosample_id': params.biosample_id, 'aln': params.aln] }
.set { samples }
1条答案
按热度按时间ego6inou1#
下面的代码可以工作