ncbi / amr

AMRFinderPlus - Identify AMR genes and point mutations, and virulence and stress resistance genes in assembled bacterial nucleotide and protein sequence.
https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder/
Other
277 stars 40 forks source link

hmmsearch is failing to execute properly #144

Closed xeniaroda29 closed 4 months ago

xeniaroda29 commented 5 months ago

I encountered an error while running AMRFinderPlus, specifically during the hmmsearch step. The process terminates with a std::runtime_error and a core dump. Here are the detailed steps I followed, the command I used, and the exact error message.

Steps to reproduce: 1. Install AMRFinderPlus via Conda: conda create -y -c conda-forge -c bioconda -n amrfinder ncbi-amrfinderplus conda activate amrfinder

2. Download the Latest Database: wget -r -np -nH --cut-dirs=6 ftp://ftp.ncbi.nlm.nih.gov/pathogen/Antimicrobial_resistance/AMRFinderPlus/database/latest/

3. Create the BLAST Database: I created the BLAST database from the AMRProt FASTA file: makeblastdb -in AMRProt -dbtype prot -out AMRProt

4. Run AMRFinderPlus: amrfinder -p Bacillus.faa --protein_output Bacillus_AMR.fasta -o Bacillus_AMR.output --database /amrfinder/share/data/latest --threads 10

ERROR message:

Running blastp CHRON: blastp: 13 sec. Running hmmsearch terminate called after throwing an instance of 'std::runtime_error' what(): '/amrfinder/bin/hmmsearch' --tblout /tmp/amrfinder.5bJXAw/hmmsearch_dir/2 --noali --domtblout /tmp/amrfinder.5bJXAw/dom_dir/2 --cut_tc -Z 10000 --cpu 0 /tmp/amrfinder.5bJXAw/db/AMR.LIB /tmp/amrfinder.5bJXAw/hmm_chunk/2 > /dev/null 2> /dev/null status = 256 Aborted (core dumped)

vbrover commented 5 months ago

What happens if you run this command?

/amrfinder/bin/hmmsearch
xeniaroda29 commented 4 months ago

What happens if you run this command?

/amrfinder/bin/hmmsearch

At first, I though hmmsearchwas not installed correctly. Then I used the following command to ensure amrfinderhas access to hmmsearch:

export PATH=/media/conda_environments/amrfinder/bin:$PATH Despite this, I encountered the same error as before when running amrfinder:

Running blastp Running hmmsearch terminate called after throwing an instance of 'std::runtime_error' what(): '/media/sequentia/isilon/conda_environments/consultoria1/amrfinder/bin/hmmsearch' --tblout /tmp/amrfinder.l2BE5h/hmmsearch_dir/10 --noali --domtblout /tmp/amrfinder.l2BE5h/dom_dir/10 --cut_tc -Z 10000 --cpu 0 /tmp/amrfinder.l2BE5h/db/AMR.LIB /tmp/amrfinder.l2BE5h/hmm_chunk/10 > /dev/null 2> /dev/null status = 256 Aborted (core dumped)

Additional Information: The path to hmmsearch is correct, and the executable is accessible. The input files and database paths specified in the command are correct and accessible. The system has sufficient resources (memory and CPU) to handle the operation.

xeniaroda29 commented 4 months ago

Then I tried to use this command: amrfinder_index /media/sequentia/isilon/conda_environments/consultoria1/amrfinder/share/data/latest/ In order to generate AMR.LIB.h3, AMRProt.p??, and AMR_DNA-.n?? files in the database directory that are used by HMMER and BLAST when running AMRFinderPlus. Posted in: https://github.com/ncbi/amr/wiki/amrfinder_index

But now it says: ERROR '/media/sequentia/isilon/conda_environments/consultoria1/amrfinder/bin/hmmpress' -f '/media/sequentia/isilon/conda_environments/consultoria1/amrfinder/share/data/latest/AMR.LIB' > /dev/null 2> /tmp/amrfinder_index.qcR2KY/hmmpress.err status = 256 bad file format in HMM file /media/conda_environments//amrfinder/share/data/latest/AMR.LIB

Could the AMR.LIB file be improperly formatted?

Thanks in advance,

Xènia

vbrover commented 4 months ago

Could you post the result of this command?

ls -laF /amrfinder/share/data/latest/
vbrover commented 4 months ago

I am not sure your installation steps were correct. Anyway, this command will install the database files needed for AMRFinderPlus:

amrfinder -u

Then you can run your original AMRFinderPlus command without the --database option:.

amrfinder -p Bacillus.faa --protein_output Bacillus_AMR.fasta -o Bacillus_AMR.output --threads 10
xeniaroda29 commented 4 months ago

I am not sure your installation steps were correct. Anyway, this command will install the database files needed for AMRFinderPlus:

amrfinder -u

Then you can run your original AMRFinderPlus command without the --database option:.

amrfinder -p Bacillus.faa --protein_output Bacillus_AMR.fasta -o Bacillus_AMR.output --threads 10

Thanks for your help @vbrover !

I wanted to update everyone that I was able to resolve all the issues I encountered by using the Docker installation of AMRFinder. The Docker container provided a consistent and isolated environment, which helped avoid the dependency and path issues I was facing earlier.

Thanks for your quick answers and support!

I'm closing this issue now.