Andrea Bagnacani
07/31/2025, 3:21 PMsamtools
and paraphase
, and runs paraphase
with the -g
flag followed by a comma-separated list of 10 genes.
During testing, would it be possible to break this list in 10 different pipeline invocations, each with 1 gene?
This would help keeping each test small and fast to execute.
I started with gene GBA. I followed this example, and in my tests/nextflow.config
file I wrote:
process {
withName: PARAPHASE {
ext.args = '-g GBA'
}
}
This setup works as intended: the config instructs paraphase
to run against GBA only and produces the output that I expect.
However, I cannot figure out how to write the remaining 9 blocks for the remaining 9 genes:
any new section in the config will have the same withName: PARAPHASE
, so besides the string containing the gene's name, all the 10 configurations will look identical.
I looked around for a way to make them distinct, so that I can run paraphase
with 10 different cli invocations, but I cannot figure out how.
What am I missing? Have you ever encountered this scenario?Alan Hoyle
08/01/2025, 8:56 PMUri David Akavia
08/03/2025, 2:18 PMscript:
template 'gprofiler2_gost.R'
However, if this were a command line, would I need to write it as
RScript gprofiler_gost.R $args
or just RScript gprofiler_gost.R
and args will be passed automatically?
Thank youNick Eckersley
08/04/2025, 7:05 AMexecutor > slurm (14)
[55/710edc] NFC…(ERZ23877681-contig.fa.gz) | 4 of 4, cached: 4 ✔
[30/7657be] NFC…NNOTATION:PYRODIGAL (N073) | 4 of 4, cached: 4 ✔
[92/06c6af] NFC…AA (N073_pyrodigal.faa.gz) | 4 of 4, cached: 4 ✔
[33/0bc528] NFC…NA (N073_pyrodigal.fna.gz) | 4 of 4, cached: 4 ✔
[54/e97e11] NFC…BK (N073_pyrodigal.gbk.gz) | 4 of 4, cached: 4 ✔
[84/be13af] NFC…AMP:AMPLIFY_PREDICT (N072) | 0 of 4, retries: 4
[4c/54bf06] NFC…:AMP:MACREL_CONTIGS (N072) | 2 of 4, cached: 2
[7a/3ed0e0] NFC…N073.macrel.prediction.gz) | 2 of 2, cached: 2
[2b/9d3e82] NFC…73.macrel.all_orfs.faa.gz) | 2 of 2, cached: 2
[98/ce1802] NFC…:FUNCSCAN:AMP:AMPIR (N075) | 0 of 4
[9d/97345b] NFC…:AMP:AMP_DATABASE_DOWNLOAD | 1 of 1, cached: 1 ✔
[- ] NFC…:AMP:AMPCOMBI2_PARSETABLES -
[- ] NFC…CAN:AMP:AMPCOMBI2_COMPLETE -
[- ] NFC…SCAN:AMP:AMPCOMBI2_CLUSTER -
[- ] NFC…_FUNCSCAN:FUNCSCAN:MULTIQC -
ERROR ~ Error executing process > 'NFCORE_FUNCSCAN:FUNCSCAN:AMP:AMPLIFY_PREDICT (N075)'
Caused by:
Process `NFCORE_FUNCSCAN:FUNCSCAN:AMP:AMPLIFY_PREDICT (N075)` terminated with an error exit status (137)
Command executed:
AMPlify \
\
\
-s 'N075_pyrodigal.faa'
#rename output, because tool includes date and time in name
mv *.tsv N075.amplify.tsv
cat <<-END_VERSIONS > versions.yml
"NFCORE_FUNCSCAN:FUNCSCAN:AMP:AMPLIFY_PREDICT":
AMPlify: $(AMPlify --help | grep 'AMPlify v' | sed -e "s/^.*AMPlify v//")
END_VERSIONS
Command exit status:
137
Command output:
(empty)
Command error:
INFO: Environment variable SINGULARITYENV_TMPDIR is set, but APPTAINERENV_TMPDIR is preferred
INFO: Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
INFO: Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
2025-08-03 22:30:18.853526: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
/usr/local/bin/AMPlify: line 2: 45 Killed /usr/local/share/amplify/src/AMPlify.py $@
Work dir:
/mnt/shared/scratch/neckersl/private/funcscan/work/02/e2658c3294d6e97e0034a06ad1ce01
Container:
/mnt/shared/scratch/neckersl/private/funcscan/work/singularity/depot.galaxyproject.org-singularity-amplify-2.0.0--py36hdfd78af_1.img
Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line
-- Check '.nextflow.log' file for details
ERROR ~ Pipeline failed. Please refer to troubleshooting docs: <https://nf-co.re/docs/usage/troubleshooting>
-- Check '.nextflow.log' file for details
I have tried increasing the memory of this task, I now have it at 250gb but it is still erroring which makes me think its something else. Any suggestions would be greatly appreciated. Thanks.Alexandru Mizeranschi
08/04/2025, 8:28 AMNick Eckersley
08/04/2025, 9:23 AMKai Lawson-McDowall
08/04/2025, 4:00 PMprocess AFFY_JUSTRMA {
tag "$meta.id"
label 'process_single'
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'<https://depot.galaxyproject.org/singularity/bioconductor-affy:1.78.0--r43ha9d7317_1>':
'biocontainers/bioconductor-affy:1.78.0--r43ha9d7317_1' }"
input:
tuple val(meta), path(samplesheet), path(celfiles_dir)
tuple val(meta2), path(description)
output:
tuple val(meta), path("*.rds") , emit: rds
tuple val(meta), path("*matrix.tsv") , emit: expression
tuple val(meta), path("*.annotation.tsv") , emit: annotation, optional: true
path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
script:
template 'affy_justrma.R'
}
Importantly, within the R script, there's a function that's used to conditionally fetch files from bioconductor packages like so:
install_cdf_db <- function(celfile, annotation = FALSE){
library(affyio)
headdetails <- read.celfile.header(celfile)
ref.cdfName <- headdetails[[1]]
cleaned.cdfName <- cleancdfname(ref.cdfName, addcdf = FALSE)
exts = 'cdf'
if (annotation){
exts <- c(exts, '.db')
}
options(timeout=600)
for (package in paste0(cleaned.cdfName, exts)){
install.packages(
package,
lib = 'libs',
repos = BiocManager::repositories(),
dependencies = c("Depends", "Imports")
)
}
cleaned.cdfName
}
importantly repos = BiocManager::repositories()
points towards a URL which R can use to download conditionally based on the cel files (I've been using the test_affy
profile, where package resolves to hgu133plus2cdf
. This repo of course has to follow the structure of bioconductor repository.
What I've managed to do so far is get this working locally - That is, create a local directory called mirror
which contains all the files required for the test_affy
profile and get the module to use this repository, I mount it into the container using:
containerOptions { params.affy_mirror_dir ? "-v ${params.affy_mirror_dir}:/mirror" : '' }
in the module main.nf - which allows me to provide a path the local mirror of the repository, I've made the following modification to the R template.
options(timeout=600, BIOCONDUCTOR_CONFIG_FILE ='$affy_config_yml', BIOCONDUCTOR_ONLINE_VERSION_DIAGNOSIS = FALSE)
for (package in paste0(cleaned.cdfName, exts)){
install.packages(
package,
lib = 'libs',
repos = c(BioC_mirror = "file:///mirror/bioc_mirror"), // hardcoded path within the container where the mirror will be mounted
dependencies = c("Depends", "Imports")
However, the issue is, is that eventually the hope is store a full mirror of bioconductor on s3. However, I can't seem to figure out pass this mirror directory when stored on s3 to the Rscript to use to install bioconductor packages. My intuition would be to try and load the s3 version as a parameter (e.g. make a param s3_mirror_dir which could be`s3://dev-data/mirror/`) pass that into a channel - Channel.fromPath('params.s3_mirror_dir')
and then somehow make the R script aware from it within the container, but am aware that containerOptions
won't support an s3 path to mount directly in.
Very happy to add to/clarify anything I've missed, and any help is massively appreciated. 🙂Nour El Houda Barhoumi
08/05/2025, 4:26 PMUri David Akavia
08/06/2025, 3:33 PMtuple val(meta), path("*_filtered*.tsv") , emit: filtered
path "versions.yml" , emit: versions
turns into
tuple val(meta), path("*_filtered*.tsv"), emit: filtered
path "versions.yml", emit: versions
when I format the document
2. There are some other weird code changes, like
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'<https://depot.galaxyproject.org/singularity/pandas:1.5.2>' :
'biocontainers/pandas:1.5.2' }"
turning into
container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
? '<https://depot.galaxyproject.org/singularity/pandas:1.5.2>'
: 'biocontainers/pandas:1.5.2'}"
Do I need to place something in settings.json, like ??
"[nextflow]": {
"editor.defaultFormatter": "nextflow.nextflow"
}
Thank youThiseas C. Lamnidis
08/08/2025, 8:34 AMCarla Pereira-Garcia
08/08/2025, 9:53 AMLaura Helou
08/11/2025, 6:33 AMTyler Gross
08/11/2025, 11:43 PMLuuk Harbers
08/12/2025, 11:42 AMresume
after a specific join
operation in nf-core/scnanoseq
(https://github.com/nf-core/scnanoseq/blob/05d705a301a262669c2252c890106e31a28a120e/subworkflows/local/quantify_scrna_isoquant.nf#L95C16-L95C17)
I was reading some of the discussions and also found the gotcha explaining some of it here: https://midnighter.github.io/nextflow-gotchas/gotchas/join-on-map-fails-resume/
I was now simply wondering what the best way is to implement this is (nf-core) workflows. If it's using the proposed solution in that gotcha, I'm a little bit lost on how to properly include that in a pipeline :')
Edit: maybe slightly different issue (?)Yasset Perez Riverol
08/12/2025, 4:49 PMInstalled distributions
Creating settings.xml with server-id: github
Overwriting existing file /home/runner/.m2/settings.xml
Run ./setup-nextflow/subaction
with:
version: 24.10.5
all: false
env:
NXF_ANSI_LOG: false
NXF_SINGULARITY_CACHEDIR: /home/runner/work/quantms/quantms/.singularity
NXF_SINGULARITY_LIBRARYDIR: /home/runner/work/quantms/quantms/.singularity
CAPSULE_LOG: none
TEST_PROFILE: test_dda_id
EXEC_PROFILE: docker
JAVA_HOME: /opt/hostedtoolcache/Java_Zulu_jdk/17.0.16-8/x64
JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Zulu_jdk/17.0.16-8/x64
Input version '24.10.5' resolved to Nextflow undefined
Error: Cannot read properties of undefined (reading 'includes')
Error: Could not run 'nextflow help'. Error: Unable to locate executable file: nextflow. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
phuaxmb
08/13/2025, 5:08 AMshanshan wang
08/13/2025, 10:25 AM--soloUMIfiltering - --soloMultiMappers EM --soloCBstart 1 --soloCBlen 16 --soloUMIstart 17 --soloUMIlen 12\
N E X T F L O W ~ version 25.04.2
nextflow run nf-core/scrnaseq -r 2.0.0
let me know if more info is required. Thank you!Rayan Hassaïne
08/14/2025, 12:32 PMexecutor.perJobMemLimit
vs executor.perTaskReserve
settings with the lsf
executor? What would happen when setting one (or both) to true and vice versa ? Greatly appreciate it 🙏James Fellows Yates
08/15/2025, 12:59 PMZeyad Ashraf
08/16/2025, 1:12 AMVictor
08/18/2025, 9:33 AMERROR Singularity/Apptainer is needed to pull images, but it is not installed or not in $PATH
Setting up Singularity/Apptainer
on a mac is... more work than I expected. Is there another way to pull the containers outside of the nf-core tools system?Ben
08/19/2025, 11:22 AMparams.py
module which is part of the tool code base inside the docker image. I tried adding a modified params.py
to the /bin
directory in the pipeline and adding this path to the PYTHONPATH
variable. I checked that PYTHONPATH
is correctly set and that params.py
is accessible inside the nextflow module. However, it does not seem to work, and the module (and the parameters) are still loaded from the original file. Any ideas why that is? Any hints how to deal with tools that hard-code parameters (except building custom docker images)?Fredrick
08/20/2025, 1:48 AM<https://github.com/fmobegi/nf-core-test-datasets/tree/abotyper>
.
The guiding notes (https://nf-co.re/docs/tutorials/adding_a_pipeline/test_data) suggest creating a new branch at https://github.com/nf-core/test-datasets/branches/active and then make a pull request to use that branch as the target.
For some reason, I am unable to create this branch. Any pointers will be appreciated.Avani Bhojwani
08/21/2025, 1:32 AMLuuk Harbers
08/21/2025, 10:08 AMinstitutional
and test
in a specific order one should overwrite the other when it comes to certain values? For instance, shouldnt the test
profile's resourcelimits
overwrite the ones specified in the institutional config if the test
profile is specified later? Or am I misunderstandingFrançois-Xavier Stubbe
08/21/2025, 12:54 PMJames Fellows Yates
08/22/2025, 12:13 PM.first()
after mixing module versions into ch_versions
?
Given .unique
is run prior passing to MultiQC, is there any overhead benefit for taking just the version.yaml
from the first module invocation vs passing all versions.yml
and running uniqueSylvia Li
08/22/2025, 6:26 PMdef longpac_longpolish = SAMPLESHEETFILTERING.out.list_longpac_longPolish
def flattened_result = longpac_longpolish
.filter { value -> value instanceof List && !value.isEmpty() }
.flatMap()
flattened_result.view()
PACBIO_SUBWORKFLOW(flattened_result)
it views() fine, emitting
[[id:Sample1, polish:long, basecaller:NA], short1NA, short2NA, TestDatasetNfcore/Pacbio_illuminaPolish/PacbioSRR27591472.hifi.fastq.gz, assemblyNA]
[[id:Sample2, polish:long, basecaller:NA], short1NA, short2NA, TestDatasetNfcore/Pacbio_illuminaPolish/PacbioSRR27591472.hifi.fastq.gz, assemblyNA]
but when i pass it to the subworkflow
workflow PACBIO_SUBWORKFLOW {
take:
ch_input_full // channel: [ val(meta), files/data, files/data, files/data..etc ]
// bam_file
// polish
// gambitdb
// krakendb
main:
def ch_output = Channel.empty()
def ch_versions = Channel.empty()
println("hello")
ch_input_full.view()
It just prints hello, and gets hung up, doesn't seem to ever print the channel values? just sits there. I dont understand why?
my nextflow.log also says all processes finished, all barriers passed
Aug-22 13:23:17.907 [main] DEBUG nextflow.script.ScriptRunner - > Awaiting termination
Aug-22 13:23:17.907 [main] DEBUG nextflow.Session - Session await
Aug-22 13:23:17.907 [main] DEBUG nextflow.Session - Session await > all processes finished
Aug-22 13:23:17.908 [main] DEBUG nextflow.Session - Session await > all barriers passed
Juan E. Arango Ossa
08/22/2025, 6:33 PM-ansi-log false
but I do want the ansi output to have the latest colored output.
I saw in this issue @Phil Ewels was suggesting something with full names as in the pic. Was this implemented? Can I get something like that with ansi logs and full process name or at least longer?
As it is, it's still very challenging to readSylvia Li
08/22/2025, 10:38 PM