-
Notifications
You must be signed in to change notification settings - Fork 11
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
Make executables easier to use for non-experts #31
Comments
Sure I can definitely make the help strings more descriptive. |
My understanding is that running build_raw for L200 doesn't work without being tied into legend-metadata, which means that it has to be run from legend-dataflow. If that's not the case, then this may be a bit of a moot issue, but we still should make sure that it's documented how to use build_raw from daq2raw...And even if it is the case I suppose we don't necessarily need to have people run these python executables (but again, people need to know what to do). I think this extends beyond build_raw, too; build_dsp requires the database for building the db parameters, and build_hit I'm less familiar with but also requires pretty deep integration with the metadata. |
This may be a moot issue soon based on our discussion today, but I have thought of another way to get around the issue you raised. We could add a |
So, as mentioned on our most recent SW dev call this is something I'd like to revisit. I can think of a couple ways we could approach this:
Between these two options, I think I favor option 2. Option 1 is a bit simpler, but it seems like there are advantages to having snakemake work through the shell (e.g. you can copy paste a command that fails for debugging). |
I agree option 2 would be better for debugging |
Right now, it's very difficult to figure out how to use the executables to process L200 data directly by non-experts. This can be important for several reasons, including testing changes to the analysis and processing test_data that would otherwise not get processed. These were very clearly written for use with snakemake, and it's very difficult to figure out what options to pass to them to get them to work in the command line; with a few changes, I think we could have it working both with snakemake and working for individual users. Some changes that might help:
It's unclear what datatype is supposed to be (we were able to figure it out eventually be digging through the code); timestamp is a bit more intuitive, but when things are breaking, it's nice to have a clear string so we know we passed the right thing. This is a problem with almost all of the arguments!
(note these not marked as required, even though the code breaks without them; also the help string is not helpful). These could be very easily automated by calling Metadata without a directory so that it downloads it from github, and then call
meta.hardware.config
to get them. If they had been automated it would have saved a lot of time in trying to figure out what exactly to pass.These are just some examples; we really need to figure out which python executables are likely to be needed by the larger collaboration, and make sure that they are easy to figure out and get running outside of the scope of snakemake. In the past we've argued that we shouldn't expect more than a few people to learn snakemake, but if we are going to take that approach, we need to be able to run this code without it!
The text was updated successfully, but these errors were encountered: