mdmparis / defense-finder

Systematic search of all known anti-phage systems.
GNU General Public License v3.0
73 stars 12 forks source link

No such profile error in version 1.2.2 #56

Closed roo-weed closed 4 months ago

roo-weed commented 6 months ago

Hi! Thanks for making this tool, I'm excited to use it!

I believe I'm experiencing the same issue noted here. It looks like it was fixed in version 1.2.2, but that's the version I'm using. I've just installed for the first time and the models are freshly updated. My hmmer version is 3.3.2. Macsyfinder version is 2.1.3. Here's the error:

`Traceback (most recent call last): File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/profile.py", line 70, in get_profile path = model_location.get_profile(gene.name) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/registries.py", line 344, in get_profile return self._profiles[name] KeyError: 'Rst_RT-Tm__RT-Tm'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/automounts/workspace/workspace/rweed/TR_phage_redo/defensefinder_env/bin/defense-finder", line 10, in sys.exit(cli()) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/click/core.py", line 1157, in call return self.main(args, kwargs) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/click/core.py", line 783, in invoke return __callback(args, **kwargs) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/defense_finder_cli/main.py", line 147, in run defense_finder.run(protein_file_name, dbtype, workers, coverage, tmp_dir, models_dir, no_cut_ga, loglevel) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/defense_finder/init.py", line 29, in run macsyfinder.main(args=msf_cmd) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/scripts/macsyfinder.py", line 1193, in main all_systems, rejected_candidates = search_systems(config, model_registry, models_def_to_detect, logger) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/scripts/macsyfinder.py", line 529, in search_systems parser.parse(models_def_to_detect) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/definition_parser.py", line 85, in parse self._fill_gene_bank(model_node, model_location, def_loc) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/definition_parser.py", line 287, in _fill_gene_bank self.gene_bank.add_new_gene(model_location, gene_name, self.profile_factory) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/gene.py", line 102, in add_new_gene gene = CoreGene(model_location, name, profile_factory) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/gene.py", line 114, in init self._profile = profile_factory.get_profile(self, model_location) File "/workspace/rweed/TR_phage_redo/defensefinder_env/lib/python3.10/site-packages/macsypy/profile.py", line 72, in get_profile raise MacsypyError(f"'{model_location.name}/{gene.name}': No such profile") macsypy.error.MacsypyError: 'defense-finder-models/Rst_RT-Tm__RT-Tm': No such profile`

I would appreciate any help you have to offer! Thanks so much!

jeanrjc commented 4 months ago

You need to install it with pip and not with conda.

mamba create -n defensefinder
mamba activate defensefinder
pip install mdmparis_defense_finder
mamba install hmmer -c bioconda

They did not pin the correct version of macsyfinder in the conda version. Let me know if there is still a problem