geronimp / graftM

GraftM - Rapid community profiles from metagenomes
http://geronimp.github.io/graftM/
GNU General Public License v3.0
44 stars 16 forks source link

Getting ZeroDivisionError when running with sample data #275

Closed melodymale closed 3 years ago

melodymale commented 3 years ago

I tried this command graftM graft --forward sample_mcrA_1.fa sample_mcrA_2.fa --graftm_package 7.27.methyl_coenzyme_reductase_alpha_subunit.mcrA.gpkg and got this error

Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/bin/graftM", line 415, in <module>
    Run(args).main()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/run.py", line 613, in main
    self.graft()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/run.py", line 388, in graft
    diamond_db
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/timeit.py", line 10, in timed
    result = method(*args, **kw)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/sequence_searcher.py", line 851, in aa_db_search
    hit_reads_orfs_fasta)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/sequence_searcher.py", line 905, in search_and_extract_orfs_matching_protein_database
    unpack.sequence_type(),
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/unpack_sequences.py", line 92, in sequence_type
    self.type = self._guess_sequence_type_from_string(seq)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/unpack_sequences.py", line 74, in _guess_sequence_type_from_string
    if float(num_protein) / (num_protein+num_nucleotide) > 0.1:
ZeroDivisionError: float division by zero

Do you have any suggestions? Thank you

wwood commented 3 years ago

Hi.

I think perhaps your input files sample_mcrA_1.fa sample_mcrA_2.fa are either corrupt or not uncompressed fasta files (GraftM detects using the filename extension i.e. ".fa" here). Is that true?

melodymale commented 3 years ago

Thank you for your response I download them from https://github.com/geronimp/graftM/tree/master/example_data/graft Not sure it is corrupt or not

melodymale commented 3 years ago

I tried graftM again with my fastq graftM graft --forward sample_mcra_1.fastq sample_mcra_2.fastq --graftm_package 7.27.methyl_coenzyme_reductase_alpha_subunit.mcrA.gpkg

and I got this message

Traceback (most recent call last):
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/bin/graftM", line 415, in <module>
    Run(args).main()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/run.py", line 613, in main
    self.graft()
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/run.py", line 388, in graft
    diamond_db
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/timeit.py", line 10, in timed
    result = method(*args, **kw)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/sequence_searcher.py", line 851, in aa_db_search
    hit_reads_orfs_fasta)
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/sequence_searcher.py", line 943, in search_and_extract_orfs_matching_protein_database
    hits
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/graftm/sequence_searcher.py", line 534, in _extract_from_raw_reads
    extern.run(extract_cmd, stdin='\n'.join(input_reads))
  File "/opt/homebrew/Caskroom/miniconda/base/envs/graftM/lib/python3.6/site-packages/extern/__init__.py", line 41, in run
    raise ExternCalledProcessError(process, command)
extern.ExternCalledProcessError: Command mfqe --output-uncompressed --fasta-read-name-lists /dev/stdin --input-fasta <(awk '{print ">" substr($0,2);getline;print;getline;getline}' 'sample_mcra_1.fastq') --output-fasta-files '/var/folders/jl/1b7yxtn10vd9qdd2qzwc49tc0000gn/T/_raw_extracted_reads.fad_z10r6l' returned non-zero exit status 126.
STDERR was: b'bash: /Users/melodymale/mfqe-static-x86_64-unknown-linux-musl-0.5.0/mfqe: cannot execute binary file\n'STDOUT was: b''
wwood commented 3 years ago

Hi,

Looks to me like there is something wrong with your mfqe installation. Maybe try install through conda instead of downloading the linux-musl version (or compiling it from scratch), since you are on OSX rather than linux, I think.

melodymale commented 3 years ago

@wwood Thanks for replying

I tried to install mfqe from conda but there is no osx version.

wwood commented 3 years ago

Ah, right. I tried pushing mfqe to conda for OSX but initial attempts failed. That might require some debugging.

I don't immediately have access to an OSX box. Would you be able to try compiling mfqe from source? You just clone the repo at https://github.com/wwood/mfqe , cd mfqe, then cargo build --release. You'll need to install rust too, which you can from the instructions at https://www.rust-lang.org/tools/install

Or, you could wait for me to get to it. Not sure when that will be though, sorry.

melodymale commented 3 years ago

@wwood Thank you for your suggestion. I tried to build with cargo and it worked. 🙏🏻