bactopia / bactopia

A flexible pipeline for complete analysis of bacterial genomes
https://bactopia.github.io
MIT License
417 stars 72 forks source link

Error executing process > 'BACTOPIA:DUMPSOFTWAREVERSIONS (1)' #573

Open haruosuz opened 1 week ago

haruosuz commented 1 week ago

I installed bacteria v3.1.0 using the following steps.

https://bactopia.github.io/v3.1.0/installation/
MambaForge Install Instructions

https://github.com/conda-forge/miniforge
As of July 2024, Mambaforge is deprecated. We suggest users switch to Miniforge3 immediately. 

Install
Unix-like platforms (macOS & Linux)

wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
https://bactopia.github.io/v3.1.0/installation/#installation

mamba create -n bactopia -c conda-forge -c bioconda bactopia

conda activate bactopia

Then, I attempted to prepare and run Bactopia using the following commands.

https://github.com/bactopia/bactopia/issues/433

bactopia-prepare --path data/fna/ --assembly-ext '.fna' > assemblies.txt

bactopia --samples assemblies.txt --outdir bactopia-assemblies/

When running the above command, I encountered the following error:

Error executing process > 'BACTOPIA:DUMPSOFTWAREVERSIONS (1)'
rpetit3 commented 1 week ago

Hi @haruosuz

Thank you pointing out I need to update the docs to Miniforge, I had over looked that. I will update it.

Can you share more of the message here related to this? BACTOPIA:DUMPSOFTWAREVERSIONS (1)

Also, what kind of system are you running Bactopia on? (Linux, Apple (intel, m1/2/3), cluster, etc...)

Thank you for reporting this! Robert

haruosuz commented 1 week ago

Hi @rpetit3

Thank you for the quick response.

Attached is the log file generated by running Bactopia with

(bash ./run_bactopia3.sh &) >& log.run_bactopia3.sh.$(date +%F-%H%M).txt

log.run_bactopia3.sh.2024-11-13-2152.txt

Here are the details of the system on which I am running Bactopia.

$ uname -a
Linux iris13 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 GNU/Linux

$ cat /etc/os-release
NAME="AlmaLinux"
VERSION="8.9 (Midnight Oncilla)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.9"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.9 (Midnight Oncilla)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.9"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.9"

$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           2
NUMA node(s):        2
Vendor ID:           GenuineIntel
CPU family:          6
Model:               45
Model name:          Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
Stepping:            7
CPU MHz:             3800.000
CPU max MHz:         3800.0000
CPU min MHz:         1200.0000
BogoMIPS:            5799.68
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            20480K
NUMA node0 CPU(s):   0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30
NUMA node1 CPU(s):   1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d

$ mamba -V
mamba 1.5.9
conda 24.9.2
rpetit3 commented 1 week ago

In this directory /home/haruo/tools/my_bactopia/my_iris13/work/fe/9b4bb7358a9aeee389f16c439b91b3 there should be a versions.yml or something similar. Can you share the contents of that file?

haruosuz commented 1 week ago

Hi @rpetit3,

Attached is the compressed file of the directory containing the versions.yml file. 625b9b25ff37991fad20bf8891982d.tgz

rpetit3 commented 1 week ago

oh that is a bit of a problem,

Does find /home/haruo/tools/my_bactopia/my_iris13/work/tmp -name "*.yml" bring anything back?

haruosuz commented 1 week ago

Sorry for my misunderstanding. I have updated the above message (attached file).

rpetit3 commented 1 week ago

Looks related to Perl and parsing out the correct version information.

perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "ja_JP.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("ja_JP.UTF-8").

Let me play with this real quick. This is purely a parsing issue and not related to you setup.

Going to try and replicate and will update very soon

rpetit3 commented 1 week ago

Cool I can duplicate, will fix it

LANG="ja_JP.UTF-8" dragonflye --version
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "ja_JP.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
dragonflye 1.2.1
rpetit3 commented 1 week ago

Hi @haruosuz

Thank you very much for bringing this to my attention. I have now fixed this in https://github.com/bactopia/bactopia/commit/9eb4501d7ccb8bf86004cea95a13f2e32a94bb4e but I think there might be other version capture errors like this you might find later

