Skip to content

Implement OOP for annotators, add custom tool support, and optimize test#8

Open
Konstantaza wants to merge 2 commits intoctlab:mainfrom
Konstantaza:main
Open

Implement OOP for annotators, add custom tool support, and optimize test#8
Konstantaza wants to merge 2 commits intoctlab:mainfrom
Konstantaza:main

Conversation

@Konstantaza
Copy link

  • OOP Architecture: Introduced BaseAnnotator and a factory pattern in src/samovar/annotators_wrapper.py.
  • Custom Tool Support: Added a universal CustomAnnotator and src/annotators/custom.sh.
  • Cleaner Snakefile: Simplified workflow/annotators/Snakefile by leveraging Python objects (params.annotator.get_snakemake_shell_cmd()) instead of multiple if/else statements.
  • Refactored Parsers: Cleaned up parse_annotators.py, unified the parsing logic, and fixed a minor true_annotation initialization bug.
  • Optimized Tests: Updated pytest for parsers. Added an ete3.NCBITaxa mock to prevent hour-long database downloads during local testing

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

Successfully merging this pull request may close these issues.

1 participant