diff --git a/pipelines/skylab/multiome/Multiome.changelog.md b/pipelines/skylab/multiome/Multiome.changelog.md index ef3c77cf54..e425ee4856 100644 --- a/pipelines/skylab/multiome/Multiome.changelog.md +++ b/pipelines/skylab/multiome/Multiome.changelog.md @@ -1,3 +1,7 @@ +# 3.0.2 +2023-12-20 (Date of Last Commit) +* JoinMultiomeBarcodes now has dynamic memory and disk allocation + # 3.0.1 2023-12-12 (Date of Last Commit) * ValidateVcfs now has optional memory parameter; this does not affect this pipeline diff --git a/pipelines/skylab/multiome/Multiome.wdl b/pipelines/skylab/multiome/Multiome.wdl index e7fe42070f..e01f481f49 100644 --- a/pipelines/skylab/multiome/Multiome.wdl +++ b/pipelines/skylab/multiome/Multiome.wdl @@ -6,7 +6,7 @@ import "../../../tasks/skylab/H5adUtils.wdl" as H5adUtils import "https://raw.githubusercontent.com/broadinstitute/CellBender/v0.3.0/wdl/cellbender_remove_background.wdl" as CellBender workflow Multiome { - String pipeline_version = "3.0.1" + String pipeline_version = "3.0.2" input { String input_id diff --git a/pipelines/skylab/optimus/Optimus.changelog.md b/pipelines/skylab/optimus/Optimus.changelog.md index 4d842c5880..731988d073 100644 --- a/pipelines/skylab/optimus/Optimus.changelog.md +++ b/pipelines/skylab/optimus/Optimus.changelog.md @@ -1,3 +1,8 @@ +# 6.3.1 +2023-12-20 (Date of Last Commit) + +* JoinMultiomeBarcodes now has dynamic memory and disk allocation; this does affect the Optimus workflow + # 6.3.0 2023-12-04 (Date of Last Commit) diff --git a/pipelines/skylab/optimus/Optimus.wdl b/pipelines/skylab/optimus/Optimus.wdl index 5c8fd19f7f..7ee20891e4 100644 --- a/pipelines/skylab/optimus/Optimus.wdl +++ b/pipelines/skylab/optimus/Optimus.wdl @@ -64,7 +64,7 @@ workflow Optimus { # version of this pipeline - String pipeline_version = "6.3.0" + String pipeline_version = "6.3.1" # this is used to scatter matched [r1_fastq, r2_fastq, i1_fastq] arrays Array[Int] indices = range(length(r1_fastq)) diff --git a/tasks/skylab/H5adUtils.wdl b/tasks/skylab/H5adUtils.wdl index 76c56310fb..1409f3f089 100644 --- a/tasks/skylab/H5adUtils.wdl +++ b/tasks/skylab/H5adUtils.wdl @@ -192,22 +192,22 @@ task JoinMultiomeBarcodes { File gex_h5ad File gex_whitelist File atac_whitelist - Int disk_size = 500 - Int mem_size = 16 Int nthreads = 1 String cpuPlatform = "Intel Cascade Lake" } String gex_base_name = basename(gex_h5ad, ".h5ad") String atac_base_name = basename(atac_h5ad, ".h5ad") String atac_fragment_base = basename(atac_fragment, ".tsv") + + Int machine_mem_mb = ceil((size(atac_h5ad, "MiB") + size(gex_h5ad, "MiB") + size(atac_fragment, "MiB")) * 3) + 10000 + Int disk = ceil((size(atac_h5ad, "GiB") + size(gex_h5ad, "GiB") + size(atac_fragment, "GiB")) * 5) + 10 + parameter_meta { atac_h5ad: "The resulting h5ad from the ATAC workflow." atac_fragment: "The resulting fragment TSV from the ATAC workflow." gex_h5ad: "The resulting h5ad from the Optimus workflow." gex_whitelist: "Whitelist used for gene expression barcodes." atac_whitelist: "Whitelist used for ATAC barcodes." - disk_size: "Disk size used in create fragment file step." - mem_size: "The size of memory used in create fragment file." } command <<< @@ -280,8 +280,8 @@ task JoinMultiomeBarcodes { runtime { docker: "us.gcr.io/broad-gotc-prod/snapatac2:1.0.4-2.3.1-1700590229" - disks: "local-disk ${disk_size} SSD" - memory: "${mem_size} GiB" + disks: "local-disk ~{disk} HDD" + memory: "${machine_mem_mb} MiB" cpu: nthreads }