Как я могу связать «печать» с процессом? - PullRequest
0 голосов
/ 07 января 2019

Я сделал свой конвейер, и я хотел бы напечатать перед каждым процессом небольшое описание того, что выполняется.

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

Что я сделал:

// Trimming
println 'Trimming reads with AlienTrimmer'
process Trimming {
    ...
}


// Convert to fasta
println 'Convert files from fastq to fasta'
process Fastq2Fasta {
    ...
}


// Concatenate files
println 'Combine all fasta files'
reads_fasta.collectFile()


// Dereplication
if (params.prefixdrep) println 'Dereplication using prefixes'
else println 'Dereplication using full reads lentgh'
process Dereplication {
    ...
}

Что я получаю:

* Trimming reads with AlienTrimmer
* Convert files from fastq to fasta
* Combine all fasta files
* Dereplication using full reads lentgh
[74/ee63b8] Cached process > Trimming (MOBIO2-16S)
[d7/9b16c3] Cached process > Trimming (IHMS1-16S)
[e8/821f96] Cached process > Trimming (IHMS2-16S)
[2d/bfe805] Cached process > Trimming (MOBIO1-16S)
[a0/6702b3] Cached process > Fastq2Fasta (IHMS1-16S)
[c0/044dcd] Cached process > Fastq2Fasta (MOBIO2-16S)
[84/344d52] Cached process > Fastq2Fasta (MOBIO1-16S)
[7f/20caee] Cached process > Fastq2Fasta (IHMS2-16S)
[aa/ea78e8] Cached process > Dereplication (mycobiote_16S)

Что я хочу:

* Trimming reads with AlienTrimmer
[74/ee63b8] Cached process > Trimming (MOBIO2-16S)
[d7/9b16c3] Cached process > Trimming (IHMS1-16S)
[e8/821f96] Cached process > Trimming (IHMS2-16S)
[2d/bfe805] Cached process > Trimming (MOBIO1-16S)
* Convert files from fastq to fasta
[a0/6702b3] Cached process > Fastq2Fasta (IHMS1-16S)
[c0/044dcd] Cached process > Fastq2Fasta (MOBIO2-16S)
[84/344d52] Cached process > Fastq2Fasta (MOBIO1-16S)
[7f/20caee] Cached process > Fastq2Fasta (IHMS2-16S)
* Combine all fasta files   
* Dereplication using full reads lentgh
[aa/ea78e8] Cached process > Dereplication (mycobiote_16S)

1 Ответ

0 голосов
/ 07 января 2019

Быстрый ответ, это невозможно из коробки. Если вам это действительно нужно, вы можете использовать print в разделе скриптов, например:

process foo {
  script:
  println 'Hello'
  """
  your_command_here
  """
}

Однако вам также нужно будет написать код, чтобы писать это сообщение только в первый раз.

...