hubverse-org / hubValidations

Testing framework for hubverse hub validations
https://hubverse-org.github.io/hubValidations/
Other
1 stars 4 forks source link

Add `validate_model_tbl()` convenience function to validate data frame before writing a file. #130

Open zkamvar opened 2 weeks ago

zkamvar commented 2 weeks ago

The impetus for this are the issues encountered in https://github.com/reichlab/variant-nowcast-hub/pull/116

In this, there were problems with the submission, but it's not immediately clear if this was due to the model generating character NAs or if it was due to a problem with file I/O.

At the moment, to validate a submission, we have to write the submission to a hub model-outputs folder and run validate_submission(). This is a good and working setup and I am suggesting a convenience function that validate_submission() can wrap and separate the concerns of validating submission data as opposed to metadata.

By giving the option of validate_model_tbl(), then people can generate the data and validate before writing to disk and they can iterate more rapidly.

It would also help something like reichlab/variant-nowcast-hub/src/sample_submission_data.R demonstrate that the structure of the data is valid. At the moment, whoever runs the script must change the output directory to the model-outputs folder and then clean up the extra file they created in the meantime. If the validate_model_tbl() function were available, then the data could be generated and validated and there would be no mess to clean up or scripts to modify.

It would also allow people to run validations on subsets of their model output (e.g. subsets of optional task ID variables).

zkamvar commented 1 week ago

I've gotten feedback from the modelers in the Variant Nowcast Hub that this would be a desired feature.