-
Notifications
You must be signed in to change notification settings - Fork 27
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
Breaking change in AUCell_buildRankings() on dgCMatrix objects #28
Comments
Dear @hpages , In the last release we have added support for sparse matrices, so that that is the current expected behaviour. When using dense matrices (as before), the behavior should have not changed, and you can keep using the same code. However, this was not optimal, so we have added the possibility to use sparse matrices, and run the rankings in chunks. This is more efficient and facilitates the analyses of bigger datasets or in more limited computers. Therefore, example:
|
Can we please be less eager to close this?
There's a difference between adding support for sparse matrices and improving support for sparse matrices. As I reported above, previous versions of the package (e.g. AUCell 1.16.0) already supported dgCMatrix objects:
Note that to make this work, the package was providing an
How this method was handling dgCMatrix objects was admittedly not efficient, and I can see that you decided to improve that. However, adding the As I said, changing the interface of the function in a way that breaks analyses that were already using the function on sparse data (like the OSCA book) should not be done lightly. The Bioconductor project has a strong commitment to reproducibility, and Bioconductor packages are expected to avoid changes that break backward compatibility, or at least to minimize their impact when those changes can't be avoided. In your case breaking backward compatibility can and should be avoided. Please reconsider. Thanks, |
Furthermore if Something like this: buildrankings <- function(matrix, splitByBlocks = inherits(matrix, "dgCMatrix")) {} would set |
Ok, thank you for the comments, I will look into it during the next weeks. |
@s-aibar Just a reminder that this issue is still pending and has been breaking the OSCA book for several months: https://bioconductor.org/checkResults/3.15/books-LATEST/OSCA.basic/nebbiolo1-buildsrc.html Thanks! @alanocallaghan Note that |
Any chance this can be reviewed? |
Hello, I have updated the Development brach of the package to include your suggestions. They will be published with the next version of Bioconductor (scheduled for Nov 2). Thank you for your feedback and suggestions! |
Hi,
This used to work:
but with the latest AUCell (version 1.19.1), it no longer works:
Is this change intended?
This kind of change should be considered carefully as it breaks existing code, like the code used in the OSCA book. See https://bioconductor.org/checkResults/3.16/books-LATEST/OSCA.basic/nebbiolo2-buildsrc.html
If this change was introduced by mistake, I would strongly suggest (again) that you improve your unit tests to cover the various situations that
AUCell_buildRankings()
is expected to handle.Thanks,
H.
The text was updated successfully, but these errors were encountered: