davidemms / OrthoFinder

Phylogenetic orthology inference for comparative genomics
https://davidemms.github.io/
GNU General Public License v3.0
667 stars 185 forks source link

Error: Species tree inference failed #835

Open emdtr opened 1 year ago

emdtr commented 1 year ago

Hello,

I'm running into an error with v 2.5.5: "ERROR: Species tree inference failed / local variable 'speciesTree' referenced before assignment"

I think this might be a similar error to one previously reported (#782). I tried changing the python version in my conda environment to one earlier than 3.11 (3.10.8) but got the same error.

Any help would be much appreciated. Thanks!

Analysing Orthogroups

Calculating gene distances

2023-06-16 16:09:29 : Done Using fallback species tree inference method /Users/emilytrudeau/miniconda3/lib/python3.10/site-packages/numpy/core/fromnumeric.py:3464: RuntimeWarning: Mean of empty slice. return _methods._mean(a, axis=axis, dtype=dtype, /Users/emilytrudeau/miniconda3/lib/python3.10/site-packages/numpy/core/_methods.py:192: RuntimeWarning: invalid value encountered in scalar divide ret = ret.dtype.type(ret / rcount)

Inferring gene and species trees

2023-06-16 16:09:29 : Done 0 of 5

Best outgroup(s) for species tree

2023-06-16 16:09:31 : Starting STRIDE ERROR: Species tree inference failed local variable 'speciesTree' referenced before assignment File "/Users/emilytrudeau/miniconda3/bin/scripts_of/main.py", line 1790, in main GetOrthologues(speciesInfoObj, options, prog_caller) File "/Users/emilytrudeau/miniconda3/bin/scripts_of/main.py", line 1550, in GetOrthologues orthologues.OrthologuesWorkflow(speciesInfoObj.speciesToUse, File "/Users/emilytrudeau/miniconda3/bin/scripts_of/orthologues.py", line 1047, in OrthologuesWorkflow roots, clusterscounter, rootedSpeciesTreeFN, nSupport, , _, stride_dups = stride.GetRoot(spTreeFN_ids, files.FileHandler.GetOGsTreeDir(), stride.GeneToSpecies_dash, nHighParallel, qWriteRootedTree=True) File "/Users/emilytrudeau/miniconda3/bin/scripts_of/stride.py", line 513, in GetRoot species, dict_clades, clade_names = AnalyseSpeciesTree(speciesTree) Traceback (most recent call last): File "/Users/emilytrudeau/miniconda3/bin/orthofinder", line 7, in main(args) File "/Users/emilytrudeau/miniconda3/bin/scripts_of/main.py", line 1790, in main GetOrthologues(speciesInfoObj, options, prog_caller) File "/Users/emilytrudeau/miniconda3/bin/scripts_of/main.py", line 1550, in GetOrthologues orthologues.OrthologuesWorkflow(speciesInfoObj.speciesToUse, File "/Users/emilytrudeau/miniconda3/bin/scripts_of/orthologues.py", line 1047, in OrthologuesWorkflow roots, clusterscounter, rootedSpeciesTreeFN, nSupport, , _, stride_dups = stride.GetRoot(spTreeFN_ids, files.FileHandler.GetOGsTreeDir(), stride.GeneToSpecies_dash, nHighParallel, qWriteRootedTree=True) File "/Users/emilytrudeau/miniconda3/bin/scripts_of/stride.py", line 513, in GetRoot species, dict_clades, clade_names = AnalyseSpeciesTree(speciesTree) UnboundLocalError: local variable 'speciesTree' referenced before assignment

joao1980 commented 1 year ago

Hi, I also obtained this error even after getting the latest version of OrthoFinder. Any updates?

Please find my output below. OrthoFinder version 2.5.5 Copyright (C) 2014 David Emms

2023-07-13 14:12:23 : Starting OrthoFinder 2.5.5 12 thread(s) for highly parallel tasks (BLAST searches etc.) 1 thread(s) for OrthoFinder algorithm

Checking required programs are installed

Test can run "mcl -h" - ok Test can run "fastme -i ./OrtSuite/project/orthofinder_results/Results_Jul13/WorkingDirectory/dependencies/SimpleTest.phy -o ./OrtSuite/project/orthofinder_results/Results_Jul13/WorkingDirectory/dependencies/SimpleTest.tre" - ok

WARNING: Files have been ignored as they don't appear to be FASTA files: info_db.csv info_db.json OrthoFinder expects FASTA files to have one of the following extensions: fas, fa, pep, faa, fasta

Dividing up work for BLAST for parallel processing

2023-07-13 14:12:23 : Creating diamond database 1 of 4 2023-07-13 14:12:23 : Creating diamond database 2 of 4 2023-07-13 14:12:23 : Creating diamond database 3 of 4 2023-07-13 14:12:23 : Creating diamond database 4 of 4

Running diamond all-versus-all

Using 12 thread(s) 2023-07-13 14:12:23 : This may take some time.... 2023-07-13 14:12:23 : Done 0 of 16 2023-07-13 14:12:37 : Done all-versus-all sequence search

Running OrthoFinder algorithm

2023-07-13 14:12:37 : Initial processing of each species WARNING: Too few hits between species 0 and species 1 to normalise the scores, these hits will be ignored WARNING: Too few hits between species 0 and species 2 to normalise the scores, these hits will be ignored WARNING: Too few hits between species 0 and species 3 to normalise the scores, these hits will be ignored 2023-07-13 14:12:37 : Initial processing of species 0 complete WARNING: Too few hits between species 1 and species 0 to normalise the scores, these hits will be ignored WARNING: Too few hits between species 1 and species 2 to normalise the scores, these hits will be ignored 2023-07-13 14:12:37 : Initial processing of species 1 complete WARNING: Too few hits between species 2 and species 0 to normalise the scores, these hits will be ignored WARNING: Too few hits between species 2 and species 1 to normalise the scores, these hits will be ignored WARNING: Too few hits between species 2 and species 3 to normalise the scores, these hits will be ignored 2023-07-13 14:12:37 : Initial processing of species 2 complete WARNING: Too few hits between species 3 and species 0 to normalise the scores, these hits will be ignored WARNING: Too few hits between species 3 and species 2 to normalise the scores, these hits will be ignored 2023-07-13 14:12:37 : Initial processing of species 3 complete 2023-07-13 14:12:39 : Connected putative homologues 2023-07-13 14:12:39 : Written final scores for species 0 to graph file 2023-07-13 14:12:39 : Written final scores for species 1 to graph file 2023-07-13 14:12:39 : Written final scores for species 2 to graph file 2023-07-13 14:12:39 : Written final scores for species 3 to graph file 2023-07-13 14:12:39 : Ran MCL

Writing orthogroups to file

OrthoFinder assigned 1242 genes (88.0% of total) to 63 orthogroups. Fifty percent of all genes were in orthogroups with 58 or more genes (G50 was 58) and were contained in the largest 9 orthogroups (O50 was 9). There were 0 orthogroups with all species present and 0 of these consisted entirely of single-copy genes.

2023-07-13 14:12:39 : Done orthogroups

Analysing Orthogroups

Calculating gene distances

2023-07-13 14:12:42 : Done Using fallback species tree inference method /usr/local/lib/python3.6/site-packages/numpy/core/fromnumeric.py:3373: RuntimeWarning: Mean of empty slice. out=out, **kwargs) /usr/local/lib/python3.6/site-packages/numpy/core/_methods.py:170: RuntimeWarning: invalid value encountered in double_scalars ret = ret.dtype.type(ret / rcount)

Inferring gene and species trees

2023-07-13 14:12:43 : Done 0 of 40 2023-07-13 14:12:43 : Done 10 of 40 2023-07-13 14:12:43 : Done 20 of 40

Best outgroup(s) for species tree

2023-07-13 14:12:44 : Starting STRIDE ERROR: Species tree inference failed local variable 'speciesTree' referenced before assignment File "/app/OrthoFinder/scripts_of/main.py", line 1790, in main GetOrthologues(speciesInfoObj, options, prog_caller) File "/app/OrthoFinder/scripts_of/main.py", line 1569, in GetOrthologues options.qSplitParaClades) File "/app/OrthoFinder/scripts_of/orthologues.py", line 1047, in OrthologuesWorkflow roots, clusterscounter, rootedSpeciesTreeFN, nSupport, , _, stride_dups = stride.GetRoot(spTreeFN_ids, files.FileHandler.GetOGsTreeDir(), stride.GeneToSpecies_dash, nHighParallel, qWriteRootedTree=True) File "/app/OrthoFinder/scripts_of/stride.py", line 513, in GetRoot species, dict_clades, clade_names = AnalyseSpeciesTree(speciesTree) Traceback (most recent call last): File "./OrthoFinder/orthofinder.py", line 7, in main(args) File "/app/OrthoFinder/scripts_of/main.py", line 1790, in main GetOrthologues(speciesInfoObj, options, prog_caller) File "/app/OrthoFinder/scripts_of/main.py", line 1569, in GetOrthologues options.qSplitParaClades) File "/app/OrthoFinder/scripts_of/orthologues.py", line 1047, in OrthologuesWorkflow roots, clusterscounter, rootedSpeciesTreeFN, nSupport, , _, stride_dups = stride.GetRoot(spTreeFN_ids, files.FileHandler.GetOGsTreeDir(), stride.GeneToSpecies_dash, nHighParallel, qWriteRootedTree=True) File "/app/OrthoFinder/scripts_of/stride.py", line 513, in GetRoot species, dict_clades, clade_names = AnalyseSpeciesTree(speciesTree) UnboundLocalError: local variable 'speciesTree' referenced before assignment

jmagui commented 7 months ago

I'm having the same issue--did either of you end up figuring out a work around?

JDuffyEx commented 3 months ago

Same issue for me, running a range of complete and incomplete viral proteomes, I can only get species tree inference to work by excluding smaller proteomes. Wondering if there is a workaround or if either of you figured out a solution?

Buckaroo1 commented 1 month ago

Same problem when using the command on ExampleData: $ orthofinder -M msa -T iqtree -f ExampleData/