【问题标题】:How do I access/manipulate the output of splitCSV operator in Nextflow?如何在 Nextflow 中访问/操作 splitCSV 运算符的输出?
【发布时间】:2021-10-25 14:46:42
【问题描述】:

我使用 stdout 输出将数据从一个 python 脚本移动到另一个,以避免使用包含一个数字的文件。结果,我在 csv 字符串中传递了我的信息,即 [data_val1、data_val2 等...]。这很好,但我需要能够使用此信息启动两个单独的频道。这可以通过分支来完成。我的问题是处理 splitCsv 运算符的输出。

extracted_values
    .splitCsv()
    .branch{
            meta_data: new Tuple(it[0],it[1])
            other_data: it[2]
    }
    .set{script_output}

script_output.meta_data.view({"medata data is $it"})
script_output.other_data.view({"original height is $it"})

有关此运算符的文档非常短。这些数据如何返回以供后续操作?我想取前几个值并传递到一个通道并将其余的发送到另一个通道。如果我有一个包含数组但我没有的变量,这将是微不足道的。

任何想法都将不胜感激。

【问题讨论】:

    标签: csv groovy split nextflow


    【解决方案1】:

    对于 nextflow 新手,我从 gitter 那里得到了一些帮助

    关于处理在 groovy 闭包上读取的变量。如果未列出任何内容,则您的变量称为 it

    我的拆分方案如下

    Channel
        .from("val1,val2,val3")
        .splitCsv()
        .multiMap { it ->
            foo: [it[0],it[1]]
            bar: [it[2]]
            }
        .set{result}
    
    result.foo.view()
    result.bar.view()
    
    

    【讨论】:

      猜你喜欢
      • 2022-08-18
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多