解决Nextflow运行bowtie2-build时的PublishDir无效条目报错
解决Nextflow publishDir报错:Not a valid PublishDir entry [org.codehaus.groovy.runtime.GStringImpl]
这个报错的核心原因是Groovy GString与Java字符串类型不匹配:你在params里用双引号定义ref_dir时,$projectDir会被解析成Groovy的GString对象,但Nextflow的publishDir参数要求传入Java原生字符串,类型不兼容导致了这个错误。
解决方法(任选其一即可)
修改参数定义为原生字符串
把params里的双引号换成单引号,避免GString解析:params { ref_dir = '$projectDir/reference/bowtie_index' }或者显式调用
toString()强制转换为Java字符串:params { ref_dir = "$projectDir/reference/bowtie_index".toString() }在process中转换参数类型
直接在publishDir配置里把参数转为字符串:process BOWTIE_INDEX { publishDir params.ref_dir.toString(), mode = 'symlink' conda 'bioconda::bowtie2' input: path reference_fa output: path 'GRCm38*' script: """ bowtie2-build $reference_fa GRCm38 """ }
修改后重新运行流程,Nextflow就能正确识别发布目录路径,完成索引文件的符号链接创建。
内容的提问来源于stack exchange,提问作者Sophie
相关产品推荐
相关产品推荐

