mtisza1 / Cenote-Taker2

Cenote-Taker2: Discover and Annotate Divergent Viral Contigs (Please use Cenote-Taker 3 instead)
MIT License
56 stars 7 forks source link

Quiet failure (strict mode option?) #41

Closed cmerenstein closed 1 year ago

cmerenstein commented 1 year ago

This is less of a specific bug, and more something that would be helpful to change a bit.

I have noticed that when some step in the pipeline fails, it isn't entirely obvious at the end when looking at the outputs. For example, because of an issue on my end, phanotate.py wasn't running, but I didn't realize this until I saw the xarg error in the output "xargs: phanotate.py: No such file or directory." From that run, I still had a full summary .tsv file at the end, and it looked mostly normal.

In the past when I've had other errors, I've also only noticed because I went looking to make sure everything was right. This is somewhat of an issue when running Cenote-Taker on many samples, where most might work but some might fail -- It isn't practical to have to manually check the log files of 100s of runs.

It would be helpful if there were a "strict" mode, where cenote-taker2 quits if it encounters any error, rather than just continuing as though nothing happened. This would make it more obvious that a run has failed, and easier to distinguish between output files where no viruses were found vs output files where the run failed.

Thanks!

mtisza1 commented 1 year ago

Hi Carter,

This is a good suggestion and shortcoming of this tool (which suffers from being quite complicated and should, in the future, be coded as a snakemake or nextflow pipeline). I will try to implement a strict mode in the next update.

Thanks!

As a side note, it's a bit weird that you get an error running phanotate.py, as the wrapper run_cenote-taker2.py is supposed to check that phanotate.py is a tool in your path.

https://github.com/mtisza1/Cenote-Taker2/blob/118b6ed6af4f7abf09f425bcc86edff1ee7db60e/run_cenote-taker2.py#L165-L169