# DRAGEN Reports

DRAGEN Reports is a docker image that provides tools for generating rich, interactive and self-contained HTML reports from DRAGEN's output files. These reports combine data from QC, trimming, mapping, variant and other DRAGEN modules to create a comprehensive summary of a multi-sample workflow, as well as more detailed reports for individual samples. The DRAGEN Reports rpm packages may be downloaded from the [Dragen Product Files Support Site](https://support.illumina.com/sequencing/sequencing_software/dragen-bio-it-platform/product_files.html).

## Requirements

The DRAGEN Reports tools are provided as a Docker image. To use it, you will need the following:

* An x64 processor
* Docker installed and running

In addition, while DRAGEN Reports can accept files output by any DRAGEN process (such as from a local DRAGEN box, DRAGEN equipped sequencing instrument, or the Cloud), it can only work with local files. For how to access your data and transfer it to your local environment, please refer to the user documentation for the appropriate service or instrument.

## DRAGEN Reports Components

Within the DRAGEN Reports docker image are multiple executables for generating different types of report files

* **dragen-reports** - Generates reports for a single DRAGEN workflow or pipeline and it's samples
* **dragen-summary-reports** - Generate reports for a NovaSeqX run, containing multiple containing multiple DRAGEN workflows

## Dragen-reports

The **dragen-reports** tool produces both workflow- and sample-level reports. A workflow-level report combines data from multiple samples analyzed by DRAGEN in the same way in order to faciliate comparssions across a batch of samples. Users can navigate to a report for a specific sample by clicking on the link in the Sample column of most workflow report tables.

![](/files/f1c4Rs0EEoQ42CZlzsQ0)

Sample-level reports are also generated to allowed for more detailed analysis of individual samples. For example, under the DRAGEN-FastQC tab in a workflow report we are only able to plot the mean base quality, while for individual samples we can display a box-and-whisker plot for each position, as shown below.

![](/files/4nm2LEiqMMIqZK9EbfVW)

To navigate back from a sample report to the multi-sample summary, users can click on the "Back to Pipeline" button located in the upper-left corner of the report.

### Options

The following command-line options are available from DRAGEN Reports

| Option              | Argument             | Description                                                    |
| ------------------- | -------------------- | -------------------------------------------------------------- |
| -V, --version       |                      | Output the version string of the DRAGEN-Reports executable     |
| -v, --verbose       |                      | Emit additional debug information whiile generating the report |
| -m, --manifest      | Filepath             | Specify a manifest file describing the report to be written    |
| -n, --run-name      | String               | Manually set the run-name in the output report                 |
| -d, --directory     | Comma-separated list | DRAGEN output directories to generate a report from            |
| -o, --output        | Filepath             | Generate output report to the specified location               |
| -s, --samples       | Comma-separated list | Generate only individual reports for the specified sample(s)   |
| -S, --sample-output | Filepath             | Generate sample report to the specified location               |
| -f, --force         |                      | Force overwriting of any pre-existing report files             |
| -T, --timestamp     | String               | Manually set the timestamps in the output reports              |
| -h, --help          |                      | Display this help command                                      |

In addition, the following Docker options are recommended when calling DRAGEN Reports via Docker:

| Option       | Argument | Description                                      |
| ------------ | -------- | ------------------------------------------------ |
| -v, --volume | String   | Bind mount a volume                              |
| --rm         |          | Automatically remove the container when it exits |
| --platform   | String   | Set platform if server is multi-platform capable |

### Manifests

The **dragen-reports** tool can output reports with different contents for different DRAGEN workflows, tailoring the resulting reports to create only the most relevant plots and tables. To utilize this feature, users can use the *-m / --manifest* option to specify a *Manifest JSON file* to specify the desired output reports. These files function as recipes for different reports - specifying which files to look for, which data to process, and which plots to draw. These files are all available in the DRAGEN Reports docker under the **/opt/dragen-reports/manifests** directory.

| Manifest                  | Name               | Pipeline          | Description                                                                          |
| ------------------------- | ------------------ | ----------------- | ------------------------------------------------------------------------------------ |
| germline\_wgs.json        | Germline Report    | DragenGermline    | Default manifest targetting WGS workflows and supporting most DRAGEN variant callers |
| somatic\_wgs.json         | Somatic Report     | DragenSomatic     | Manifest for somatic tumor-only analysis                                             |
| germline\_enrichment.json | Enrichment Report  | DragenEnrichment  | Manifest for whole exome or germline gene panel analysis                             |
| somatic\_enrichment.json  | Enrichment Report  | DragenEnrichment  | Manifest for somatic exomes or somatic gene panel analysis                           |
| rna.json                  | RNA Report         | DragenRna         | Manifest for RNA-Seq & RNA Quantification workflows                                  |
| methylation.json          | Methylation Report | DragenMethylation | Manifest for the DRAGEN Methylation workflow                                         |
| demux.json                | Demultiplex Report | Demux             | Manifest for DRAGEN demultiplex processes                                            |
| bcl\_convert.json         | BCL Convert Report | BCLConvert        | Manifest for BCLConvert and library QC workflows                                     |

