params.fasta = "$baseDir/data/bam/*.fasta" log.info "fasta files : ${params.fasta}" Channel .fromPath( params.fasta ) .ifEmpty { error "Cannot find any bam files matching: ${params.fasta}" } .set { fasta_file } process index_fasta { tag "$fasta.baseName" cpus 4 publishDir "results/mapping/index/", mode: 'copy' input: file fasta from fasta_file output: file "*.index*" into index_files script: """ bowtie-build --threads ${task.cpus} -f ${fasta} ${fasta.baseName}.index &> ${fasta.baseName}_bowtie_report.txt if grep -q "Error" ${fasta.baseName}_bowtie_report.txt; then exit 1 fi """ }