访问配置文件中的复杂密钥
Accessing a complex key in a config file
我试图在管道执行期间访问 nextflow.config
文件中的变量。我想在 run.nf
中提供 image_standard
作为字符串,我想接收 eu.gcr.io/proj_name/image1:latest
作为输出。我想出了一种在 nextflow 脚本中获取 .config
文件内容的方法,但我不知道如何访问这个特定的 属性.
这是我的 nextflow.config
文件:
process {
withLabel: image_standard {
container = "eu.gcr.io/proj_name/image1:latest"
}
withLabel: image_deluxe {
container = "eu.gcr.io/proj_name/image2:latest"
}
}
run.nf
x = workflow.configFiles[0]
Properties properties = new Properties()
File propertiesFile = new File("${x}")
propertiesFile.withInputStream {
properties.load(it)
}
log.info "${properties.process}"
它只打印行:
{
您可以尝试改用配置文件并使用 ProcessConfig class 和 applyConfigSelector() 方法选择您想要的进程:
import nextflow.config.ConfigParser
import nextflow.script.ProcessConfig
def config_file = file("${baseDir}/nextflow.config")
def config = new ConfigParser().setIgnoreIncludes(true).parse(config_file.text)
def process = new ProcessConfig([:])
process.applyConfigSelector(config.process, 'withLabel:', 'image_standard')
println(process.container)
我试图在管道执行期间访问 nextflow.config
文件中的变量。我想在 run.nf
中提供 image_standard
作为字符串,我想接收 eu.gcr.io/proj_name/image1:latest
作为输出。我想出了一种在 nextflow 脚本中获取 .config
文件内容的方法,但我不知道如何访问这个特定的 属性.
这是我的 nextflow.config
文件:
process {
withLabel: image_standard {
container = "eu.gcr.io/proj_name/image1:latest"
}
withLabel: image_deluxe {
container = "eu.gcr.io/proj_name/image2:latest"
}
}
run.nf
x = workflow.configFiles[0]
Properties properties = new Properties()
File propertiesFile = new File("${x}")
propertiesFile.withInputStream {
properties.load(it)
}
log.info "${properties.process}"
它只打印行:
{
您可以尝试改用配置文件并使用 ProcessConfig class 和 applyConfigSelector() 方法选择您想要的进程:
import nextflow.config.ConfigParser
import nextflow.script.ProcessConfig
def config_file = file("${baseDir}/nextflow.config")
def config = new ConfigParser().setIgnoreIncludes(true).parse(config_file.text)
def process = new ProcessConfig([:])
process.applyConfigSelector(config.process, 'withLabel:', 'image_standard')
println(process.container)