【发布时间】:2019-03-22 19:48:49
【问题描述】:
这是我第一次创建包含两个变量的 for 循环。我有一堆想要检查的 DNA 测序样本。每组数据有两个文件需要同时运行。
当我在没有 for 循环变量的情况下在 R 中运行 system(paste()) 时,它工作得很好。所以我知道问题出在循环本身。当我运行下面的脚本时,我没有收到错误,它运行但没有任何反应。
我显然搞砸了。我只是不知道从这里去哪里。
for (j in list.files(pattern = "R1_001.trim.paired.fastq.gz")) {
for (h in list.files(pattern = "R2_001.trim.paired.fastq.gz")) {
outname=paste(substr(j, start=1, stop=7), sep= "")
system(paste("docker run -v /path/:/path/ -w /path/ combinelab/salmon salmon quant -i /path/CanFam3.1_index -l A -1 ",j,"-2 ",h,"-o ",outname, ,sep="")
)
}
}
【问题讨论】:
-
查看粘贴输出是否正确。如果您在终端上运行所有粘贴输出会发生什么。效果好吗?
-
@Sonny 你到底想让我在终端运行什么?
-
我的意思是在 shell 提示符下运行 Docker 命令
-
一件事可能是
sep之前的额外空间应该给出argument is missing, with no default错误:,outname, ,sep="")应该是,outname,sep="") -
循环是否正常工作?如果你把
print(c(j, h))放进去,你看到正确的文件了吗?