Единственное, что я сразу увидел в представленном вами коде, это несколько пропущенных пробелов, которые могут вызвать наблюдаемое поведение.Вы также можете использовать paste0
вместо paste(...,sep="")
, надеюсь, поможет следующее:
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=substr(j, start=1, stop=7)
system(paste0("docker run -v /path/:/path/ -w /path/ combinelab/salmon salmon quant -i /path/CanFam3.1_index -l A -1 ",j," -2 ",h," -o ",outname))
}
}
РЕДАКТИРОВАТЬ
Получение character(0)
в результате вашего *Команда 1011 * вне цикла for предполагает, что вы не сопоставляете файлы в wd
с вашим шаблоном.
Если вы уверены, что файлы находятся в правильном wd
или вы непосредственно задали wd
в команде list.files
(list.files(path = ".", pattern = NULL)
, вы можете попробовать комбинацию из упомянутых Сонни и Парфев приведенных выше комментариях запустите цикл for, заменив system
на print
, а также удалив спецификацию pattern
в команде list.files
. Это скажет вам, если вы получаете правильные строки докера (хотяпотенциально также могут быть распечатаны неверные файлы, которые вы можете впоследствии отфильтровать, потенциально обновив шаблон).