Files
digital-patients/nextflow.config
Olamide Isreal 9e6a16c19b Initial commit: digital-patients pipeline (clean, no large files)
Large reference/model files excluded from repo - to be staged to S3 or baked into Docker images.
2026-03-26 15:15:23 +01:00

99 lines
2.2 KiB
Plaintext

manifest {
name = 'digital patients'
author = 'omic'
recurseSubmodules = true
homePage = 'https://gitlab.com/omic/next/registry/pipelines/digitalpatients'
description = 'generative digital patients and multi-omics pipeline'
mainScript = 'main.nf'
nextflowVersion = '!>=21.04.3'
defaultBranch = 'master'
}
// docker {
// enabled = true
// temp = 'auto'
// }
// process {
// withLabel: 'gpu_process' {
// containerOptions = '--gpus all --rm'
// }
//
// withLabel: 'cpu_process' {
// containerOptions = '--rm'
// }
// }
def sharedPod = [
[env: 'NXF_DEBUG', value: '0'],
[label: 'omic-app', value: 'digitalpatients'],
[imagePullSecret: 'gitlab-registry-secret'],
[volumeClaim: 'avatar-new', mountPath: '/mnt/Avatar/'],
]
profiles {
docker {
docker.enabled = true
process {
executor = 'local'
withLabel: 'gpu_process' {
maxForks = 1 // Only one GPU task at a time on single GPU system
containerOptions = '--gpus all --rm'
}
withLabel: 'cpu_process' {
containerOptions = '--rm'
}
}
}
k8s {
process {
executor = 'k8s'
namespace = 'bioinformatics'
debug = true
pod = sharedPod
withLabel: 'gpu_process' {
pod = sharedPod + [
[nodeSelector: [gpu: 'yes', 'gpu-type': 'geforce-rtx-3090']]
]
}
}
workDir = "/mnt/dreamdock-data/digital-patient-data/work"
k8s {
serviceAccount = 'nextflow-sa'
namespace = 'bioinformatics'
storageClaimName = 'dreamdock-data'
storageMountPath = '/mnt/dreamdock-data'
pullPolicy = 'IfNotPresent'
cleanup = true // delete pods after Ctrl+C or finished?
// cleanup = false // delete pods after Ctrl+C or finished?
// RUN AS DIFFERENT USERS
// securityContext = [fsGroup: 1000]
// securityContext = [
// runAsUser: 1000,
// fsGroup: 1000,
// runAsNonRoot: true
// ]
}
// Use container image
// process.container = 'harbor.cluster.omic.ai/omic/faiss-indexer:latest'
}
}