Thanks for reading our edgeR 4.0 paper, and also for reading the User's Guide and the reference manual!
I think you're not reading the meaning of the help page and reference manual quite correctly.
First, let me note that the reference manual available from
https://www.bioconductor.org/packages/release/bioc/manuals/edgeR/man/edgeR.pdf
is simply a pdf collation of the help pages for all the functions in edgeR.
It gives exactly the same information that you would get from typing ?filterByExpr
at the R prompt, which gives the help page just for that function.
The filterByExpr
help page gives the following usage line:
filterByExpr(y, design = NULL, group = NULL, lib.size = NULL,
min.count = 10, min.total.count = 15, large.n = 10, min.prop = 0.7, ...)
which shows the default value of each argument, for example the default value of min.count
is 10.
Arguments that are NULL
in the argument definition have defaults that depend on the data, and which are explained in the documentation details.
You can see from the above usage line that only the y
argument is compulsory in the function call because it is the only argument that doesn't have a default value.
(This is the same documentation convention that is used by all the base packages in R. The help pages for all the base functions in R can be read this way.)
Users will usually specify either design
or group
as well, but the other arguments are usually left at their defaults.
You say in your question that "in the reference manual it is written that the minimum count is required" but the word "required" in the min.count
documentation simply refers to the fact that rows of the count matrix are required to satisfy this minimum, it doesn't mean that min.count
is a required (compulsory) argument in the function call.
In the "quick start" example on page 11 of the edgeR User's Guide, y
is a DGEList.
In this case, the group
argument is read from the DGEList as group <- y$samples$group
and all the other filterByExpr
arguments are set to their defaults.
So in this case the call
keep <- filterByExpr(y)
is exactly equivalent to
keep <- filterByExpr(y, group=group, min.count=10)
I see that we have not explained on the help page how filterByExpr
takes information from a DGEList object, so my apologies for that.
By default, filterByExpr
extracts the library sizes and the experimental design from the DGEList.
Type
?filterByExpr
and read the details section which covers what the function does.