Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exit status 1? #9

Open
brendanf opened this issue Mar 5, 2025 · 5 comments
Open

Exit status 1? #9

brendanf opened this issue Mar 5, 2025 · 5 comments

Comments

@brendanf
Copy link

brendanf commented Mar 5, 2025

I am testing crest4, and finding that it always returns exit status 1 (which would normally indicate an error), even when the output says Classification ran successfully. Results are placed in '{my output file}'. Is this the normal behavior, or is there some hidden error?

@lanzen
Copy link
Collaborator

lanzen commented Mar 5, 2025

Hi! No, this is not normal, of course :). Could you email me a relatively short FASTA file that you tried to classify giving this error, so that I can check if I can reproduce the error? What marker is it? What database did you use? What arguments did you use to run crest4?

Finally, how did you install it? (e.g. from the latest source, a source release, or through conda, pip3 or something else?)

@lanzen
Copy link
Collaborator

lanzen commented Mar 5, 2025

I forgot to ask - do the results look normal? Check that the assignments and search.hits file contain all sequences you tried to classify. And you got no error message?

@brendanf
Copy link
Author

brendanf commented Mar 5, 2025

I installed using pip3. I am using a custom database, and running Blast separately and passing the search hits to crest4 from the command line. There is no error message, and I only notice the exit status because I am timing the execution with Gnu time.

The results look correctly formatted, in that there is a row for every query sequence containing the classifications. Many of the sequences are more underclassified than I would have expected. I am uncertain whether that is because I have unreasonable expectations or something is actually wrong.

Given that I can send you the BLAST results for my query, what files do you need for the custom database?

@lanzen
Copy link
Collaborator

lanzen commented Mar 6, 2025

Given that you use a custom database, I would need the whole database as well to really reconstruct this problem. However, as long as there is a classification, even if including "No hits", to each sequence, then I would not worry about the exit status as it is likely a bug and since no exception resulting in a warning or error has been caught.

About the under-classification, this can happen if you have similiar sequences in your database with different classifications, as a consequence of LCA. Try running it with a lower --score_drop (e.g. --score_drop 1 or even --score_drop 0) and see if this helps. Alternatively, if you get the classification "No hits", then this is because BLAST alignments were below the --min_score (by default 155 for BLAST) and you can then try to decrease this parameter.

@xapple
Copy link
Owner

xapple commented Mar 7, 2025

I just checked again to make sure, and the command line tool does return an exit status of 0 in normal usage. I added a "assert result.exit_code == 0" in fact in the unittest now that was missing previously.

If you could share the command that you ran as well as the stdout and the stderr produced ? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants