我salmonify
在 R 中创建了一个函数,它将所有 fastq 文件放在一个文件夹中,然后使用该salmon quant
函数在命令行中一个接一个地运行该system
函数。但是,该system
函数成功完成列表后,该函数的其余部分salmonify
将不会运行。IE。它不打印语句,如果我尝试将salmonify
函数嵌套在另一个函数中(为多个研究文件夹运行它),它会停在同一个地方。
我正在使用 linux ubuntu 18.04。三文鱼函数是最新的(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)
}
是 :
> 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"
然后鲑鱼功能开始,然后我无法让它打印Completed salmonify for...
。在这里的任何帮助将不胜感激。
最好的,
詹姆士