gbouras13 / pharokka

fast phage annotation program
MIT License
148 stars 16 forks source link

AttributeError: module 'pyrodigal' has no attribute 'OrfFinder' #297

Closed gbouras13 closed 1 year ago

gbouras13 commented 1 year ago

From @Taiwomercy here https://github.com/gbouras13/pharokka/issues/235#issuecomment-1732455157.

Hi, I am trying to specify that pharokka predict my genes with prodigal and not phanotate, everything works fine when I did not specify -g prodigal but I keep getting error when I specify prodigal as the gene predictor.

Here is the command:

pharokka.py -i /users/PDS0325/taiwomercy/AzotobacterPhages_Sequencing/data/short_reads/Fasta/Vincere.fas ta -o /users/PDS0325/taiwomercy/AzotobacterPhages_Sequencing/data/processed_v2/Pharokka_annotate/vincere_short_pharokprodgal -d /users/PDS0325/taiwomercy/bio informatics_tools/pharokka/ -g prodigal -t 8

Here is the error:

Traceback (most recent call last): File "/users/PDS0325/taiwomercy/bioinformatics_tools/miniconda3/envs/pharokkaENV/bin/pharokka.py", line 447, in main() File "/users/PDS0325/taiwomercy/bioinformatics_tools/miniconda3/envs/pharokkaENV/bin/pharokka.py", line 278, in main run_pyrodigal(input_fasta, out_dir, args.meta, args.coding_table) File "/users/PDS0325/taiwomercy/bioinformatics_tools/miniconda3/envs/pharokkaENV/bin/processes.py", line 276, in run_pyrodigal orf_finder = pyrodigal.OrfFinder(meta=prodigal_metamode) AttributeError: module 'pyrodigal' has no attribute 'OrfFinder' (pharokkaENV) [taiwomercy@owens-login04 miniconda3]$

gbouras13 commented 1 year ago

The issue is caused by pharokka pre v1.5.0 being installed with pyrodigal v3. Pyrodigal v3 was recently released with a changed API.

Pharokka v1.5.0 fixes these issues. I am working on putting v1.5.0 on conda but am running into some trouble. For now the solution to this is to install pharokka v1.5.0 from source or from pip.

For you @Taiwomercy I would simply recommend upgrading pharokka in your pharokkaENV as follows.

conda activate pharokkaENV
pip install pharokka==1.5.0
# to also upgrade dnaapler, a dependency of pharokka
pip install dnaapler==0.3.2

For others running into this issue please install pharokka below using either option as follows until a conda installation is available for v1.5.0:

Source

# download pharokka from GitHub
git clone https://github.com/gbouras13/pharokka.git
cd pharokka
# install non python dependencies
conda env create -f environment.yml
conda activate pharokka_env
# assuming you are in the pharokka directory 
# installs pharokka from source
pip install -e .
pharokka.py --help

Pip

# download pharokka from GitHub
git clone https://github.com/gbouras13/pharokka.git
cd pharokka
# install non python dependencies
conda env create -f environment.yml
conda activate pharokka_env
# installs pharokka form pip
pip install pharokka==1.5.0
gbouras13 commented 1 year ago

Closing this now v1.5.0 is on bioconda.