Digital Trials pipeline configured for WES
Source-only snapshot of the cluster branch for WES execution. Large reference files (HPA/MANE/ensemble FASTA, model weights, ~597 MB) are omitted: they are baked into the container images at build time and mounted from the dreamdock-data PVC at runtime, and exceed the Gitea request size limit. Pipeline entry point is main.nf, which orchestrates the biotransformer, conplex and tissue modules as a single workflow. Ligand inputs are read from the eureka workspace; protein_zarr and chembl_db come from the dreamdock-data PVC.
This commit is contained in:
90
nextflow.config
Executable file
90
nextflow.config
Executable file
@@ -0,0 +1,90 @@
|
||||
manifest {
|
||||
name = 'Digital Trial'
|
||||
author = 'omic'
|
||||
recurseSubmodules = true
|
||||
homePage = 'https://gitlab.com/omic/next/registry/tools/digital-trial.git'
|
||||
description = 'Digital drug protein interactions'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=21.04.3'
|
||||
defaultBranch = 'master'
|
||||
}
|
||||
|
||||
docker {
|
||||
enabled = true
|
||||
temp = 'auto'
|
||||
remove = true
|
||||
}
|
||||
|
||||
process {
|
||||
withLabel: 'gpu_process' {
|
||||
containerOptions = '--gpus all --rm'
|
||||
|
||||
pod = [
|
||||
[nodeSelector: [gpu: 'yes', 'gpu-type': 'geforce-rtx-3090']]
|
||||
]
|
||||
}
|
||||
|
||||
withLabel: 'cpu_process' {
|
||||
containerOptions = '--rm'
|
||||
}
|
||||
}
|
||||
|
||||
profiles {
|
||||
// Minimal k8s profile: WES injects its own profile.config via -C, which supplies the
|
||||
// executor, namespace, service account, workDir and PVC mounts. Anything set here that
|
||||
// WES also sets is either overridden or conflicts, so keep this deliberately sparse.
|
||||
//
|
||||
// NOTE: the dreamdock-data PVC must be mounted by the WES-side profile for
|
||||
// params.protein_zarr and params.chembl_db (/mnt/dreamdock-data/...) to resolve.
|
||||
k8s {
|
||||
process.executor = 'k8s'
|
||||
}
|
||||
|
||||
// Full standalone k8s profile for running this pipeline directly (not via WES),
|
||||
// e.g. `nextflow run main.nf -profile k8s_standalone` from a pod on the cluster.
|
||||
k8s_standalone {
|
||||
process.executor = 'k8s'
|
||||
process.namespace = 'bioinformatics'
|
||||
process.debug = true
|
||||
|
||||
workDir = "/mnt/dreamdock-data/digital_trials/workdir"
|
||||
|
||||
executor {
|
||||
queueSize = 0 // Increase to desired concurrency
|
||||
// submitRateLimit = '1 sec' // Recommended to prevent K8s API timeouts
|
||||
}
|
||||
|
||||
k8s {
|
||||
serviceAccount = 'nextflow-sa'
|
||||
namespace = 'bioinformatics'
|
||||
storageClaimName = 'dreamdock-data'
|
||||
storageMountPath = '/mnt/dreamdock-data'
|
||||
|
||||
pullPolicy = 'IfNotPresent'
|
||||
cleanup = true // delete pods after Ctrl+C or finished?
|
||||
|
||||
imagePullSecrets = 'omic-registry-secret'
|
||||
|
||||
// RUN AS DIFFERENT USERS
|
||||
// securityContext = [fsGroup: 1000]
|
||||
// securityContext = [
|
||||
// runAsUser: 1000,
|
||||
// fsGroup: 1000,
|
||||
// runAsNonRoot: true
|
||||
// ]
|
||||
}
|
||||
|
||||
// Pod-level customization
|
||||
process.pod = [
|
||||
[env: 'NXF_DEBUG', value: '0'],
|
||||
[label: 'omic-app', value: 'dreamdock'],
|
||||
[imagePullSecret: 'gitlab-registry-secret'],
|
||||
// [nodeSelector: [gpu: 'yes', 'gpu-type': 'rtx-3090']],
|
||||
[hostPath: '/mnt/ZINC-22/', mountPath: '/mnt/ZINC-22/']
|
||||
// [volumeClaim: 'conplex-index-builder-data', mountPath: '/mnt/conplex-index/']
|
||||
// [privileged: true],
|
||||
]
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user