系统命令在R中结束之前结束函数

系统命令在R中结束之前结束函数,r,system,rna-seq,R,System,Rna Seq,我在R中创建了一个salmonify函数,该函数将所有fastq文件保存在一个文件夹中,然后使用system函数在命令行中依次运行salmon quant函数。但是,在系统功能成功完成列表后,监控功能的其余部分将不会运行。也就是说,它不会打印语句,如果我尝试将salmonify函数嵌套在另一个函数中(为多个研究文件夹运行),它会在同一个位置停止 我使用的是linux ubuntu 18.04。salmon函数是最新的(1.1.0),R的版本是3.6 代码是: salmonify_single =

我在R中创建了一个
salmonify
函数,该函数将所有fastq文件保存在一个文件夹中,然后使用
system
函数在命令行中依次运行
salmon quant
函数。但是,在
系统
功能成功完成列表后,
监控
功能的其余部分将不会运行。也就是说,它不会打印语句,如果我尝试将
salmonify
函数嵌套在另一个函数中(为多个研究文件夹运行),它会在同一个位置停止

我使用的是linux ubuntu 18.04。salmon函数是最新的(1.1.0),R的版本是3.6

代码是:

salmonify_single = function(hardrive, study, index){
  salmon_file = "salmon quant -i "
  code1= " -l A -r fastq_files/"
  code3 = " -o Salmon/quant/"
  name = paste0(hardrive, "/", study, "_data/fastq_files")
  L = list.files(name)

  O = gsub(x = L, pattern = "_1.fastq", replacement = "")
  code4 = O[! duplicated(O)]

  lst = as.list(L)

  lst3 = list()

  for (i in seq_along(lst)) {
    x = lst[[i]]
    lst3[i] = paste0(salmon_file, index, code1, x[1], code3, code4[i])
  }

  for (i in lst3) {
    print(i)
  }

  fold_name = paste0(hardrive, "/", study, "_data")
  setwd(fold_name)

  for (i in lst3) {
    system(i)
  }
  print(paste0("Completed salmonify for ", study))
}
用于打印将从中运行的列表的输出

for (i in lst3) {
    print(i)
  }
是:

然后salmon函数开始,然后我无法让它为…打印
已完成的salmonify
。这里的任何帮助都将不胜感激

最好的


James

您是否已验证您尝试运行的命令是否按预期运行和完成?你知道每个命令需要多长时间才能完成吗?你使用的是什么操作系统?我已经更新了这个问题来回答你的评论。是的,它似乎成功地生成了所有定量文件夹。
system2
优于
system
。它不喜欢system2警告消息:1:In system2(i):运行命令时出错
> salmonify_paired("DATA/RNAseq_Analysis3", 
+                  "dikovskaya", "salmon_index_k31")
[1] "salmon quant -i salmon_index_k31 -l A -1 fastq_files/SRR2095296_1.fastq -2 fastq_files/SRR2095296_2.fastq -o Salmon/quant/SRR2095296"
[1] "salmon quant -i salmon_index_k31 -l A -1 fastq_files/SRR2095297_1.fastq -2 fastq_files/SRR2095297_2.fastq -o Salmon/quant/SRR2095297"
[1] "salmon quant -i salmon_index_k31 -l A -1 fastq_files/SRR2095298_1.fastq -2 fastq_files/SRR2095298_2.fastq -o Salmon/quant/SRR2095298"
[1] "salmon quant -i salmon_index_k31 -l A -1 fastq_files/SRR2095299_1.fastq -2 fastq_files/SRR2095299_2.fastq -o Salmon/quant/SRR2095299"
[1] "salmon quant -i salmon_index_k31 -l A -1 fastq_files/SRR2095300_1.fastq -2 fastq_files/SRR2095300_2.fastq -o Salmon/quant/SRR2095300"
[1] "salmon quant -i salmon_index_k31 -l A -1 fastq_files/SRR2095301_1.fastq -2 fastq_files/SRR2095301_2.fastq -o Salmon/quant/SRR2095301"