Open cvanderaa opened 1 year ago
Some comments/suggestions:
[
, implement drop
coherently (checking what is done in MAE
)filterNA()
, implement x[i, j, k, drop]
subsetByFeatures()
and filterFeatures()
... to be discussed on a case by case (that's a bigger fish to fry)
We could refactor subsetting and filtering of
Qfeatures
object. Here are some points I think would be worth improving for maintainability of the code:QFeatures-subset.R
:[
(inQFeatures-class.R
)filterNA()
(inQFeatures-missing-data.R
)subsetByFeature()
(insubsetBy-methods.R
)filterFeatures()
(inQFeatures-filter.R
)[
(inQFeatures-class.R
): this should be the centralized backend, iex[i, j, k]
filterNA()
: currently usesx[i, j]
, but should bex[i, j, k]
subsetByFeature()
: it reconstructs aQFeatures
using its constructor.filterFeatures()
: usesx[i, j, k]
, so OK.filterFeaturesWithAnnotationFilter()
andfilterFeaturesWithFormula()
have a lot of duplicated code what requires parallel maintenance. I'm sure we could make use of a common internal function to handle this..subsetByFeature()
is too long and difficult to understand (my bad sorry).bonus: subsetting can be very slow for large datasets (cf SCP). Proper refactoring may help identify and solve resource bottlenecks.