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:
Olamide Isreal
2026-07-27 21:59:52 +01:00
commit 9e75f44f1a
86 changed files with 10142 additions and 0 deletions

49
test.nf.save Executable file
View File

@@ -0,0 +1,49 @@
nextflow.enable.dsl=2
//BIOTRANSFORMER
params.container_biotransformer = 'biotransformer:latest'
params.containerOptions = '--gpus all --rm -v /mnt:/mnt'
params.outdir = '/mnt/OmicNAS/private/old/gabe/digital_trials'
params.project_name = 'test'
params.ligands = '/Workspace/next/registry/pipelines/digital_trials/input'
//IMPOTRANT!!! use HUMAN. Only one that returns what is expected. metabolism to the last step. It's only one properly set up
params.mode = 'HUMAN' // Options: SUPER, HUMAN, MASS, ORDERED # only HUMAN is fully implemented
//CONPLEX
params.container_conplex= 'conplex_dig_pat'
params.mutated_protein_fasta = '/Workspace/next/registry/pipelines/digital_trials/input/*.fasta'
params.threshold = 0.2 //0.75
params.screening_batch_size =100000 //100k is ideal to optimize performance with virtual screening
//BIOTRANSFORMER
include { SUPER_TRANSFORMER } from './main_biotransformer.nf'
include { HUMAN_TRANSFORMER } from './main_biotransformer.nf'
include { METABOLITES_BY_MASS } from './main_biotransformer.nf'
include { ORDERED_SEQUENCE } from './main_biotransformer.nf'
include { GET_FINAL_METABOLITES } from './main_biotransformer.nf'
//CONPLEX
include { CONPLEX } from './main_conplex.nf'
workflow {
//BIOTRANSFORMER
lig_ch = Channel.fromPath("${params.ligands}/*.csv")
switch (params.mode) {
case 'SUPER':
SUPER_TRANSFORMER(lig_ch)
break
case 'HUMAN':
HUMAN_TRANSFORMER(lig_ch)
break
case 'MASS':
METABOLITES_BY_MASS(lig_ch)
break
case 'ORDERED':
ORDERED_SEQUENCE(lig_ch)
break
default:
println("Invalid mode specified: ${params.mode}")
}
GET_FINAL_METABOLITES(HUMAN_TRANSFORMER.out)
//CONPLEX
}