SnakeMake's ability to generate provenance reports and detect errors is fairly limited. When failures happen, intimate knowledge of the pipeline is needed to understand what may be going on. Any enhancements that could improve this are very welcome. One thing to address in particular is to devise a more standardized logging policy. Currently, the Python logging module is used. However, it is applied somewhat haphazardly and results in many log files (e.g. one for each parallel instance of a rule). In addition, some rules invoke command line programs directly, redirecting STDERR to a log. Better would be if logging was consistently applied, failures were trapped, and the log files could be reliably interrogated to track where errors happen.
This issue is considered 'done' when actionable instructions exist for detecting errors in the logging system for users.
SnakeMake's ability to generate provenance reports and detect errors is fairly limited. When failures happen, intimate knowledge of the pipeline is needed to understand what may be going on. Any enhancements that could improve this are very welcome. One thing to address in particular is to devise a more standardized logging policy. Currently, the Python
loggingmodule is used. However, it is applied somewhat haphazardly and results in many log files (e.g. one for each parallel instance of a rule). In addition, some rules invoke command line programs directly, redirecting STDERR to a log. Better would be if logging was consistently applied, failures were trapped, and the log files could be reliably interrogated to track where errors happen.This issue is considered 'done' when actionable instructions exist for detecting errors in the logging system for users.