oschwengers / bakta

Rapid & standardized annotation of bacterial genomes, MAGs & plasmids
GNU General Public License v3.0
455 stars 55 forks source link

Exception: amrfinder error! error code: 1 #241

Closed gidjes closed 1 year ago

gidjes commented 1 year ago

Describe the bug Running bakta gives to following error for some fasta files. I have about 1,500 sequences and the bakta pipeline returns this error on a couple of them. I have tried updating the amrfinder database, downloading the light version, neither of which work. I've also tried running AMRfinder seperately on the sequence and that does work, so the problem seems to be when it comes back to Bakta. Help would be greatly appreciated, because I can't tell why this fails but other don't!

Command: bakta --db bakta_db/db/db/ --prefix 55001924_1 --output 'output/bakta/chromosomes/55001924_1' --force --replicons "output/bakta/chromosomes/55001924_1/replicons.tsv" --genus Klebsiella --species pneumoniae --complete ../fastas_chrom/55001924_1.fasta

Command line output: parse genome sequences... imported: 1 filtered & revised: 1 chromosomes: 1

start annotation... predict tRNAs... found: 89 predict tmRNAs... found: 1 predict rRNAs... found: 25

predict ncRNAs... found: 81 predict ncRNA regions... found: 51 predict CRISPR arrays... found: 2 predict & annotate CDSs... predicted: 4967 discarded spurious: 4 revised translational exceptions: 3 detected IPSs: 4871 found PSCs: 77 found PSCCs: 7 lookup annotations... conduct expert systems... Traceback (most recent call last): File "/mnt/scratch_dir/teunisg/.conda/envs/bakta/bin/bakta", line 10, in sys.exit(main()) File "/mnt/scratch_dir/teunisg/.conda/envs/bakta/lib/python3.10/site-packages/bakta/main.py", line 269, in main expert_amr_found = exp_amr.search(cdss, cds_aa_path) File "/mnt/scratch_dir/teunisg/.conda/envs/bakta/lib/python3.10/site-packages/bakta/expert/amrfinder.py", line 47, in search raise Exception(f"amrfinder error! error code: {proc.returncode}. Please, try 'amrfinder_update --force_update --database {amrfinderplus_db_path}' to update AMRFinderPlus's internal database.") Exception: amrfinder error! error code: 1. Please, try 'amrfinder_update --force_update --database /data/BioGrid/teunisg/cluster_analysis/bakta_db/db/db/amrfinderplus-db' to update AMRFinderPlus's internal database.

I have attached a failed sequence. 55001924_1.fasta.zip

Detailed log: Attached log 55001924_1.log

Installed through Conda

Daniel-VM commented 1 year ago

Hi!,

I had the same issue with docker. In my case I used the database db-light.tar.gz from https://zenodo.org/records/7669534. it worked after amrfinder_update --force_update --database ${BAKTADB}/amrfinderplus-db.

Could the Bakta databases be updated in Zenodo to solve the issue by fixing amrfinderplus-db?.

Many thanks!

Daniel-VM commented 1 year ago

Downloading db-light with bakta v1.8.1(bakta_db download --type light) and running gene-annotation with bakta v1.8.2 wokrs.

It also works with bakta v1.8.1. See: Issue#221

oschwengers commented 1 year ago

Hi, @gidjes & @Daniel-VM , I just conducted another up-to-date round trip test in a fresh Conda environment for both Bakta v1.8.1 and v1.8.2 downloading v5.0 of the light db from Zenodo annotating the provided genome (55001924_1.fasta.zip). Of note, internally, AMRFinderplus v3.11.26 is used.

mamba create -p ./conda-env bakta=[1.8.1|1.8.2]
mamba activate conda-env
bakta_db download --type light
bakta --db ./db-light/ --verbose --output test 55001924_1.fasta

After fixing the FASTA header line of this file bakta succeeded w/o any errors. So, unfortunately, I cannot reproduce this error. Maybe an update of AMRFinder itself might help?

Daniel-VM commented 1 year ago

Many thanks @oschwengers!!! I confirm that Bakta v1.8.2 works now with db-light 🚀 . So no need to mix versions :)