主题:寻找一种好的输出格式来使用从 Nextflow 的新脚本/进程中的文件中提取的值
我似乎无法弄清楚这一点:
我正在 Nextflow 中编写一些进程,其中我从 txt.file (PROCESS1) 中提取一个值,并且我想在第二个进程 (PROCESS2) 中使用它。值的提取没有问题,但找到合适的输出格式是。问题是,当我将标准输出(OPTION1)保存到频道时,似乎附加了某种“/n”,这在我的第二个脚本中产生了问题。
或者,因为这不起作用,我想将 PROCESS1 的输出保存为文件(OPTION2)。这也没有问题,但我找不到在 PROCESS2 中读取文件内容的正确方法。我怀疑它与“getText()”有关,但我尝试了几件事,但都失败了。
最后我想尝试将输出保存为变量(OPTION3),但我不知道该怎么做。
过程1
process txid {
publishDir "$wanteddir", mode:'copy', overwrite: true
input:
file(report) from report4txid
output:
stdout into txid4assembly //OPTION 1
file(txid.txt) into txid4assembly //OPTION 2
val(txid) into txid4assembly //OPTION 3: doesn't work
shell:
'''
column -s, -t < !{report}| awk '$4 == "S"'| head -n 1 | cut -f5 //OPTION1
column -s, -t < !{report}| awk '$4 == "S"'| head -n 1 | cut -f5 > txid.txt //OPTION2
column -s, -t < !{report}| awk '$4 == "S"'| head -n 1 | cut -f5 > txid //OPTION3
'''
}
过程2
process accessions {
publishDir "$wanteddir", mode:'copy', overwrite: true
input:
val(txid) from txid4assembly //OPTION1 & OPTION3
file(txid) from txid4assembly //OPTION2
output:
file("${txid}accessions.txt") into accessionlist
script:
"""
esearch -db assembly -query '${txid}[txid] AND "complete genome"[filter] AND "latest refseq"[filter]' \
| esummary | xtract -pattern DocumentSummary -element AssemblyAccession > ${txid}accessions.txt
"""
}
选项 1 后的过程 2 脚本(备注:输出 = 573,布局未更改)
esearch -db assembly -query '573
[txid] AND "complete genome"[filter] AND "latest refseq"[filter]' | esummary | xtract -pattern DocumentSummary -element AssemblyAccession > 573
accessions.txt
谢谢您的帮助!