我有一个代码,可以根据我的样本文件在文件夹中查找某些文件。
reads <- dir(path = file.path(reads_folder, samples$SAMPLE_ID),
pattern = "fastq.gz$", full.names = TRUE)
当我具有以下结构时,该代码非常有用: reads_folder / SAMPLE_ID01 / SAMPLE_ID_01.fastq.gz 。
但是我想更改文件结构,并将其保留在一个文件夹中,例如, reads_folder / SAMPLE_ID_01.fastq.gz 。 这样,相同的代码将不起作用,因为它希望SAMPLE_ID是一个文件夹。
有人会知道如何做到这一点,以使所获取的文件只是我的示例文件中的文件吗?
答案 0 :(得分:0)
如果要访问多个子文件夹中的文件,则可以设置参数recursive = TRUE
。另外,要获取多种样本模式,您可以使用paste
收集值。
multiple_samples <- paste0(samples$SAMPLE_ID, collapse = "|")
multiple_samples <- paste0("(", multiple_samples, ")+")
reads <- dir(path = reads_folder,
pattern = paste0(multiple_samples, ".*\\.fastq.gz$"),
full.names = TRUE,
recursive = TRUE)