Perform customizable filtering and the main DTU calling with DRIMSeq.

  id_col = NULL,
  cond_levels = NULL,
  filtering_strategy = "bulk",
  add_pseudocount = FALSE,
  BPPARAM = BiocParallel::SerialParam(),
  force_dense = TRUE,
  subset_feature = NULL,
  subset_sample = NULL,
  carry_over_metadata = TRUE,
  filter_only = FALSE,



Can be either:

  1. (sparse) matrix with feature counts, where the rows correspond to features (e.g. transcripts). One column per sample/cell with the count data for the specified features must be present (The names of these columns must match with the identifiers in id_col).

  2. Seurat object with a transcription level assay as active.assay (most likely result object from combine_to_matrix())


Data frame, where the first column consists of feature identifiers and the second column consists of corresponding gene identifiers. Feature identifiers must match with the rownames of the counts object. If a Seurat object is provided in counts and tx2gene was provided in combine_to_matrix(), a vector of the colnames of the specific feature and gene identifiers is sufficient.


Data frame with at least a column of sample/cell identifiers (rownames or specified in id_col) and the comparison group definition (specified in cond_col).


Name of the column in pd, where unique sample/cell identifiers are stored. If NULL (default), use rownames of pd.


Name of the column in pd, where the comparison groups/conditions are defined. If more than 2 levels/groups are present, the groups that should be used must be specified in cond_levels.


Define two levels/groups of cond_col, that should be compared. The order of the levels states the comparison formula (i.e. cond_col[1]-cond_col[2]).


Define the filtering strategy to reduce and noise and increase statistical power.

  • 'bulk': Predefined strategy for bulk RNAseq data (default): Features must contribute at least 5% of the total expression in at least 50% of the samples of the smallest group. Additionally the total gene expression must be 5 or more for at least 50% of the samples of the smallest group.

  • 'sc': Predefined strategy for single-cell RNAseq data: Features must contribute at least 5% of the total expression in at least 5% of the cells of the smallest group.

  • 'own': Can be used to specify a user-defined strategy via the ... argument (using the parameters of dmFilter).


Define TRUE if a very small pseudocount shall be added to transcripts with zero expression in one group. Adding the pseudocount enables statistical analysis for comparisons, where one groups proportion is completely zero.


If multicore processing should be used, specify a BiocParallelParam object here. Among others, can be SerialParam() (default) for non-multicore processing or MulticoreParam('number_cores') for multicore processing. See BiocParallel for more information.


If you do not want to use a sparse Matrix for DRIMSeq calculations, you can force a dense conversion by specifying TRUE. Increases memory usage, but also reduces runtime drastically (currently).


Subsets the provided count matrix to only specified features. Can be names, indices or logicals.


Subsets the provided count matrix to only specified samples. Can be names, indices or logicals.


Specify if compatible additional columns of tx2gene shall be carried over to the gene and transcript level meta_table in the results. Columns with NA values are not carried over.


Return filtered (sparse) matrix, without performing DRIMSeq statistical computations.


Arguments passed on to sparseDRIMSeq::dmFilter


dmDSdata or dmSQTLdata object.


dturtle object with the key results, that can be used in the DTUrtle steps hereafter. The object is just a easily accessible list with the following items:

  • meta_table_gene: Data frame of the expressed-in ratio of all genes. Expressed-in is defined as expression > 0. Can be used to add gene level meta-information for plotting.

  • meta_table_tx: Data frame of the expressed-in ratio of all transcripts. Expressed-in is defined as expression > 0. Can be used to add transcript level meta-information for plotting.

  • meta_table_sample: Data frame of the provided sample level information (pd). Can be used to add sample level meta-information for plotting.

  • drim: Results of the DRIMSeq statistical computations (dmTest()).

  • design: Design matrix generated from the specified pd columns.

  • group: Vector which sample/cell belongs to which comparison group.

  • used_filtering_options: List of the used filtering options.

  • add_pseudocount: Keeps track if pseudocount was added in comparison.

If filter_only=TRUE, only the filtered (sparse) matrix is returned.


Run the main DRIMSeq pipeline, including generation of a design matrix, gene/feature filtering and running the statistical computations of DRIMSeq (dmPrecision(), dmFit() and dmTest())

See also