Как я могу связать "печать" с процессом?
Я сделал свой конвейер, и я хотел бы напечатать перед каждым процессом небольшое описание того, что выполняется.
Я в основном пытался добавить "печать" перед каждым процессом в моем сценарии. Когда я запускаю конвейер, он сначала печатает все описания, а затем начинают выполняться процессы.
Что я сделал:
// 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 ответ
Решение
Быстрый ответ не возможно из коробки. Если вам действительно нужно, вы можете использовать print
в разделе сценария, например:
process foo {
script:
println 'Hello'
"""
your_command_here
"""
}
Однако вам также нужно будет написать код, чтобы написать это сообщение только в первый раз.