Подстановочные знаки для чтения каждого файла с одинаковым расширением в цикле R - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь прочитать некоторые vcf файлы в R, используя для l oop. Что я делаю, так это l oop через каждый идентификатор образца в моем списке образцов и затем создаю переменную для каждого образца, которой я назначаю соответствующий vcf.

У меня есть каталог с именем каждого образца образца, в который есть только один vcf (но имя каждого vcf отличается от его соответствующего идентификатора образца).

for(i in sampleList){
nam <- paste(i, '_vcf', sep="")
assign(nam, readVcf(i/*.vcf, 'hg19'))
}

Проблема в том, что имя каждого vcf отличается для каждого образца, а также отличается из образца ID, поэтому я не уверен, какую команду я должен использовать, чтобы прочитать его. Я хотел бы сделать что-то как *.vcf, что будет работать, например, в сценарии bash. Как я могу сделать это в R?

1 Ответ

2 голосов
/ 24 апреля 2020

Существует функция для получения списка файлов в данном каталоге.

Let sampleList <- c(12345, 4711, 1337). Предполагая, что ваша структура похожа на

O:/12345_vcf/secret1.vcf
O:/4711_vcf/foo.vcf
O:/1337_vcf/bar.vcf

, и вы не знаете названия ваших файлов, но в каждом каталоге есть только один .vcf.

for (i in sampleList){ 
    directory <- paste0("O:/", i, "_vcf")
    filename  <- list.files(directory, ".vcf")  # if there are more than one vcf's, there are better ways
    nam       <- readVcf(paste0(directory, filename, sep="/"))
}

Я не знаю Я не знаю значения hg19, поэтому я проигнорировал его. Пожалуйста, используйте его, если необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...