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' } }