-
Notifications
You must be signed in to change notification settings - Fork 24
feat: cli #332
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
base: main
Are you sure you want to change the base?
feat: cli #332
Conversation
Documentation build overview
Show files changed (2 files in total): 📝 2 modified | ➕ 0 added | ➖ 0 deleted
|
|
Does PR allow for the old version (the conda env version) to still exist or does this PR get rid of it entirely? Also does this change how Justin set up the CHTC integration? |
|
Also what do you mean by this "allows us to generate configuration files without needing to use Snakemake" |
You can still use conda env - this does not remove it. Optimally, once we have #382, using the
This change is backwards compatible, so it won't break Justin's CHTC setup. However, from looking at it earlier, using this CLI might actually be nicer for the CHTC setup (since it avoids hardcoding the SPRAS Snakefile path)
For parameter tuning (as far as I'm aware) and configuration seeding, we need to be able to generate configuration files. Refactoring the Snakefile to be able to handle this seems like a lot (especially given its lack of test coverage), so having configuration generation outside of our Snakemake workflow (and inside the CLI) looks like the nicest solution here. |
|
This CLI should no longer be helpful for parameter tuning - only for determinism and packaging. |
This PR adds a very naive SPRAS cli wrapper over Snakemake. Having a wrapping command line interface instead that wraps around Snakemake allows
After the next SPRAS release cycle, one could do:
We use the
runsubcommand to make extending this CLI easier later. We can easily supply aspras --versionor aspras --helpwhich links to the RTD, aspras tunefor parameter tuning, etc...This does make local development more annoying if you install SPRAS without
python -m pip install -e .[dev]. The pixi PR (#382) helps with this.We prefer this over Snakemake since it's easier to test separate components outside of Snakemake.