biobakery / phylophlan

Precise phylogenetic analysis of microbial isolates and genomes from metagenomes
https://huttenhower.sph.harvard.edu/phylophlan
MIT License
128 stars 33 forks source link

local variable 'out' referenced before assignment #7

Closed mcahn closed 4 years ago

mcahn commented 4 years ago

This command:

phylophlan -i test_genomes -d phylophlan -o sbtest --diversity high -f supertree_aa.cfg --maas phylophlan.tsv

is gving this error:

Traceback (most recent call last): File "/tigress/MOLBIO/local/pythonenv/phylophlan/bin/phylophlan", line 11, in <module> load_entry_point('PhyloPhlAn==3.0', 'console_scripts', 'phylophlan')() File "/tigress/MOLBIO/local/pythonenv/phylophlan/lib/python3.7/site-packages/PhyloPhlAn-3.0-py3.7.egg/phylophlan/phylophlan.py", line 3194, in phylophlan_main standard_phylogeny_reconstruction(project_name, configs, args, db_dna, db_aa) File "/tigress/MOLBIO/local/pythonenv/phylophlan/lib/python3.7/site-packages/PhyloPhlAn-3.0-py3.7.egg/phylophlan/phylophlan.py", line 2983, in standard_phylogeny_reconstruction build_gene_tree(configs, 'gene_tree1', sub_mod, inp_f, out_f, nproc=args.nproc, verbose=args.verbose) File "/tigress/MOLBIO/local/pythonenv/phylophlan/lib/python3.7/site-packages/PhyloPhlAn-3.0-py3.7.egg/phylophlan/phylophlan.py", line 2376, in build_gene_tree if (not os.path.isfile(os.path.join(output_folder, out))) and \ UnboundLocalError: local variable 'out' referenced before assignment

I think that's because the "if" block starting at line 2376 is supposed to be indented under the "for" loop just above it.

-- Matthew Cahn

fasnicar commented 4 years ago

Dear Matthew,

Thank you very much for pointing out this. Indeed there were wrong indentations in that block, may due to some code refactoring. I have fixed it with the commit 6424a54570a6891c568e921d5a09e7379a6c15f8, the Bioconda package though will not be updated shortly. Can you retrieve the latest PhyloPhlAn code from the repository and try again?

Many thanks, Francesco

mcahn commented 4 years ago

Thanks, I downloaded the fix.

-- Matthew