# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.panomics.bio/documentation/analyses/analysis-workbench/quality-control.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