Specifically here: https://github.com/bactopia/bactopia/blob/dev/modules/local/bactopia/assembler/main.nf#L241

and here: https://github.com/bactopia/bactopia/blob/dev/modules/nf-core/mlst/main.nf#L60

If you want to give it a try now, you can manually edit those files, or use my dev build

mamba create -n bactopia-dev -c rpetit3 -c conda-forge -c bioconda bactopia
haruosuz commented 1 week ago

Hi @rpetit3,

Running bactopia --help creates the bactopia directory. Is this expected behavior?

$ bactopia --help

$ find . -maxdepth 1
./.nextflow.log
./.nextflow
./work
./bactopia

$ find bactopia
bactopia
bactopia/bactopia-runs
bactopia/bactopia-runs/bactopia-20241114-154552
bactopia/bactopia-runs/bactopia-20241114-154552/nf-reports
bactopia/bactopia-runs/bactopia-20241114-154552/nf-reports/bactopia-trace.txt

$ cat bactopia/bactopia-runs/bactopia-20241114-154552/nf-reports/bactopia-trace.txt
task_id hash    native_id       process tag     name    status  exit    module  container       cpus    time    disk
        memory  attempt start   complete        duration        realtime        queue   %cpu    %mem    rss     vmem
rpetit3 commented 1 week ago

That is expected behavior.

The --help is built into the Nextflow side of Bacotpia, so it will launch Nextflow, Nextflow will create the work .nextflow.log and .nextflow, then the custom bactopia-runs folder.

It might be possible to remove this behavior (folder and file creation) but probably way more time than its worth.

haruosuz commented 1 week ago

Hi @rpetit3,

I would be grateful if you could provide some advice regarding example code for performing annotation, pangenome, and phylogenetic analyses in the pangenome subworkflow. Would the following code be appropriate for this (using Prokka, PIRATE, IQ-TREE, and ModelFinder to determine the best-fit model)?

bactopia --wf pangenome --bactopia bactopia/ --proteins "${FASTA}" --pan_opt "--evalue 1E-6" --para_off --align --rplots --skip_recombination --iqtree_model MFP

Below are quotes from references related to the command above:

https://bactopia.github.io/v3.0.0/bactopia-tools/prokka/#prokka-parameters
https://bactopia.github.io/latest/bactopia-tools/pangenome/#prokka-parameters
Parameter   Description
--proteins  FASTA file of trusted proteins to first annotate from

https://github.com/tseemann/prokka/blob/master/README.md#command-line-options

  --proteins [X]    Fasta file of trusted proteins to first annotate from (default '')

To use the PIRATE parameters --align and --rplots with bactopia --wf pangenome, should these parameters be placed inside or outside of --pan_opt?

https://bactopia.github.io/latest/bactopia-tools/pirate/#pirate-parameters
https://bactopia.github.io/latest/bactopia-tools/pangenome/#pirate-parameters
Parameter   Description

--pan_opt   Additional arguments to pass to pangenome contruction.
Type: string

https://github.com/SionBayliss/PIRATE/blob/master/README.md#usage

 Global:

 --pan-opt      additional arguments to pass to pangenome_contruction

 Output:
 -a|--align     align all genes and produce core/pangenome alignments 
                [default: off]
 -r|--rplots        plot summaries using R [requires dependencies]

https://github.com/SionBayliss/PIRATE/blob/master/README.md#advanced-examples

Regarding "Substitution model name", the default parameter is --m MFP for bactopia --wf iqtree, while it is -m HKY for bactopia --wf pangenome, as shown below?

https://bactopia.github.io/latest/bactopia-tools/iqtree/#iq-tree-parameters
bactopia --wf iqtree

Parameter   Description Default
--m Substitution model name MFP

https://bactopia.github.io/latest/bactopia-tools/pangenome/#iq-tree-parameters
Parameter   Description
--iqtree_model  Substitution model name
Type: string, Default: HKY

http://www.iqtree.org/doc/Tutorial#choosing-the-right-substitution-model
-m is the option to specify the model name to use during the analysis. The special MFP key word stands for ModelFinder Plus, which tells IQ-TREE to perform ModelFinder and the remaining analysis using the selected model.