Skip to content

Commit

Permalink
Reorganize docs on running the pipeline. (#610)
Browse files Browse the repository at this point in the history
* Reorganize docs on running the pipeline.

* Update page descriptions.

* Revert all cost-related updates

* Fix quick start link.

* Reorganize & improve run/overview & fix broken links.

* Add a note on supporting GCP only.
  • Loading branch information
VJalili authored May 10, 2024
1 parent 1f1b5e8 commit 82b53bb
Show file tree
Hide file tree
Showing 13 changed files with 122 additions and 85 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Execution modes",
"position": 3,
"label": "Development",
"position": 6,
"link": {
"type": "generated-index"
}
Expand Down
43 changes: 43 additions & 0 deletions website/docs/advanced/development/cromwell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: Cromwell
description: Running GATK-SV on Cromwell
sidebar_position: 0
---

# Cromwell

[Cromwell](https://github.com/broadinstitute/cromwell) is a workflow management system
that takes a workflow (e.g., a workflow written in [Workflow Description Language (WDL)](https://openwdl.org)),
its dependencies and input data, and runs it on a given platform
(e.g., [GCP](https://cromwell.readthedocs.io/en/stable/backends/Google/)).
In order to run a workflow on Cromwell, you need a running instance of
Cromwell that is available in two forms: [Server and stand-alone mode](https://cromwell.readthedocs.io/en/stable/Modes/).

In general, you may use a managed Cromwell server maintained by your
institute or host a self-managed server, or run Cromwell as a standalone Java application.
The former is ideal for large scale execution in a managed environment,
and the latter is useful for small scale and isolated WDL development.

:::info
Due to its dependency on cloud-hosted resources and large-scale execution needs,
we currently do not support running the entire GATK-SV pipeline using
Cromwell as a [stand-alone Java application](https://cromwell.readthedocs.io/en/stable/Modes/#run).

Additionally, we currently only support running the pipeline on
Google Cloud Platform (GCP).
:::

# Cromwell Server

There are two option to communicate with a running Cromwell server:
[REST API](https://cromwell.readthedocs.io/en/stable/tutorials/ServerMode/), and
[Cromshell](https://github.com/broadinstitute/cromshell) which is a command line tool
to interface with a Cromwell server. We recommend using Cromshell due to its simplicity
of use. This documentation is explained using Cromshell, but the same steps can be
taken using the REST API.

- **Setup Cromwell**: You may follow [this](https://cromwell.readthedocs.io/en/stable/Modes/) documentation
on setting up a Cromwell server.

- **Setup Cromshell**: You may follow [this](https://github.com/broadinstitute/cromshell) documentation
on installing and configuring Cromshell to communicate with the Cromwell server.
29 changes: 0 additions & 29 deletions website/docs/execmodes/cohort.md

This file was deleted.

11 changes: 0 additions & 11 deletions website/docs/execmodes/singlesample.md

This file was deleted.

2 changes: 1 addition & 1 deletion website/docs/gs/docker.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Docker Images
description: GATK-SV Docker Images
sidebar_position: 3
sidebar_position: 4
slug: ./dockers
---

Expand Down
2 changes: 1 addition & 1 deletion website/docs/gs/input_files.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Input Data
description: Supported input and reference data.
sidebar_position: 3
sidebar_position: 5
slug: ./inputs
---

Expand Down
2 changes: 1 addition & 1 deletion website/docs/gs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ on Illumina short-read whole-genome sequencing (WGS) data.
The pipeline genotypes structural variations using Docker-based tools, modularized in
different components, and orchestrated using Cromwell.

The pipeline runs in two modes: [Cohort](/docs/execmodes/cohort) and [single-sample](/docs/execmodes/singlesample).
Please refer to the documentation on [this page](/docs/run/overview) for running the pipeline.
35 changes: 0 additions & 35 deletions website/docs/gs/runtime_env.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,38 +49,3 @@ and share code on forked repositories. Here are a some considerations:
Local backends may not have the resources to execute all of the workflows.
Workflows that use fewer resources or that are less parallelized may be more successful.
For instance, some users have been able to run [GatherSampleEvidence](#gather-sample-evidence) on a SLURM cluster.

# Cromwell

[Cromwell](https://github.com/broadinstitute/cromwell) is a workflow management system
that takes a workflow (e.g., a workflow written in [Workflow Description Language (WDL)](https://openwdl.org)),
its dependencies and input data, and runs it on a given platform
(e.g., [GCP](https://cromwell.readthedocs.io/en/stable/backends/Google/)).
In order to run a workflow on Cromwell, you need a running instance of
Cromwell that is available in two forms: [Server and stand-alone mode](https://cromwell.readthedocs.io/en/stable/Modes/).

In general, you may use a managed Cromwell server maintained by your
institute or host a self-managed server, or run Cromwell as a standalone Java application.
The former is ideal for large scale execution in a managed environment,
and the latter is useful for small scale and isolated WDL development.

:::info
Due to its dependency on cloud-hosted resources and large-scale execution needs,
we currently do not support running the entire GATK-SV pipeline using
Cromwell as a [stand-alone Java application](https://cromwell.readthedocs.io/en/stable/Modes/#run)
:::

# Cromwell Server

There are two option to communicate with a running Cromwell server:
[REST API](https://cromwell.readthedocs.io/en/stable/tutorials/ServerMode/), and
[Cromshell](https://github.com/broadinstitute/cromshell) which is a command line tool
to interface with a Cromwell server. We recommend using Cromshell due to its simplicity
of use. This documentation is explained using Cromshell, but the same steps can be
taken using the REST API.

- **Setup Cromwell**: You may follow [this](https://cromwell.readthedocs.io/en/stable/Modes/) documentation
on setting up a Cromwell server.

- **Setup Cromshell**: You may follow [this](https://github.com/broadinstitute/cromshell) documentation
on installing and configuring Cromshell to communicate with the Cromwell server.
2 changes: 1 addition & 1 deletion website/docs/modules/evidence_qc.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The results from this module can be used for QC and batching.
For large cohorts, this workflow can be run on arbitrary cohort
partitions of up to about 500 samples. Afterwards, we recommend
using the results to divide samples into smaller batches (~100-500 samples)
with ~1:1 male:female ratio. Refer to the [Batching](/docs/run/batching) section
with ~1:1 male:female ratio. Refer to the [Batching](/docs/run/joint#batching) section
for further guidance on creating batches.

We also recommend using sex assignments generated from the ploidy
Expand Down
13 changes: 10 additions & 3 deletions website/docs/run/batching.md → website/docs/run/joint.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
---
title: Batching
description: Batching
slug: batching
title: Joint-calling
description: Run the pipeline on a cohort
sidebar_position: 4
slug: joint
---

:::info
This documentation page is incomplete, and we are actively working on improving it with comprehensive information.
:::

## Batching

For larger cohorts, samples should be split up into batches of about 100-500
samples with similar characteristics. We recommend batching based on overall
coverage and dosage score (WGD), which can be generated in [EvidenceQC](/docs/modules/eqc).
Expand Down
48 changes: 48 additions & 0 deletions website/docs/run/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: Overview
description: Overview
sidebar_position: 1
slug: overview
---

There are two factors to consider when deciding how to run GATK-SV.


1. **Variant calling modes: single-sample and cohort-based calling.**
GATK-SV offers two distinct pipeline configurations for detecting
structural variations (SVs), each tailored for different research needs:

- **Single-sample analysis:**
This configuration is ideal for examining SVs in individual samples,
focusing exclusively on data from that single sample. Running this mode is less complex,
involving just one workflow per sample.

- **Joint calling:**
This configuration is designed for more extensive studies, such as those
involving population genetics or disease association studies.
It analyzes SVs across a cohort by collectively assessing data from all samples.
However, this comes with increased complexity compared to the single-sample mode,
requiring the execution of multiple workflows and involves data preparation steps
(e.g., batching files from the cohort).


2. **Which platform you would like to use for running GATK-SV?**
You may run GATK-SV on the following platforms.

- [Terra.bio](https://terra.bio): A user-friendly cloud-native platform for scalable data analysis.
The primary focus of this documentation is on supporting the execution of GATK-SV within the Terra platform.

- [Cromwell](https://github.com/broadinstitute/cromwell):
You may run GATK-SV on a self-hosted and managed cromwell instance, which is ideal for
power-users and developers. We provide guidelines for this option in the
[_advanced guides_](/docs/advanced/development/cromwell) section.


Your decision regarding the execution modes and platform should be guided by
the objectives of your study, the size of your cohort, data access needs,
and the trade-off between a straightforward interface (Terra)
and more detailed customization options (self-managed Cromwell server).
Please refer to the following documentation on running GATK-SV within the Terra platform.

- [Single-sample on Terra](single.md);
- [Joint calling on Terra](joint.md).
14 changes: 14 additions & 0 deletions website/docs/run/single.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: Single-sample
description: Run the pipeline on a single sample
sidebar_position: 3
slug: single
---

:::info
This documentation page is incomplete, and we are actively working on improving it with comprehensive information.
:::

We have developed a
[Terra workspace](https://app.terra.bio/#workspaces/help-gatk/GATK-Structural-Variants-Single-Sample)
for running GATK-SV on a single sample, which contains the related documentation.
2 changes: 1 addition & 1 deletion website/src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function HomepageHeader() {
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
to="/docs/gs/qs">
Quick Start
</Link>
</div>
Expand Down

0 comments on commit 82b53bb

Please sign in to comment.