- Add Nextflow pipeline (main.nf) with Harbor container image - Add nextflow.config with k8s/k8s_gpu/standard profiles - Add params.json for TRS/WES parameter discovery - Add Dockerfile, entrypoint.py, meta.yml from original implementation - Update paths to use /omic/eureka/Pocketminer/ convention - Update .gitignore to allow params.json
45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
#!/usr/bin/env nextflow
|
|
|
|
nextflow.enable.dsl=2
|
|
|
|
// Parameters
|
|
params.pdb = '/omic/eureka/Pocketminer/1HSG.pdb'
|
|
params.outdir = '/omic/eureka/Pocketminer/output'
|
|
params.model_path = '/workspace/gvp/models/pocketminer'
|
|
params.debug = false
|
|
|
|
// Process definition
|
|
process POCKETMINER {
|
|
container 'harbor.cluster.omic.ai/omic/pocketminer:latest'
|
|
publishDir params.outdir, mode: 'copy'
|
|
stageInMode 'copy'
|
|
|
|
input:
|
|
path pdb_file
|
|
|
|
output:
|
|
path "*-preds.npy", emit: predictions_npy
|
|
path "*-predictions.txt", emit: predictions_txt
|
|
path "*-summary.json", emit: summary
|
|
path "*_X.npy", optional: true, emit: features_debug
|
|
path "*_S.npy", optional: true, emit: sequence_debug
|
|
path "*_mask.npy", optional: true, emit: mask_debug
|
|
|
|
script:
|
|
def pdb_basename = pdb_file.baseName
|
|
def debug_flag = params.debug ? '--debug' : ''
|
|
"""
|
|
python /workspace/entrypoint.py \\
|
|
--pdb ${pdb_file} \\
|
|
--output-folder . \\
|
|
--output-name ${pdb_basename} \\
|
|
--model-path ${params.model_path} \\
|
|
${debug_flag}
|
|
"""
|
|
}
|
|
|
|
// Workflow
|
|
workflow {
|
|
POCKETMINER(Channel.of(file(params.pdb)))
|
|
}
|