Configure synthea-alldiseases for WES execution

- Rewrite params.json to match WES tool registry format
- Update main.nf to use Harbor container image
- Add k8s profile to nextflow.config for WES/Kubernetes execution
- Use s3://omic/eureka paths for output
This commit is contained in:
2026-03-25 12:31:34 +01:00
parent e10ae0cf81
commit d468509ec3
3 changed files with 195 additions and 160 deletions

View File

@@ -1,54 +1,44 @@
// Nextflow configuration file
manifest {
description = 'Synthea Module Generator Pipeline'
name = 'synthea-alldiseases'
description = 'Synthea synthetic patient generator pipeline'
mainScript = 'main.nf'
version = '1.0.0'
}
// Load parameters from params.json
def paramsJson = new File("$baseDir/params.json").text
def paramsData = new groovy.json.JsonSlurper().parseText(paramsJson)
// Keep work directories for debugging
cleanup = false
// Merge with defaults
params {
local_output_dir = "$baseDir/local_output"
disease_name = paramsData.disease_name
modules_dir = paramsData.modules_dir ?: "/Users/richman/workspace/synthea-alldiseases/modules"
output_dir = paramsData.output_dir ?: "/mnt/OmicNAS/private/old/olamide/synthea/output/new"
population = paramsData.population ?: 100
gender = paramsData.gender ?: 0.5
min_age = paramsData.min_age ?: 0
max_age = paramsData.max_age ?: 90
seed = paramsData.seed
generate_patients = paramsData.generate_patients ?: true
publish_dir = paramsData.publish_dir ?: "published_output"
// Additional params
max_cost = 5.0
timeout = 300
anthropic_api_key = null
batch_size = 1
help = false
}
docker {
enabled = true
runOptions = "-v $baseDir/$params.modules_dir:/app/src/main/resources/modules -v $baseDir/src/main/python:/app/src/main/python -v $baseDir/src/main/resources:/app/src/main/resources -v $baseDir/.env:/app/.env -v $baseDir/module_generator:/app/module_generator -v $baseDir/modules:/app/modules"
}
process {
container = 'synthea-module-generator'
containerOptions = "-e MODULES_DIR=/app/src/main/resources/modules -e PYTHONPATH=/app -e ANTHROPIC_API_KEY=${params.anthropic_api_key}"
}
trace {
enabled = true
overwrite = true
file = "$baseDir/trace.txt"
disease_name = null
outdir = null
population = 10
gender = 0.5
min_age = 0
max_age = 90
seed = null
}
profiles {
standard {
process.executor = 'local'
}
standard {
docker {
enabled = true
temp = 'auto'
}
}
k8s {
process {
executor = 'k8s'
container = 'harbor.cluster.omic.ai/omic/synthea-alldiseases:latest'
}
docker {
enabled = true
}
k8s {
storageClaimName = 'eureka-pvc'
storageMountPath = '/omic/eureka'
}
}
}
process {
cpus = 2
memory = '4 GB'
}