You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-39Lines changed: 11 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,41 +44,16 @@ SomaticSniper, Strelka2, and MuSE require there to be **exactly one pair of inpu
44
44
45
45
## How To Run
46
46
Below is a summary of how to run the pipeline. See [here](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3197004/How+to+run+a+nextflow+pipeline) for more information on running Nextflow pipelines.
47
-
48
-
> **Note**: Because this pipeline uses an image stored in the GitHub Container Registry, you must follow the steps listed in the [Docker Introduction](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3190419/Docker+Introduction#DockerIntroduction-HowtosetupPATandlogintotheregistryHowtosetupPATandlogintotheregistry) on Confluence to set up a PAT for your GitHub account and log into the registry on the cluster before running this pipeline.
49
47
>
50
-
1. The recommended way of running the pipeline is to directly use the source code located here: `/hot/software/pipeline/pipeline-call-sSNV/Nextflow/release/`, rather than cloning a copy of the pipeline.
51
-
52
-
* The source code should never be modified when running our pipelines
53
-
54
-
2. Copy and edit the [input config file](config/template.config)
48
+
1. Copy and edit the [input config file](config/template.config)
55
49
> Make sure the reference .fa file in config file matches the reference genome in the input BAM files.
56
-
3. Copy and edit the [input YAML](input/call-sSNV-template.yaml)
57
-
4. The pipeline can be executed locally using the command below:
50
+
1. Copy and edit the [input YAML](input/call-sSNV-template.yaml)
51
+
1. The pipeline can be executed locally using the command below:
58
52
59
53
```bash
60
-
nextflow run path/to/main.nf -config path/to/input.config -params-file input.yaml`
54
+
nextflow run path/to/main.nf -config path/to/input.config -params-file input.yaml
61
55
```
62
56
63
-
For example,
64
-
*`path/to/main.nf` could be: `/hot/software/pipeline/pipeline-call-sSNV/Nextflow/release/5.0.0/main.nf`
65
-
*`path/to/input.config` is the path to where you saved your project-specific copy of [template.config](config/template.config)
66
-
*`path/to/input.yaml` is the path to where you saved your project-specific copy of [template.yaml](input/call-sSNV-template.yaml)
67
-
68
-
To submit to UCLAHS-CDS's Azure cloud, use the submission script [here](https://github.com/uclahs-cds/tool-submit-nf) with the command below:
69
-
70
-
```bash
71
-
python path/to/submit_nextflow_pipeline.py \
72
-
--nextflow_script path/to/main.nf \
73
-
--nextflow_config path/to/input.config\
74
-
--nextflow_yaml path/to/input.yaml \
75
-
--pipeline_run_name <run_name> \
76
-
--partition_type F72 \
77
-
--email jdoe@ucla.edu
78
-
```
79
-
> **Note**: Although --partition_type F2 is an available option for small data sets, Mutect2 and Muse will fail due to lack of memory.
80
-
81
-
82
57
---
83
58
84
59
## Flow Diagrams - Variant Calling
@@ -190,11 +165,11 @@ input:
190
165
|`dataset_id`| yes | string | The name/ID of the dataset |
191
166
|`exome`| yes | boolean | The option will be used by `Strelka2` and `MuSE`. When `true`, it will add the `--exome` option to Manta and Strelka2, and `-E` option to MuSE |
192
167
|`save_intermediate_files`| yes | boolean | Whether to save intermediate files |
193
-
|`work_dir`| no | string | The path of working directory for Nextflow, storing intermediate files and logs. The default is `/scratch` with `ucla_cds` and should only be changed for testing/development. Changing this directory to `/hot` or `/tmp` can lead to high server latency and potential disk space limitations, respectively|
168
+
|`work_dir`| no | string | The path of working directory for Nextflow, storing intermediate files and logs. The path to a temporary working directory for Nextflow, storing intermediate files and logs. It is recommended to use fast, local storage with high I/O performance.|
|`base_resource_update`| optional | namespace | Namespace of parameters to update base resource allocations in the pipeline. Usage and structure are detailed in `template.config` and below. |
196
171
197
-
*Providing `intersect_regions` is required and will limit the final output to just those regions. All regions of the reference genome could be provided as a `bed` file with all contigs, however it is HIGHLY recommended to remove `decoy` contigs from the human reference genome. Including these thousands of small contigs will require the user to increase available memory for`Mutect2` and will cause a very long runtime for`Strelka2`. See [Discussion here](https://github.com/uclahs-cds/pipeline-call-sSNV/discussions/216). For `uclahs-cds` users, a GRCh38 `bed.gz` file can be found here: `/hot/resource/tool-specific-input/pipeline-call-sSNV-6.0.0/GRCh38-BI-20160721/Homo_sapiens_assembly38_no-decoy.bed.gz`.
172
+
*Providing `intersect_regions` is required and will limit the final output to just those regions. All regions of the reference genome could be provided as a `bed` file with all contigs, however it is HIGHLY recommended to remove `decoy` contigs from the human reference genome. Including these thousands of small contigs will require the user to increase available memory for `Mutect2` and will cause a very long runtime for `Strelka2`. See [Discussion here](https://github.com/uclahs-cds/pipeline-call-sSNV/discussions/216).
198
173
199
174
### Base resource allocation updaters
200
175
To optionally update the base resource (cpus or memory) allocations for processes, use the following structure and add the necessary parts to the [input.config](config/template.config) file. The default allocations can be found in `config/resources.json`. If available resources have matched cpus and memory within `90% - 1GB` of one of the pre-specified configurations, that configuration will be used. Otherwise the default configuration will be used. A spreadsheet view of the resource configuration as of Dec 2024 is [here](https://github.com/uclahs-cds/pipeline-call-sSNV/discussions/328). For very large or challanging input samples, we suggest using the `m64` configuration or similar.
@@ -259,8 +234,8 @@ base_resource_update {
259
234
| filter_mutect_calls_extra_args | no | string | Additional arguments for the FilterMutectCalls command |
260
235
| gatk_command_mem_diff | yes | nextflow.util.MemoryUnit | How much to subtract from the task's allocated memory where the remainder is the Java heap max. (should not be changed unless task fails for memory related reasons) |
261
236
| scatter_count | yes | int | Number of intervals to split the desired interval into. Mutect2 will call each interval seperately. |
262
-
| germline_resource_gnomad_vcf | no | path | A stripped down version of the [gnomAD VCF](https://gnomad.broadinstitute.org/) stripped of all unneeded INFO fields, keeping only AF, currently available for GRCh38:`/hot/resource/tool-specific-input/GATK/GRCh38/af-only-gnomad.hg38.vcf.gz` and GRCh37: `/hot/resource/tool-specific-input/GATK/GRCh37/af-only-gnomad.raw.sites.vcf`. |
263
-
| panel_of_normals_vcf | no | path | VCF file of sites observed in normal. Currently available for GRCh38: `/hot/resource/tool-specific-input/GATK/GRCh38/1000g_pon.hg38.vcf.gz`. This could be useful for tumor only mode. |
237
+
| germline_resource_gnomad_vcf | no | path | A stripped down version of the [gnomAD VCF](https://gnomad.broadinstitute.org/) stripped of all unneeded INFO fields, keeping only AF. |
238
+
| panel_of_normals_vcf | no | path | VCF file of sites observed in normal. This could be useful for tumor only mode. |
264
239
265
240
#### MuSE Specific Configuration
266
241
| Input | Required | Type | Description |
@@ -330,10 +305,7 @@ Duration: 9h 21m 23s
330
305
331
306
332
307
#### Strelka2
333
-
Strelka2's runtime will be significantly improved when using `--callRegions` option to exclude the non-canoincal regions of the genome, here is the results of CPCG0196:
334
-
Sample: CPCG0196
335
-
Normal BAM: `/hot/software/pipeline/pipeline-align-DNA/Nextflow/development/outputs/bwa-mem2_and_hisat2-2.2.1/bwa-mem2/bams/a-full-CPCG0196-B1/align-DNA-20210424-024139/pipeline-alignDNA.inputs.CPCG0196-B1.bam`
Strelka2's runtime will be significantly improved when using `--callRegions` option to exclude the non-canonincal regions of the genome. Here are results from a typical BAM pair
Therefore, we strongly suggest to use the `--callRegions` if the non-canonical region is unnecessary. `-callRegions`'s input `bed.gz` file can be found here: `/hot/resource/tool-specific-input/Strelka2/GRCh38/strelka2_call_region.bed.gz`. For other genome version, you can use [UCSC Liftover](https://genome.ucsc.edu/cgi-bin/hgLiftOver) to convert.
324
+
Therefore, we strongly suggest to use the `--callRegions` if the non-canonical region is unnecessary.
353
325
354
326
#### MuSE v2.0
355
-
MuSE v2.0 was tested with a normal/tumor paired CPCG0196 WGS sample on a F32 slurm-dev node.
327
+
MuSE v2.0 was tested with a normal/tumor paired CPCG0196 WGS sample on an exclusive node with 32 cpus and 64 GB memory.
0 commit comments