Rscript возвращает ошибку при запуске из родительского каталога - PullRequest
0 голосов
/ 23 апреля 2020

Итак, я пытаюсь написать команду, которая будет запускать Rscript из родительского каталога, используя версию Rstudio для командной строки. Существуют тысячи подкаталогов, в которых я хотел бы запустить Rscript, с выводом в эти каталоги. Мой план состоял в том, чтобы сделать файл. sh, в котором каждая строка была бы отдельной командой Rscript и выполнялась с использованием Parallel. Команда для создания файла. sh:

для i в $ (ls .//.backbone | sed 's / .backbone //' | sed ' с /.*[/:]// '); сделайте эхо "Rscript ./$i/synteny_v5" >> rscript.sh; done

Это файл. sh, который содержит тысячи строк с разным путем к rscript для каждого подкаталога.

Rscript ./Acetobacter/synteny_v5.R

К сожалению, я продолжаю получать сообщение об ошибке при попытке запустить этот файл. sh из родительского каталога.

Ошибка в файле (file, "rt"): неверный аргумент 'description' Вызовы: read.table -> file Выполнение остановлено

Относится к этой строке rscript

backbone_df_long = read.table (list.files (pattern = ".backbone"), header = TRUE)

Я предполагаю, что, как я не сделал t указать рабочий каталог, и он, возможно, искал в родительском каталоге этот файл, поэтому я пошел и указал файлы в каждом из подкаталогов. Входной файл для команды Rscript имеет расширение .backbone, поэтому я попытался создать файл. sh, который выглядит следующим образом:

Rscript ./Acetobacter/synteny_v5.R -f ./ Acetobacter / Acetobacter.backbone [wd = "/ data / users / syntany / Acetobacter"]

Я все еще получаю ту же ошибку. Если я просто go в каждый подкаталог и запускаю команду оттуда, как это

Rscript synteny_v5.R -f Acetobacter.backbone

, это работает хорошо, но так как есть тысячи подкаталогов, было бы очень удобно иметь возможность автоматизировать это и запустить его из родительского каталога. Есть ли какая-либо команда Извинения заранее, если это очень запутанный способ сделать это, но я Я определенно не эксперт!

...