52 lines
1.4 KiB
Plaintext
52 lines
1.4 KiB
Plaintext
// Nextflow configuration file
|
|
manifest {
|
|
description = 'Synthea Module Generator Pipeline'
|
|
}
|
|
|
|
// Load parameters from params.json
|
|
def paramsJson = new File("$baseDir/params.json").text
|
|
def paramsData = new groovy.json.JsonSlurper().parseText(paramsJson)
|
|
|
|
// Merge with defaults
|
|
params {
|
|
disease_name = paramsData.disease_name
|
|
modules_dir = paramsData.modules_dir ?: "/Users/richman/workspace/synthea-alldiseases/modules"
|
|
output_dir = paramsData.output_dir ?: "output"
|
|
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"
|
|
}
|
|
|
|
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"
|
|
}
|
|
|
|
profiles {
|
|
standard {
|
|
process.executor = 'local'
|
|
}
|
|
}
|