### Sample Script

Below is a sample Bash script for running the **dragen-reports** tool from the DRAGEN Reports docker image, with a line-by-line explanation

```bash=
1    docker run \
2      --platform="linux/amd64" \
3      -v /Users/bbowman/DragenReportTestData/ceph1463:/data \
4      -v /Users/bbowman/DragenReportDockerTest/output:/output \
5      --rm \
6      dragen_reports:4.3.0 \
7      dragen-reports \
8      -f \
9      -d /data \
10     -o /output/report.html
11     -m /opt/dragen-reports/manifests/germline_wgs.json
```

1. Call to Docker to mount a new container and execute a command in it
2. Specify the platform being run. In this case I am running on a Mac, so I specify that I need an image that can run on an *amd64* processor
3. Mount the input data from our local machine to the Docker container
4. Mount the desired output location from our local machine to the Docker container
5. Docker *remove* argument, tellind Docker to unmount and delete the container when the process is finished
6. Specify that Docker image to be run, in this case *dragen\_reports v4.3.0*
7. Call to execute the **dragen-reports** command-line tool within the container
8. *--force* option, to enable over-writing of any pre-existing output files
9. *--directory* option specifying the input data directory mount on Line #3
10. *--output* option specifying the report file to output
11. *--manifest* option to specify the manifest file to use - in this case we are requesting a WGS Germline report

## Dragen-summary-reports

The **dragen-summary-reports** tool produces reports for DRAGEN analysis results from a NovaSeqX instrument. These reports summarize which DRAGEN workflows were run, which version of DRAGEN was used, which sample project they belonged to (if any), and how many samples and errors there were. If a workflow-level report is available for a given workflow, such as one generated by **dragen-reports**, that report will be linked from the *Workflow* column. In addition sub-reports are created for any sample projects, containing the subset of data for that specific project, and linked from the *Sample Project* column.

![](/files/Kx8RW7Al0arS4EjLApOa)

### Options

The following command-line options are available from DRAGEN Summary Reports

| Option          | Argument       | Description                                                            |
| --------------- | -------------- | ---------------------------------------------------------------------- |
| -V, --version   |                | Output the version string of the DRAGEN-Reports executable             |
| -v, --verbose   |                | Emit additional debug information whiile generating the report written |
| -n, --run-name  | String         | Manually set the run-name in the output report                         |
| -d, --directory | Directory path | DRAGEN output directories to generate a report from                    |
| -o, --output    | Filepath       | Generate output report to the specified location                       |
| -f, --force     |                | Force overwriting of any pre-existing report files                     |
| -h, --help      |                | Display this help command                                              |

In addition, the following Docker options are recommended when calling DRAGEN Summary Reports via Docker:

| Option       | Argument | Description                                      |
| ------------ | -------- | ------------------------------------------------ |
| -v, --volume | String   | Bind mount a volume                              |
| --rm         |          | Automatically remove the container when it exits |
| --platform   | String   | Set platform if server is multi-platform capable |

### Example Script

```bash=
1    docker run \
2      --platform="linux/amd64" \
3      -v /Users/bbowman/DragenSummaryReportTestData/wgs_01:/data \
4      --rm \
5      dragen_reports:4.3.0 \
6      dragen-summary-reports \
7      -f \
8      -d /data \
9      -o /data/AggregateReports/summary.html
```

1. Call to Docker to mount a new container and execute a command in it
2. Specify the platform being run. In this case I am running on a Mac, so I specify that I need an image that can run on an *amd64* processor
3. Mount the input data and output location from our local machine to the Docker container
4. Docker *remove* argument, tellind Docker to unmount and delete the container when the process is finished
5. Specify that Docker image to be run, in this case *dragen\_reports v4.3.0*
6. Call to execute the **dragen-summary-reports** command-line tool within the container
7. *--force* option, to enable over-writing of any pre-existing output files
8. *--directory* option specifying the input data directory mount on Line #3
9. *--output* option specifying the report file to output

**NOTE** Due to the fact that **dragen-summary-reports** makes extensive use of symbolic links to prevent the duplication of large report files, the *--directory* and *--output* arguments must point to the same mounted volume


---

# 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://help.connected.illumina.com/dragen/dragen-v4.3/product-guide/dragen-v4.3/dragen-reports.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.
