drop
drop copied to clipboard
requirementsR.txt referencing HEAD leads to irreproducibility / pipeline breaking
drop/requirementsR.txt
specifies installation of OUTRIDER, FRASER, and tMAE to install from the HEAD of their respective git repositories.
This leads to two problems:
- The pipeline is not necessarily reproducible if there are changes made to any of those repositories.
- The pipeline can unexpectedly break with respect to those changes.
The second problem happened to me this week. FRASER was updated last week to have strand-specific counting per sample (rather than globally set over analyses): https://github.com/c-mertes/FRASER/pull/72. However, the scripts in the DROP repository have not been updated. This causes an error in aberrant-splicing-pipeline/Counting/01_1_countRNA_splitReads_samplewise.R, line 38; the conditional has length > 1, which throws an exception.
While DROP itself needs to be updated to reflect FRASER's new behavior, I think DROP should also specify fixed commits for installation to ensure that changes to the HEAD of the git repositories on which it is dependent do not break DROP or affect its reproducibility between DROP versions.
It looks like #537 will hopefully address the immediate issue I ran into with the updated version of FRASER.
I would still hope for some kind of predictable versioning of DROP's dependencies. If one were to publish an analysis using DROP, how should they report the version of OUTRIDER/FRASER/tMAE that they used? How could someone else wanting to reproduce their analysis set up a matching environment that didn't integrate changes made to these dependencies?
Hi Joseph, indeed, we are aware of all those issues and are working on addressing them. We'll come back to you in the next few days.