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.
94 lines
3.6 KiB
Plaintext
94 lines
3.6 KiB
Plaintext
nextflow.enable.dsl=2
|
|
|
|
// Digital-trials pipeline WITHOUT biotransformer.
|
|
// Metabolites are supplied externally (e.g. the consolidated final-metabolites
|
|
// dir from prior gabe runs). Otherwise identical to test.nf.
|
|
//
|
|
// New required param vs test.nf:
|
|
// params.metabolites - dir of `<stem>_out.txt` files matching ligand `<stem>.csv`
|
|
// Dropped (no biotransformer/chembl):
|
|
// container_biotransformer, container_chembl, bt_* knobs, chembl_db, mode
|
|
|
|
params.container_conplex = 'harbor.cluster.omic.ai/omic/digitaltrials/conplex_dig_pat@sha256:7a3523dba6fa01e3adc9cb79af5e1dcbd2a19d9f92e37cd10df462766078ede3'
|
|
params.container_tissue = 'harbor.cluster.omic.ai/omic/digitaltrials/tissue:1.0.6'
|
|
params.container_preprocess = 'harbor.cluster.omic.ai/omic/metabolite-screen@sha256:872c395e21abd4afea4185b269a8218da4737bd7adbb2cbe2bdf9a1b9c70db17'
|
|
params.container_mass_screen = 'harbor.cluster.omic.ai/omic/metabolite-screen:adaptive-1.1.1'
|
|
|
|
params.containerOptions = '--rm'
|
|
|
|
params.project_name = 'test_no_bt'
|
|
|
|
//CONPLEX
|
|
params.keep_enst = 'false'
|
|
params.conplex_initial_memory = 5
|
|
params.conplex_growth_memory = 15
|
|
params.conplex_max_retries = 1
|
|
params.conplex_fail_action = 'ignore'
|
|
params.threshold = 0.65
|
|
params.protein_network_threshold = 0.65
|
|
|
|
// NETWORK_ENRICHMENT (string-db)
|
|
params.string_max_forks = 5
|
|
params.string_max_retries = 1
|
|
params.string_fail_action = 'ignore'
|
|
params.string_initial_memory = 1
|
|
params.string_growth_memory = 2
|
|
|
|
// TISSUE_DISTRIBUTION + BIO_METRICS
|
|
params.tissue_initial_memory = 5
|
|
params.tissue_growth_memory = 5
|
|
params.tissue_max_retries = 2
|
|
params.tissue_fail_action = 'ignore'
|
|
|
|
params.bio_initial_memory = 5
|
|
params.bio_growth_memory = 5
|
|
params.bio_max_retries = 2
|
|
params.bio_fail_action = 'ignore'
|
|
|
|
// ========================================= FILEPATHS ===================================================
|
|
params.outdir = '/mnt/omic-next-apis/wes/digital_trials/'
|
|
params.ligands = '/mnt/dreamdock-data/digital_trials/input/test_multitaget'
|
|
params.metabolites = '/mnt/dreamdock-data/digital_trials/input/test_metabolites'
|
|
params.mutated_protein_fasta = '/mnt/dreamdock-data/digital_trials/input/blank'
|
|
params.protein_zarr = '/mnt/dreamdock-data/digital_trials/zarr/protein_seq.zarr'
|
|
// =====================================================================================================================================
|
|
|
|
include { CONPLEX as CONPLEX_ALL } from './main_conplex.nf'
|
|
include { PREPROCESS_PROTEIN } from './main_conplex.nf'
|
|
include { NETWORK_ENRICHMENT } from './main_conplex.nf'
|
|
include { TISSUE_DISTRIBUTION } from './main_tissue.nf'
|
|
include { BIO_METRICS } from './main_tissue.nf'
|
|
|
|
workflow {
|
|
lig_ch = Channel.fromPath("${params.ligands}/*.csv")
|
|
metabolite_ch = Channel.fromPath("${params.metabolites}/*_out.txt")
|
|
|
|
protein_fasta = Channel
|
|
.fromPath("${params.mutated_protein_fasta}/*.fasta")
|
|
.collect()
|
|
protein_zarr = PREPROCESS_PROTEIN(protein_fasta).collect().map { it[0] }
|
|
pre_protein_zarr = Channel.fromPath(params.protein_zarr)
|
|
merged_zarr = protein_zarr.concat(pre_protein_zarr).collect()
|
|
|
|
lig_with_id = lig_ch.map { csv ->
|
|
[csv.simpleName, csv]
|
|
}
|
|
|
|
metabolite_with_id = metabolite_ch.map { txt ->
|
|
def name = txt.simpleName.replaceAll(/_out$/, '')
|
|
[name, txt]
|
|
}
|
|
|
|
matched_ch = lig_with_id.join(metabolite_with_id)
|
|
|
|
CONPLEX_ALL(matched_ch, merged_zarr)
|
|
|
|
conplex_interactions_ch = CONPLEX_ALL.out.map { id, drug, interactions -> interactions }
|
|
|
|
NETWORK_ENRICHMENT(conplex_interactions_ch)
|
|
TISSUE_DISTRIBUTION(conplex_interactions_ch)
|
|
|
|
biometric_ch = matched_ch.join(CONPLEX_ALL.out)
|
|
BIO_METRICS(biometric_ch)
|
|
}
|