Nextflow community chat moved to Slack! https://www.nextflow.io/blog/2022/nextflow-is-moving-to-slack.html
jorgeaguileraseqera on 2678-dsl2-emit-tuples-with-optional-values
feature: new allowNull attribut… (compare)
pditommaso on master
Fix missing err message on subm… (compare)
pditommaso on 2898-submit-submission-failure-is-not-captured-in-error-report
pditommaso on master
Fix resolve azure devops reposi… (compare)
pditommaso on 2384-pull-from-azure-devops-repositories-uses-project-id-as-repository-id-
pditommaso on 2898-submit-submission-failure-is-not-captured-in-error-report
Fix missing err message on subm… (compare)
after upgrading Nextflow 21.04.3 to 21.10.3 my workflow fails with the following error:
groovy.lang.MissingMethodException: No signature of method: nextflow.script.WorkflowDef.nr_records() is applicable for argument types: ([Ljava.lang.Object;) values: [[/gro
ups/solve-rd/tmp10/projects/vip/nextflow/git/vip/test/output/test_snv/.nxf_work/92/1158ff50d7175029ff592f11a241f3/snv_prepared.vcf.gz.stats]]
at nextflow.script.WorkflowParamsResolver.invokeMethod(WorkflowDef.groovy:217)
def nr_records(statsFilePath) {
...
}
channel.fromPath(params.input) \
| prepare \
| branch {
small: nr_records(it.last()) <= params.chunk_size
large: true
}
...
process prepare {
...
output:
tuple ..., path("${vcfOutputPath}.stats")
...
I've tried updating in the caller and callee in various ways without success. does anyone have a clue what changed between Nextflow versions?
Hello, I installed next flow in the computing cluster but I am not able to use the docker files required for running deep variant analysis. I used the following command: nextflow run nf-core/deepvariant -profile test,docker
N E X T F L O W ~ version 21.10.4
Launching nf-core/deepvariant
[lethal_tesla] - revision: 2b5486356c [master]
,--./,-.
___ __ __ __ ___ /,-._.--~'
|\ | |__ __ / ` / \ |__) |__ } {
| \| | \__, \__/ | \ |___ \`-._,-`-,
`._,._,'
Pipeline Name : nf-core/deepvariant
Pipeline Version: 1.0
Bam file : https://github.com/nf-core/test-datasets/raw/deepvariant/testdata/NA12878_S1.chr20.10_10p1mb.bam
Bed file : https://github.com/nf-core/test-datasets/raw/deepvariant/testdata/test_nist.b37_chr20_100kbp_at_10mb.bed
Reference genome: hg19chr20
Fasta Ref : s3://deepvariant-data/genomes/hg19chr20/chr20.fa
Fasta Index : s3://deepvariant-data/genomes/hg19chr20/chr20.fa.fai
Fasta gzipped : s3://deepvariant-data/genomes/hg19chr20/chr20.fa.gz
Fasta gzipped Index: s3://deepvariant-data/genomes/hg19chr20/chr20.fa.gz.fai
Fasta bgzip Index: s3://deepvariant-data/genomes/hg19chr20/chr20.fa.gz.gzi
Max Memory : 6 GB
Max CPUs : 2
Max Time : 2d
Model : wgs
Output dir : results
Working dir : /scicore/home/cichon/thirun0000/my-pipelines/nf-core/deepvariant-master/work
Container Engine: docker
Container : nfcore/deepvariant:1.0
Current home : /scicore/home/cichon/thirun0000
Current user : thirun0000
Current path : /scicore/home/cichon/thirun0000/my-pipelines/nf-core/deepvariant-master
Script dir : /scicore/home/cichon/thirun0000/.nextflow/assets/nf-core/deepvariant
executor > local (1)
[- ] process > preprocess_bam -
[- ] process > make_examples -
[- ] process > call_variants -
[- ] process > postprocess_variants -
[e7/dec5cb] process > get_software_versions [100%] 1 of 1, failed: 1 ✘
Execution cancelled -- Finishing pending tasks before exit
Error executing process > 'get_software_versions'
Caused by:
Process get_software_versions
terminated with an error exit status (127)
Command executed:
echo 1.0 &> v_nf_deepvariant.txt
echo 21.10.4 &> v_nextflow.txt
ls /opt/conda/pkgs/ &> v_deepvariant.txt
python --version &> v_python.txt
pip --version &> v_pip.txt
samtools --version &> v_samtools.txt
lbzip2 --version &> v_lbzip2.txt
bzip2 --version &> v_bzip2.txt
scrape_software_versions.py &> software_versions_mqc.yaml
Command exit status:
127
Command output:
(empty)
Command error:
.command.run: line 279: docker: command not found
Work dir:
/scicore/home/cichon/thirun0000/my-pipelines/nf-core/deepvariant-master/work/e7/dec5cbd65b63e4fdd5ccced4f1e516
Tip: you can replicate the issue by changing to the process work dir and entering the command bash .command.run
Fastagz file not found: s3://deepvariant-data/genomes/hg19chr20/chr20.fa.gz
Fai file not found: s3://deepvariant-data/genomes/hg19chr20/chr20.fa.fai
gzfai file not found: s3://deepvariant-data/genomes/hg19chr20/chr20.fa.gz.fai
please specify --bed option (--bed bedfile)
https://github.com/nf-core/test-datasets/raw/deepvariant/testdata/NA12878_S1.chr20.10_10p1mb.bam not found
gzi file not found: s3://deepvariant-data/genomes/hg19chr20/chr20.fa.gz.gzi
hello
is it possible to make iteration over processes in dsl2 ?, as in https://github.com/nextflow-io/patterns/blob/master/docs/feedback-loop.adoc
what I tried doesn't work
(to annotate vcf with several databases)
take:
entrees_vcf // tuple [info1, info2, info3, vcf]
bdds // collection of collections: [ [bdd1,index1,tag1,fields1], [bdd2,index2,tag2,fields2], ...]
main:
input_ch = input_vcf
.concat( bdds.map{it[0]}, Channel.of(0) ).flatten().toList()
.mix(
Annotation_bdd_vcf.out
.concat( bdds )
.toList()
.map { ch_tuple, bdds ->
if ( ch_tuple[4] < bdds.size() ) { //(bdds[iteration]) {
return [ ch_tuple[0], ch_tuple[1], ch_tuple[2], ch_tuple[3], bdds[iteration], ch_tuple[4] ].flatten()
}
}
)
Annotation_bdd_vcf( input_ch )
in Annotation_bdd_vcf input, the last variable (coming from Channel.of(0)) is incremented each time the process is executed
-M
option) and the only thing that is mentioned in the documentation and the issues is using env.SLURM_CLUSTERS. Unfortunately as I am reading in another issue (and I have confirmed by trying) that is not valid in a process { withLabel: xxx {cant put env here}}
selector block. Is my only option a PR?
nextflow.file.FileHelper - Can't check if speci
fied path is NFS (1): /mop2-bucket-1/scratch
publishDir
with DSL2. This announcement suggested that there would be improvements here, and I found this that seems to provide some mechanism, but I was assuming that you should be able to define a process that does not need to worry about publishDir
and let the workflow choose which outputs to publish? Is this possible? Any examples?
Is it possible to use a .count()
channel as the size
parameter for GroupTuples
?
I currently have:
bcftools_index_somatic.out.vcfs_w_csis.groupTuple(by: [0, 1, 2, 3], size: extract_chroms_from_bed.out.chroms_list.count()).set{ vcfs_by_patient }
But I get the error:
Value 'DataflowVariable(value=null)' cannot be used in in parameter 'size' for operator 'groupTuple' -- Value don't match: class java.lang.Integer
Is it possible to convert the .count()
channel into something consumable by size:
?
$params
because this gives a comma-separates map, but something that returns a table. Any ideas?
docker.fixOwnership = true
(and install procps
in your image otherwise Nextflow will complain that you don't have ps
installed). Best guess is that the mismatch in the ids for the owner of the image manifest file was preventing it from being accessed. Haven't tried it but a quick peek at the source code suggests that setting NXF_OWNER
will also make things work.
Command error:
Execution failed: generic::failed_precondition: while running "nf-2f69f94540149df9eda94c49022f51cc-main": unexpected exit status 1 was not ignored
.command.out
.command.err
..command.trace
nextflow-21.10.5
- any workflow does this including hello-world
gsutil cat gs://mygcpbucket/nextflow/f4/72c513e7a923fb0c80b30fc74c669d/google/logs/output
/bin/bash: /nextflow/f4/72c513e7a923fb0c80b30fc74c669d/.command.log: Permission denied
+ trap 'err=$?; exec 1>&2; gsutil -m -q cp -R /nextflow/f4/72c513e7a923fb0c80b30fc74c669d/.command.log gs://truwl-internal-inputs/nextflow/f4/72c513e7a923fb0c80b30fc74c669d/.command.log || true; [[ $err -gt 0 || $GOOGLE_LAST_EXIT_STATUS -gt 0 || $NXF_DEBUG -gt 0 ]] && { ls -lah /nextflow/f4/72c513e7a923fb0c80b30fc74c669d || true; gsutil -m -q cp -R /google/ gs://truwl-internal-inputs/nextflow/f4/72c513e7a923fb0c80b30fc74c669d; } || rm -rf /nextflow/f4/72c513e7a923fb0c80b30fc74c669d; exit $err' EXIT
+ err=1
+ exec
+ gsutil -m -q cp -R /nextflow/f4/72c513e7a923fb0c80b30fc74c669d/.command.log gs://truwl-internal-inputs/nextflow/f4/72c513e7a923fb0c80b30fc74c669d/.command.log
+ [[ 1 -gt 0 ]]
+ ls -lah /nextflow/f4/72c513e7a923fb0c80b30fc74c669d
total 40K
drwxr-xr-x 3 root root 4.0K Dec 10 23:51 .
drwxr-xr-x 3 root root 4.0K Dec 10 23:51 ..
-rw-r--r-- 1 root root 3.3K Dec 10 23:51 .command.log
-rw-r--r-- 1 root root 5.3K Dec 10 23:51 .command.run
-rw-r--r-- 1 root root 36 Dec 10 23:51 .command.sh
drwx------ 2 root root 16K Dec 10 23:50 lost+found
+ gsutil -m -q cp -R /google/ gs://mygcpbucket/nextflow/f4/72c513e7a923fb0c80b30fc74c669d
I was running a Nextflow job with about 2k tasks on AWS Batch. Unfortunately, the Docker container for one of the processes contained an error (Exception in thread "Thread-1" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
), and I had to kill the nextflow run. I guess I must have hit CTRL+C
twice, because while the interactive nextflow CLI progress stopped, I'm still left with thousands of RUNNABLE jobs in AWS Batch.
Is there any quick way to remove them without potentially affecting other nextflow runs using the same compute queue?
How can I avoid similar issues in the future? I.e. how should I properly cancel a running nextflow run and make it clean up its jobs in Batch?
ch_spectra_summary.map { tuple_summary ->
def key = tuple_summary[0]
def summary_file = tuple_summary[1]
def list_spectra = tuple_summary[1].splitCsv(skip: 1, sep: '\t')
.flatten{it -> it}
.collect()
return tuple(key.toString(), list_spectra)
}
.groupTuple()
.set { ch_spectra_tuple_results}
[supp_info.mzid.gz, [[supp_info.mzid, 2014-06-24, Velos005137.mgf, MGF, Velos005137.mgf, ftp://ftp.ebi.ac.uk/pride-archive/2014/06/PXD001077/Velos005137.mgf]]]
ftp://ftp.ebi.ac.uk/pride-archive/2014/06/PXD001077/Velos005137.mgf
[supp_info.mzid.gz, [ftp://ftp.ebi.ac.uk/pride-archive/2014/06/PXD001077/Velos005137.mgf]]
Hello,
I have the following python script in a nextflow process.
process update_image {
script:
"""
#!/usr/bin/env python3
import os, subprocess
subprocess.check_call(['singularity', 'pull', 'docker://busybox'])
}
The singularity is installed and is in the $PATH. The config file looks like:
singularity {
singularity.enabled = true
singularity.autoMounts = true
}
However, I get the error: No such file or directory: 'singularity'
. Any ideas what might be wrong here?