Files
digital-trial/test.nf.bk
Olamide Isreal 9e75f44f1a 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.
2026-07-27 21:59:52 +01:00

62 lines
2.2 KiB
Plaintext
Executable File

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:latest'
params.mutated_protein_fasta = '/Workspace/next/registry/pipelines/digital_trials/input'
params.threshold = 0.8 //0.5 //0.7
params.screening_batch_size =100000 //100k is ideal to optimize performance with virtual screening
params.protein_network_threshold = 0.95
//TISSUE DISTRIBUTION
params.container_tissue = 'tissue:latest'
//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'
include { NETWORK_ENRICHMENT } from './main_conplex.nf'
//TISSUE_DISTRIBUTION
include { TISSUE_DISTRIBUTION } from './main_tissue.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
pat_fasta = Channel.fromPath("${params.mutated_protein_fasta}/*.fasta")
CONPLEX(lig_ch, GET_FINAL_METABOLITES.out, pat_fasta)
NETWORK_ENRICHMENT(CONPLEX.out.interactions)
//TISSUE DISTRIBUTION
TISSUE_DISTRIBUTION(CONPLEX.out.interactions)
}