Я пытаюсь создать функцию, которая перебирает файлы в моем каталоге, создает несколько фреймов данных с именами на основе имен файлов и записывает вновь созданные фреймы данных в CSV. Однако созданное мной решение работает только для последнего файла в каталоге, но не для всех. Кто-нибудь может указать на мою ошибку?
##Peak annotation function for all the files in the directory
##Loading required libraries
library(GenomicFeatures)
library(GenomicRanges)
library(AnnotationDbi)
library(ChIPseeker)
##Making some annotations
hg38_TxDB <- makeTxDbFromGFF("/Users/dari_obukhova/data/Homo_sapiens/UCSC/hg38/Annotation/Genes/genes.gtf")
saveDb(hg38_TxDB, file = "/Users/dari_obukhova/data/Homo_sapiens/UCSC/hg38/Annotation/TxDB.sqlite")
hg38_Annotation <- loadDb("/Users/dari_obukhova/data/Homo_sapiens/UCSC/hg38/Annotation/TxDB.sqlite")
##Function to use for all the files in the directory
all_peaks_files <- list.files(pattern = ".xls", full.names = T)
for (file in all_peaks_files) {
peak_list <- list()
peaks_df <- read.delim(fileName, comment.char = "#")
peaks_gr <- makeGRangesFromDataFrame(peaks_df, keep.extra.columns = T)
annotated_peaks_df <- as.data.frame(annotatePeak(peaks_gr, TxDb = hg38_Annotation))
peak_list[[(length(peak_list) + 1)]] <- annotated_peaks_df
}
peak_list
Однако в возвращаемом списке есть только один элемент (файл списка в all_peaks_files). Более того, я не уверен, как переименовать каждый созданный файл, основываясь на каждом указанном c имени файла. Буду признателен за любые предложения! <3 </p>