как распечатать таблицу в следующем потоке - PullRequest
0 голосов
/ 11 февраля 2020

Я начинаю с Nextflow и не могу понять, почему мой скрипт не выполняет то, что я ожидаю

import nextflow.Channel

params.groupings = "SampleGroups.csv"
params.comparisons = "comparisons.tsv" 

groupings = params.groupings
comp = params.comparisons

println groupings.class

def parseGroupings(groupings){
def allRows = [:]

Channel.from(groupings)
    .splitCsv(sep: ',', header: true)
        .unique().map { row ->
   [row.Sample,row.Group]
}


}


(a,b) = parseGroupings(groupings).into(2)
println a.flatten().unique().toSortedList().get()

Я ожидаю, что он напечатает строки файла группировки Я вставил, но вместо этого я получаю:

class java.lang.String
[]

Массив пуст, но мой файл явно нет. Какой самый простой способ проверить содержимое моего вывода и «посмотреть», что я делаю?

1 Ответ

1 голос
/ 11 февраля 2020

Используйте .view() для проверки содержимого канала и возврата копии этого канала.

Channel.from(1,2,3).view()
        .map { it -> [it, it+it, it*it] }
        .view()
        .set { foo }
foo.collect().view()

вывод:

1
2
3
[1, 2, 1]
[2, 4, 4]
[3, 6, 9]
[1, 2, 1, 2, 4, 4, 3, 6, 9]
...