Как использовать переменную для указания имени выходного файла в R? - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь написать Rscript для запуска пакета phylogenetics ape, чтобы выполнить одну и ту же команду для многих входных файлов и создать выходной файл для каждого с измененной версией исходного имени файла.

Вот код, который я пытаюсь использовать:

library(ape)
setwd("/home/wirenia/phylogenomics_projects/Monoplacophora    /2014-09-10_Monoplacophora_fixed_alicut/pruned/OGs_with_LANT/manually_cleaned_alignments/2019-06-19_IQ-TREE_single-gene_trees/")
for (x in list.files(pattern="*.treefile")) {
tree <- read.tree(x)
tree$node.label <- NULL
write.tree(tree, file = x'.nobootstraps.tre')
}

Проблема явно в строке write.tree, но я не могу понять, как ее исправить.Вот сообщение об ошибке, которое я получаю:

Rscript remove_bootstrap_support_values_from_newick_trees.r
Error: unexpected string constant in:
"tree$node.label <- NULL
write.tree(tree, file = tree'.nobootstraps.tre'"
Execution halted

Любая помощь будет принята с благодарностью.

Спасибо!

1 Ответ

0 голосов
/ 21 июня 2019

Я считаю, что вам нужно:

write.tree(tree, file = paste(x, '.nobootstraps.tre'))

вместо вашего

write.tree(tree, file = x'.nobootstraps.tre'

R не может объединять строки, как вы пытаетесь stringvariable"stringliteral"

Если в будущем у вас будет больше вопросов, связанных с биоинформатикой, я предлагаю перейти к https://bioinformatics.stackexchange.com/, Я думаю, вы получите гораздо более быстрые ответы там.

...