> For the complete documentation index, see [llms.txt](https://documentation.panomics.bio/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.panomics.bio/documentation/analyses/analysis-workbench/quality-control.md).

# Quality Control

The quality control module enables users to filter samples, cells, and genes, and to detect doublets. A [`Standard Compute`](/documentation/compute-runtimes/codeless-compute.md) runtime is required.

| Workflow                          | Sample Filtering     | Cell Filtering       | Gene Filtering       | Double Detection     | Sample Listing       |
| --------------------------------- | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
| Microarray                        | :x:                  | :x:                  | :x:                  | :x:                  | :white\_check\_mark: |
| Bulk RNA-seq w/ raw counts        | :white\_check\_mark: | :x:                  | :white\_check\_mark: | :x:                  | :white\_check\_mark: |
| Bulk RNA-seq w/ normalized counts | :x:                  | :x:                  | :x:                  | :x:                  | :white\_check\_mark: |
| Single cell RNA-seq w/ raw counts | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark: |

## Sample Filtering

Sample filtering enables users to remove samples based on raw counts or mitochondrial percentage thresholds, so this submodule is not available for `Microarray` and `Bulk RNA-seq` with normalized counts datasets.&#x20;

{% embed url="<https://www.loom.com/share/26404b9148624c08b737389dab7d428b?sid=d347357e-adbf-4077-b202-df7faeba6830>" %}
Sample filtering
{% endembed %}

## Cell Filtering

Remove cells with too few or too many counts, or cells with too high of a mitochondrial gene percentage count.

{% embed url="<https://www.loom.com/share/25b0ead3e2734edcb67990ec1cf36550?sid=a678e933-5086-400a-95cb-7f160c873d13>" %}

## Gene Filtering

Gene filtering differs between single cell RNA-seq and bulk RNA-seq.

### Single cell RNA-seq

For single cell RNA-seq, you need to provide the minimum number of cells that must express the gene (usually 0.1% of cell count).

{% embed url="<https://www.loom.com/share/e667ce4376fc44efb3d0e6202b12cf12?sid=73f4eda5-6d1d-4a50-a1e6-659b396cb706>" %}

### Bulk RNA-seq

For bulk RNA-seq, you need to provide the minimum number of counts for the genes in a minimum percentage of samples (usually 3 counts in 10% of samples).

{% embed url="<https://www.loom.com/share/2c1822fb453c40f0bd3fac24f46a84b3?sid=7385888e-4707-44ef-9227-e9c4e8eaf7cf>" %}

## Double Detection

Double detection should be used only if a droplet based library preparation kit was used. This command creates a new observation called `solo_doublet_prediction` with values of `singlet` or `doublet`. It is up to the user to eliminate the cell from the [Cell Explorer](/documentation/analyses/analysis-workbench/sample-cell-explorer.md).

Doublet detection is performed using variational autoencoders, namely [scVI's SOLO](https://docs.scvi-tools.org/en/stable/user_guide/models/solo.html).

## Sample List

The sample list submodule offers a quick way for users to see which samples have been added to the analysis and which ones are still in use.

<figure><img src="/files/UJszvcPvFi2oFQ2QPGdx" alt=""><figcaption><p>Sample list</p></figcaption></figure>
