I am trying to run nf-core/mag ```nextflow run nf-...
# help
h
I am trying to run nf-core/mag
Copy code
nextflow run nf-core/mag -profile conda -c laird.config --input SG_R1R2.csv --outdir SG_mags -r 5.3.0
I am getting the error below. Running on university HPC cluster with miniconda 23.10.0.
Copy code
-[nf-core/mag] Pipeline completed with errors-
ERROR ~ Error executing process > 'NFCORE_MAG:MAG:BINNING:BINNING_METABINNER:METABINNER_TOOSHORT (2)'

Caused by:
  Failed to create Conda environment
    command: conda env create --prefix /home/UNN/w20041368/work/conda/env-e0738a3f4742338fdc3405bfa2ff6c85 --file /home/UNN/w20041368/.nextflow/assets/nf-core/mag/modules/local/metabinner_tooshort/environment.
yml
    status : 120
    message:
      Channels:
       - conda-forge
       - bioconda
       - defaults
      Platform: linux-64
      Collecting package metadata (repodata.json): ...working... done
      Solving environment: ...working... done

      Downloading and Extracting Packages: ...working... done
      Preparing transaction: ...working... done
      Verifying transaction: ...working...
      SafetyError: The package for checkm-genome located at /home/UNN/w20041368/.conda/pkgs/checkm-genome-1.1.3-py_1
      appears to be corrupted. The path 'site-packages/checkm/DATA_CONFIG'
      has an incorrect size.
        reported size: 215 bytes
        actual size: 272 bytes

      ClobberError: This transaction has incompatible packages due to a shared path.
        packages: conda-forge/linux-64::libgfortran4-7.5.0-h14aa051_20, conda-forge/linux-64::libgfortran5-15.2.0-h68bc16d_17
        path: 'lib/libgfortran.so'


      ClobberError: This transaction has incompatible packages due to a shared path.
        packages: conda-forge/linux-64::libgfortran4-7.5.0-h14aa051_20, conda-forge/linux-64::libgfortran5-15.2.0-h68bc16d_17
        path: 'share/licenses/libgfortran/RUNTIME.LIBRARY.EXCEPTION'
j
It looks like you have a broken/dirty conda cache (also, defautls should not be there 🤔 )
afetyError: The package for checkm-genome located at /home/UNN/w20041368/.conda/pkgs/checkm-genome-1.1.3-py_1
appears to be corrupted. The path 'site-packages/checkm/DATA_CONFIG'
As a first pass maybe
conda clean -a
and remove all the cached stuff would be a good start.
h
Hello again!
conda clean -a
sorted this problem, but now I have another one: `error [nextflow.exception.ProcessFailedException]: Process
NFCORE_MAG:mag:BINNING:BINNING_METABINNE
R:METABINNER_TOOSHORT (SG_R1R2)
terminated with an error exit status (1)`
Feb-06 14:07:32.315 [TaskFinalizer-1] ERROR nextflow.processor.TaskProcessor - Error executing process
> 'NFCORE_MAG:mag:BINNING:BINNING_METABINNER:METABINNER_TOOSHORT (SG_R1R2)'
Caused by:
`Process
NFCORE_MAG:mag:BINNING:BINNING_METABINNER:METABINNER_TOOSHORT (SG_R1R2)
terminated with an error exit status (1)`
Command executed:
metabinner_path=$(dirname $(which run_metabinner.sh))
# filter contigs < 1500 bp from fasta (default 1000)
python ${metabinner_path}/scripts/Filter_tooshort.py MEGAHIT-SG_R1R2.contigs.fa 1500
mv MEGAHIT-SG_R1R2.contigs_1500.fa MEGAHIT-MetaBinner-SG_R1R2.1500.fa
cat <<-END_VERSIONS > versions.yml
"NFCORE_MAG:mag:BINNING:BINNING_METABINNER:METABINNER_TOOSHORT":
MetaBinner: 1.4.4-0
python: $(python --version 2>&1 | sed 's/Python //g')
END_VERSIONS
Command exit status:
1
Command output:
(empty)
Command error:
/usr/bin/which: no run_metabinner.sh in (/home/UNN/w20041368/work/conda/env-e0738a3f4742338fdc3405bn:/usr/bin:/usr/local/sbin:/usr/sbin:/home/UNN/w20041368/.nextflow/assets/nf-core/mag/bin)usr/local/bin
dirname: missing operand
Try 'dirname --help' for more information.
ran again with
--skip_metabinner
and produced another error! I'm not having any luck at all.
-[nf-core/mag] Pipeline completed with errors-
`[06/b5e24e] NOTE: Process
NFCORE_MAG:mag:BIN_QC:BUSCO_BUSCO (MEGAHIT-SemiBin2-SG_R1R2)
terminated with an error exit status (1) -- Error is ignored`
ERROR ~ Error executing process > 'NFCORE_MAG:mag:GTDBTK:GTDBTK_SUMMARY'
Caused by:
`Process
NFCORE_MAG:mag:GTDBTK:GTDBTK_SUMMARY
terminated with an error exit status (1)`
Command executed:
summary_gtdbtk.py --extension fa     --out gtdbtk_summary.tsv
cat <<-END_VERSIONS > versions.yml
"NFCORE_MAG:mag:GTDBTK:GTDBTK_SUMMARY":
python: $(python --version 2>&1 | sed 's/Python //g')
pandas: $(python -c "import pkg_resources; print(pkg_resources.get_distribution('pandas').version)")
END_VERSIONS
Command exit status:
1
Command output:
(empty)
Command error:
Either --summaries, --filtered_bins, --failed_bins or --qc_discarded_bins must be specified!
j
For metabinner it look to me like a badly build conda environment (or some incompatibilty with your system, can you use something like
apptainer
or
singularity
? This would be more robust)
For the GTDBtk error, this may be because your MAGs didn't pass through all the completeness/contamination filters - or something silently failed (hopefully not). If they didn't get through teh filtures it should have given you a warning on the console though. Could you share your
.nextflow.log
h
Unfortunately I'm on a university HPC cluster that only has conda, and I don't have permission to install anything new. I know other researchers here use this pipeline with no issue!
j
Do you have output in the
results/taxonomy/gtdbtk
folder?
h
No, there's no /taxonomy directory
j
👀
OK indeed, GTDBTK_ClASSIFYWF didn't execuite at all..
Do you have
tree
installed?
OK I think I know why
We have two reasons
1.
--binqc_tool
no longer exists, we've replaced them in 5.3 with distinct flags https://nf-co.re/mag/5.4.0/parameters/#bin-quality-check-options 2. BUSCO is still running by default in your run, however all the BUSCO jobs are failing with exist status
1
(which is ignored, as BUSCO is really hard to track errors):
Copy code
error [nextflow.exception.ProcessFailedException]: Process `NFCORE_MAG:MAG:BIN_QC:BUSCO_BUSCO (MEGAHIT-MaxBin2-SG_R1R2)` terminated with an error exit status (1)
So firstly, I think if you try with
--run_checkm2
, you should hopefully get it to work, but you should also check the BUSCO logs to find out why it's failed
I will make an issue to prevent the pipelien from continuing if it all fails