From badabb29c54af63519bb1adf69712e82aafd2d0c Mon Sep 17 00:00:00 2001 From: Sorel Fitz-Gibbon Date: Fri, 22 Dec 2023 14:15:30 -0800 Subject: [PATCH 1/3] add indexFile --- CHANGELOG.md | 1 + README.md | 11 +++++++++++ modules/common/indexFile/main.nf | 16 ++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 modules/common/indexFile/main.nf diff --git a/CHANGELOG.md b/CHANGELOG.md index 3135094..3cdcbde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## [Unreleased] ### Added +- Add `indexFile` module to return index file path - Add intermediate file/directory removal module - Add genome interval extraction module - Add PipeVal validation module diff --git a/README.md b/README.md index 9438269..69d818a 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,17 @@ Parameters: 3. Use the `addParams` directive when importing to specify any params. 4. Call the process with the input channel, a tuple with `id` and `file_path`. +### Return Expected Index File +##### Description +Module returns the expected path to the index file for a given input file. +NOTE! This does not check for the existence of the index file. + +Inputs: + - input_file: currently supports BAM or VCF + +Output: + - The input file path with the expected index extension appended: currently `.bai` for BAM files and `.tbi` for VCF files + ## License Author: Yash Patel (YashPatel@mednet.ucla.edu) diff --git a/modules/common/indexFile/main.nf b/modules/common/indexFile/main.nf new file mode 100644 index 0000000..75d9456 --- /dev/null +++ b/modules/common/indexFile/main.nf @@ -0,0 +1,16 @@ +/** +* Module returns the expected path to a file's index file. +* Note that this is not a check for the existence of the index file. +*/ + +def indexFile(Object bam_or_vcf) { + if(bam_or_vcf.endsWith('.bam')) { + return "${bam_or_vcf}.bai" + } + else if(bam_or_vcf.endsWith('vcf.gz')) { + return "${bam_or_vcf}.tbi" + } + else { + throw new Exception("Index file for ${bam_or_vcf} file type not supported. Use .bam or .vcf.gz files.") + } + } From de5323bcc24d1140047e74ff4876c144caa43969 Mon Sep 17 00:00:00 2001 From: Sorel Fitz-Gibbon Date: Mon, 8 Jan 2024 12:49:19 -0800 Subject: [PATCH 2/3] update readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 69d818a..05ea58f 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,11 @@ Inputs: Output: - The input file path with the expected index extension appended: currently `.bai` for BAM files and `.tbi` for VCF files +##### How to use +1. Add this repository as a submodule in the pipeline of interest. +2. Include the `indexFile` process from the module `main.nf` with a relative path. +3. Call the function as needed with the approriate input and use returned value as index file name + ## License Author: Yash Patel (YashPatel@mednet.ucla.edu) From fcd7ad63e5545f593fe9cf69d9171c16b861673b Mon Sep 17 00:00:00 2001 From: Sorel Fitz-Gibbon <3223552+sorelfitzgibbon@users.noreply.github.com> Date: Mon, 8 Jan 2024 13:10:52 -0800 Subject: [PATCH 3/3] Update README.md Co-authored-by: Yash Patel <86321070+yashpatel6@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05ea58f..47cfffc 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ Output: ##### How to use 1. Add this repository as a submodule in the pipeline of interest. -2. Include the `indexFile` process from the module `main.nf` with a relative path. +2. Include the `indexFile` function from the module `main.nf` with a relative path. 3. Call the function as needed with the approriate input and use returned value as index file name ## License