1#ifndef SCRAN_PER_CELL_ADT_QC_METRICS_HPP
2#define SCRAN_PER_CELL_ADT_QC_METRICS_HPP
4#include "../utils/macros.hpp"
9#include "tatami/base/Matrix.hpp"
68 template<
typename Float =
double,
typename Integer =
int>
103 template<
class Matrix,
typename Subset = const u
int8_t*,
typename Float,
typename Integer>
114 general.
run(mat, subsets, tmp);
159 populate_buffers(output, *
this);
169 populate_buffers(output, *
this);
173 template<
class SomeBuffer,
class Results>
174 static void populate_buffers(SomeBuffer& x,
Results& y) {
179 x.subset_totals.resize(nsubsets);
180 for (
size_t s = 0; s < nsubsets; ++s) {
201 template<
class Matrix,
typename Subset = const u
int8_t*>
202 Results run(
const Matrix* mat,
const std::vector<Subset>& subsets)
const {
203 size_t nsubsets = subsets.size();
204 Results output(mat->ncol(), nsubsets);
205 auto buffers = output.
buffers();
206 run(mat, subsets, buffers);
Compute a variety of per-cell quality control metrics from a count matrix.
Compute per-cell quality control metrics from an ADT count matrix.
Definition PerCellAdtQcMetrics.hpp:38
Results run(const Matrix *mat, const std::vector< Subset > &subsets) const
Definition PerCellAdtQcMetrics.hpp:202
void run(const Matrix *mat, const std::vector< Subset > &subsets, Buffers< Float, Integer > &output) const
Definition PerCellAdtQcMetrics.hpp:104
PerCellAdtQcMetrics & set_num_threads(int n=Defaults::num_threads)
Definition PerCellAdtQcMetrics.hpp:54
Compute a variety of per-cell quality control metrics from a count matrix.
Definition PerCellQcMetrics.hpp:45
PerCellQcMetrics & set_num_threads(int n=Defaults::num_threads)
Definition PerCellQcMetrics.hpp:292
Results run(const Matrix *mat, const std::vector< Subset > &subsets) const
Definition PerCellQcMetrics.hpp:313
Functions for single-cell RNA-seq analyses.
Definition AggregateAcrossCells.hpp:18
Buffers for direct storage of the calculated statistics.
Definition PerCellAdtQcMetrics.hpp:69
Float * sums
Definition PerCellAdtQcMetrics.hpp:73
Integer * detected
Definition PerCellAdtQcMetrics.hpp:78
std::vector< Float * > subset_totals
Definition PerCellAdtQcMetrics.hpp:84
Default parameters.
Definition PerCellAdtQcMetrics.hpp:43
static constexpr int num_threads
Definition PerCellAdtQcMetrics.hpp:47
Result store for QC metric calculations.
Definition PerCellAdtQcMetrics.hpp:125
std::vector< std::vector< double > > subset_totals
Definition PerCellAdtQcMetrics.hpp:150
std::vector< double > sums
Definition PerCellAdtQcMetrics.hpp:139
Buffers< const double, const int > buffers() const
Definition PerCellAdtQcMetrics.hpp:167
std::vector< int > detected
Definition PerCellAdtQcMetrics.hpp:144
Buffers buffers()
Definition PerCellAdtQcMetrics.hpp:157
Buffers for direct storage of the calculated statistics.
Definition PerCellQcMetrics.hpp:111
std::vector< Float * > subset_total
Definition PerCellQcMetrics.hpp:152
Integer * detected
Definition PerCellQcMetrics.hpp:132
Float * total
Definition PerCellQcMetrics.hpp:126