gem-pasteur/macsyfinder

Something is wrong with the operation

Closed this issue · 5 comments

Dear macsyfinder team:
when I use it, I encountered the following problem。
‘’The models package 'profiles' is not versioned contact the package manager to fix it.‘’
and FileNotFoundError: [Errno 2] No such file or directory:
It's that the models have some problems or I had a problem installing it?
thanks
tutu

please use the issue template to post an issue

which version of macsyfinder
how to reproduce the bug ....

To Reproduce
Steps to reproduce the behavior:

The command lines I use
macsyfinder --db-type unordered --sequence-db /Users/shuring/data/all/1/1_CFCC15622.fasta --models-dir=/Users/shuring/model/TXSScan --models TXSS/T3SS

The models package 'profiles' is not versioned contact the package manager to fix it.
Traceback (most recent call last):
File "/Users/shuring/opt/anaconda3/envs/macsyfinder/bin/macsyfinder", line 10, in
sys.exit(main())
File "/Users/shuring/opt/anaconda3/envs/macsyfinder/lib/python3.7/site-packages/macsypy/scripts/macsyfinder.py", line 1078, in main
relative_path=config.relative_path())
File "/Users/shuring/opt/anaconda3/envs/macsyfinder/lib/python3.7/site-packages/macsypy/registries.py", line 83, in scan_models_dir
relative_path=relative_path)
File "/Users/shuring/opt/anaconda3/envs/macsyfinder/lib/python3.7/site-packages/macsypy/registries.py", line 175, in init
relative_path=relative_path)
File "/Users/shuring/opt/anaconda3/envs/macsyfinder/lib/python3.7/site-packages/macsypy/registries.py", line 234, in _scan_profiles
for profile in os.listdir(path):
FileNotFoundError: [Errno 2] No such file or directory: '/Users/shuring/model/TXSScan/profiles/profiles'
Please complete the following information):

OS:

Linux
Windows
[1] Mac
MacSyFinder Version:

Macsyfinder 2.0
using:

Python 3.7.10 (default, Feb 26 2021, 10:16:00) [Clang 10.0.0 ]
NetworkX 2.6.3
Pandas 1.3.5
Additional context
I install models in specific directory with the –target option.

I suppose you installed TXSScan in Users/shuring/model
with macsydata install TXSScan --models-dir=/Users/shuring/model

so you have to use the same option to run macsyfinder
macsyfinder --models-dir=/Users/shuring/model instead of --models-dir=/Users/shuring/model/TXsscan

the second point is the models specification on the command line is malformed
If you plan to search only for T3SS you have to know the structure of the TXSScan model with

macsyfinder --list-models

TXSScan
        /archaea
                /Archaeal-T4P
        /bacteria
                 /diderm
                        /CONJ
                        /Flagellum
                        /MSH
                        /T1SS
                        /T2SS
                        /T3SS
                        /T4SS_typeB
                        /T4SS_typeC
                        /T4SS_typeF
                        /T4SS_typeG
                        /T4SS_typeI
                        /T4SS_typeT
                        /T4aP
                        /T4bP
                        /T5aSS
                        /T5bSS
                        /T5cSS
                        /T6SSi
                        /T6SSii
                        /T6SSiii
                        /T9SS
                        /Tad
                        /pT4SSi
                        /pT4SSt
                 /monoderm
                          /ComM

you see that T3SS is in Bacterial/diderm sub family
so the right way to specify that on the command line is --models TXSScan/bacteria/diderm T3SS

macsyfinder --db-type unordered --sequence-db /Users/shuring/data/all/1/1_CFCC15622.fasta --models-dir=/Users/shuring/model --models TXSScan/bacterial/diderm T3SS

I would like to draw your attention to a point of the TXSScan documentation (available through macsydata help --models-dir=/Users/shuring/model s TXSScan or at github (https://github.com/macsy-models/TXSScan)

It has to be noted that to ensure the highest annotation specificity, it is recommended to search for all systems in the package at once.

So: macsyfinder --db-type unordered --sequence-db /Users/shuring/data/all/1/1_CFCC15622.fasta --models-dir=/Users/shuring/model --models TXSScan/bacterial/ all will give you more accurate results.

Thank you for your reply!
I have taken your correct, but I have a new problem now。
I got the new error that

raise ValueError(f"{level} does not match with any definitions")
ValueError: bacterial does not match with any definitions

Is this because there is something wrong with my original alignment file?

Hi, I also encountered these issues, specifically to your reply I think that the 'bacterial' should be changed to 'bacteria' to match the database structures

i.e. macsyfinder --db-type unordered --sequence-db /Users/shuring/data/all/1/1_CFCC15622.fasta --models-dir=/Users/shuring/model --models TXSScan/bacteria/ all