Philipp Glasmacher
02/10/2026, 12:57 PMJames Fellows Yates
02/10/2026, 1:18 PMPhilipp Glasmacher
02/12/2026, 4:16 PMJames Fellows Yates
02/14/2026, 11:03 AMJames Fellows Yates
02/14/2026, 11:03 AMSlackbot
02/14/2026, 11:03 AM.nextflow.log file, where you are running the analysis.
Remember to use triple backslashes on their own lines for code blocks.
Also take a look at https://nf-co.re/usage/troubleshooting for more information on debugging failed pipelines. Thanks!James Fellows Yates
02/14/2026, 11:03 AMPhilipp Glasmacher
02/14/2026, 4:33 PMPhilipp Glasmacher
02/14/2026, 6:45 PM1) Job script
#!/bin/bash -l
#$ -S /bin/bash
#$ -N funcscan_MAG30
#$ -cwd
#$ -pe smp 1
#$ -l h_rt=48:00:00
#$ -l mem=8G
#$ -o logs/funcscan_MAG30.$JOB_ID.out
#$ -e logs/funcscan_MAG30.$JOB_ID.err
set -euo pipefail
module purge
module load java/temurin-17/17.0.2_8
export NXF_OPTS='-Xms1g -Xmx6g'
export NXF_HOME="$HOME/Scratch/.nextflow"
export NXF_TEMP="$HOME/Scratch/.nextflow_tmp"
mkdir -p "$NXF_HOME" "$NXF_TEMP"
export APPTAINER_CACHEDIR="$HOME/Scratch/.apptainer"
export NXF_SINGULARITY_CACHEDIR="$HOME/Scratch/.apptainer/pull"
mkdir -p "$APPTAINER_CACHEDIR" "$NXF_SINGULARITY_CACHEDIR"
nextflow run nf-core/funcscan \
-r 3.0.0 \
-profile ucl_myriad \
-resume \
-work-dir "$HOME/Scratch/funcscan_MAG30_work" \
--input samplesheet.csv \
--outdir results_funcscan_3.0.0 \
--run_amp_screening \
--run_arg_screening \
--run_bgc_screening \
--run_protein_annotation \
--protein_annotation_interproscan_db /myriadfs/home/zcbepgl/Scratch/databases/interproscan_5.59/interproscan-5.59-91.0 \
--protein_annotation_interproscan_applications Pfam,Hamap,PANTHER,TIGRFAM,sfld,ProSiteProfiles,ProSitePatterns \
--bgc_mincontiglength 3000 \
--bgc_antismash_contigminlength 3000
2) Samplesheet
sample,fasta
MAG30,/home/zcbepgl/Scratch/MAG30_ipr/MAG30.fa
3) InterProScan process status
The INTERPROSCAN process completes successfully (exit 0):
Process NFCORE_FUNCSCAN:FUNCSCAN:PROTEIN_ANNOTATION:INTERPROSCAN (MAG30); status: COMPLETED; exit: 0
However, the only error i see in the nextflow log is:
Skipping output binding because one or more optional files are missing.
4) Output behaviour
Pyrodigal predicts ~6000 proteins, but the InterProScan TSV output appears heavily dominated by PF00004 (AAA ATPase family) and looks very repetitive overall.
Example:
k141_5296188_14 ... Pfam PF00004 ATPase family associated with various cellular activities (AAA)
k141_2743843_13 ... TIGRFAM TIGR01027 proB: glutamate 5-kinase
k141_8488096_5 ... PANTHER PTHR23076 METALLOPROTEASE M41 FTSH
5) Pfam run separately
For debugging, I also ran Pfam separately on the same predicted protein FASTA outside the pipeline, and it produced many diverse domain hits (not just PF00004). So Pfam itself appears to work correctly.
Given that:
InterProScan exits cleanly (exit 0)
No fatal errors are reported
Standalone Pfam behaves normally
But the pipeline TSV output seems skewed / repetitive (only 37 hits in total)
Could this be:
An output parsing or aggregation issue?
A filtering step in the pipeline?
Something related to optional output binding?
Or something still misconfigured in the InterProScan integration?
Thanks again — really appreciate the help.James Fellows Yates
02/16/2026, 8:58 AMEvangelos Karatzas
02/16/2026, 9:08 AM--interproscan_db parameter with your already downloaded InterProScan db versionMartin Beracochea
02/16/2026, 9:09 AMPhilipp Glasmacher
02/16/2026, 9:27 AM--interproscan_db to point to my already downloaded local InterProScan database (same setup as in #C02K5GX2W93). I observe the same behaviour there as well.
In the InterProScan task logs, I consistently see:
Error in running [ps -o pid,vsize,rss,command -p 99] followed by:
java.lang.NullPointerException
at uk.ac.ebi.interpro.scan.io.cli.CommandLineConversationMonitor.getJavaCmdCount(...)Philipp Glasmacher
02/16/2026, 9:28 AM.command.sh from the failing InterProScan task:
interproscan.sh \
--cpu 6 \
--input MEGAHIT-MetaBAT2Refined-BelfastCompost.40_cleaned.faa.fastq \
--applications PANTHER,ProSiteProfiles,ProSitePatterns,Pfam \
--disable-precalc --disable-residue-annot \
--enable-tsv-residue-annot --formats tsv \
--output-file-base MEGAHIT-MetaBAT2Refined-BelfastCompost.40_interproscan.faaEvangelos Karatzas
02/16/2026, 9:28 AMEvangelos Karatzas
02/16/2026, 9:29 AMwithName: 'NFCORE_PROTEINANNOTATOR:PROTEINANNOTATOR:FUNCTIONAL_ANNOTATION:INTERPROSCAN' {
publishDir = [
path: { "${params.outdir}/functional_annotation/interproscan/${meta.id}/" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
]
ext.args = [
"--applications ${params.interproscan_applications}",
params.interproscan_enableprecalc ? '' : '--disable-precalc'
].join(' ').trim()
cpus = 1 // bugs with more
}Evangelos Karatzas
02/16/2026, 9:30 AMPhilipp Glasmacher
02/16/2026, 9:55 AM--cpu 1 and rerun. I’m not 100% sure this will fix the hit content issue (right now I’m basically only seeing approx 20 hits, whereas when I ran Pfam/InterProScan independently I get many more hits per MAG in the thousands), but I’ll definitely give it a shot and report back. Thanks so much @Evangelos Karatzas 🙏Evangelos Karatzas
02/16/2026, 9:55 AMJames Fellows Yates
02/16/2026, 9:56 AMJames Fellows Yates
02/16/2026, 9:56 AMEvangelos Karatzas
02/16/2026, 9:57 AMPhilipp Glasmacher
02/16/2026, 12:09 PMEvangelos Karatzas
02/16/2026, 12:20 PMPhilipp Glasmacher
02/16/2026, 2:16 PMJames Fellows Yates
02/16/2026, 2:19 PMJames Fellows Yates
02/16/2026, 2:20 PMEvangelos Karatzas
02/16/2026, 2:20 PMJames Fellows Yates
02/16/2026, 2:20 PMJames Fellows Yates
02/16/2026, 2:20 PMEvangelos Karatzas
02/16/2026, 2:21 PMext.args = [
"--applications ${params.interproscan_applications}",
params.interproscan_enableprecalc ? '' : '--disable-precalc'
].join(' ').trim()
)Philipp Glasmacher
02/16/2026, 2:21 PMEvangelos Karatzas
02/16/2026, 2:22 PMCan you tell me the IDs of one or two of these proteins that should have hits?
^Philipp Glasmacher
02/16/2026, 2:24 PMk141_9919578_9 # 8071 # 9273 # 1 # ID=138_9;partial=00;start_type=ATG;rbs_motif=GGAG/GAGG;rbs_spacer=5-10bp;gc_cont=0.574 400
k141_9919578_8 # 6069 # 8063 # 1 # ID=138_8;partial=00;start_type=ATG;rbs_motif=None;rbs_spacer=None;gc_cont=0.599 664
k141_9919578_7 # 4648 # 6057 # 1 # ID=138_7;partial=00;start_type=ATG;rbs_motif=AGGA;rbs_spacer=5-10bp;gc_cont=0.606 469
k141_9919578_6 # 3469 # 4431 # -1 # ID=138_6;partial=00;start_type=ATG;rbs_motif=AGGA/GGAG/GAGG;rbs_spacer=11-12bp;gc_cont=0.595 320
k141_9919578_5 # 2997 # 3311 # -1 # ID=138_5;partial=00;start_type=ATG;rbs_motif=AGxAGG/AGGxGG;rbs_spacer=5-10bp;gc_cont=0.635 104
k141_9919578_4 # 2520 # 2882 # -1 # ID=138_4;partial=00;start_type=ATG;rbs_motif=GGAG/GAGG;rbs_spacer=5-10bp;gc_cont=0.565 120
k141_9919578_3 # 1874 # 2386 # -1 # ID=138_3;partial=00;start_type=ATG;rbs_motif=AGGAG;rbs_spacer=5-10bp;gc_cont=0.598 170
k141_9919578_2 # 972 # 1877 # -1 # ID=138_2;partial=00;start_type=ATG;rbs_motif=4Base/6BMM;rbs_spacer=13-15bp;gc_cont=0.579 301
k141_9919578_17 # 15485 # 19378 # 1 # ID=138_17;partial=01;start_type=ATG;rbs_motif=AGxAG;rbs_spacer=5-10bp;gc_cont=0.646 1298
k141_9919578_16 # 15120 # 15446 # 1 # ID=138_16;partial=00;start_type=ATG;rbs_motif=GGAGG;rbs_spacer=5-10bp;gc_cont=0.587 108
[zcbepgl@login12 cb5deb4cbae322d2561673c736bccf]$Evangelos Karatzas
02/16/2026, 2:26 PMPhilipp Glasmacher
02/16/2026, 2:33 PMk141_2639666_2 # 6471 # 6923 # 1 # ID=6_2;partial=00;start_type=ATG;rbs_motif=AGGA;rbs_spacer=5-10bp;gc_cont=0.598
Evangelos Karatzas
02/16/2026, 2:35 PMPhilipp Glasmacher
02/16/2026, 2:36 PMPhilipp Glasmacher
02/16/2026, 2:41 PMEvangelos Karatzas
02/16/2026, 4:41 PM5.59_91.0 against db version 5.73-104.0...It might be that you are using another version of ips or the db, outside the pipeline I guess? When I put the test protein alongside those two and search for sfld matches, it correctly returns the match for that one:
GI|225038609|EFDID|719595|FULL 079fff43a0270e432d339ea71b6f0acf 350 SFLD SFLDS00057 Glutaminase/Asparaginase 17 347 0.0 T 16-02-2026 - -