-
Notifications
You must be signed in to change notification settings - Fork 14
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
Reimplement and improve CLI #224
Conversation
IndexOld
New
The only point of discussion here I think (which is the same across all subcommands) is the change to the log level indication. Instead of asking the user to state the level explicitly (i.e. Another nice thing about using CLI11 is there are some nice built-in validators. For this subcomand, if |
MapOld
New
There is a lot to address here. In particular, I have added "Should this be exposed?" to some options. If we do want these options exposed, then a description is needed for them. Additionally, I would like to shorten a lot of these options as some are far too verbose. I have left two options without a description - One outstanding thing is to create groups within the menu (similar to tools like Two breaking changes of importance to note:
This change to CLI11 for Lastly, I have added 'todo' comments above any options that I have questions or concerns about ( |
MainOld
New
Note: I will update this comment as I add more subcommands. |
CompareOld
New
The changes here are similar to |
Thanks a lot for this, looks really nice! Thanks for taking the time to improve the CLI! I have some comments below, but I realise that I am asking some stuff that might take considerable development time, so feel free to ignore everything. Also what you are doing already improve the CLI by a lot, so I think it is already enough. What I am proposing would be towards cleaning more the CLI and eventually breaking commands into more subcommands... but I don't think working a lot on CLI is a high priority task in our TODO list. I would be happy to review and merge your changes, and consider that CLI work is done. Regarding
I feel like this parameter was sth required so that we could split the PRG into several subfiles, and launch a Regarding
This is actually not required, given that the Regarding subcommands breakdown: I think pandora should produce unfiltered VCFs. Then we should have a There are some more subcommands breakdown, but I don't think will be productive to discuss them now... |
WalkOld
New
|
re this
Depending on the filename is better , but also error prone as people fiddle with filenames - inside a header would be safest. happy to postpone this though |
Re: removing Re: removing Speaking of the |
Yeah, I think There is a refactoring of the code that I have been postponing since the beginning, which is applying encapsulation to the code (i.e. hiding all attributes, providing access to them through getters/setters, and hide helper methods, just exposing the minimal public interface to classes clients). It will make things a lot easier to change and maintain later (i.e. many parts of the code access attributes directly, and thus when changing, for e.g. a |
|
Group names are added to #224 (comment). Let me know if anything needs changing |
|
get_vcf_refOld
followed by a whole bunch of singularity crazy syscall error messages 😬 New
|
|
Might it be clearer to rename "check_kmergraph" to - "seq_to_path", to convert a sequence to a path in the graph? |
Sure. |
merge_indexOld
New
|
Ok. That is all the architecture setup for the new CLI. All subcommands are now implemented. Reviewing this is a big job so feel free to do it in chunks. I think the best way is to leave comments in the code review rather than in the conversation here. |
I have updated some descriptions and shortened some options. |
I can try to review it tomorrow, but I am overloaded... might just be able to do it on Wednesday. I think it is better to merge, and then I review at some point where I don't have to rush the review. If there is any issue, I will then make a second CLI PR, but just from an overview of what you did, I think it should be all fine. I think my reviewing will be limited also to just look at the code, but we might not be able to capture possible bugs (if there are any), as most of the code you changed (files implementing main()) have no test coverage |
Update: I will review this PR this evening. I thought about speeding up the pandora paper pipelines and put all the 3 remaining pipelines to run simultaneously, but one thing that I learned is that pushing the cluster might actually slow things down (LSF becomes overloaded, |
Hello again, sorry, will just be able review tomorrow :( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All fine, just some very minor stuff! You can choose if implement them or not
As a last task for this PR to be merged, should we try to run it in a real pipeline, e.g. in your TB pipeline? I think things are fine, but as there are no code coverage on most of these code changes, I'd like to ensure that at least our normal workflow is running correctly. This task could also be pushed to later, as these changes will eventually be tested in a normal workflow... |
Yeah, I've already been doing this. |
This PR moves the handling of the Command-line interface (CLI) to CLI11 and closes #53.
Additionally, some changes in this PR are not backwards compatible as some options have been renamed/removed.
This PR also contains a hotfix that closes #226