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