R解析fastp输出的json文件
目的:需要解析fastp输出的一批json文件,从中提取一些信息。 使用2个R包: R语言解析json 批量读取json参考
rm(list=ls())
#####本程序目的是为了读取本地的RNA测序数据的质控后的json文件,从中解析出需要的信息
install.packages("rjson")
install.packages("jsonlite")
library(rjson)
library(jsonlite)
filelist <- list.files(pattern=".*.json")#列出当前文件夹下所有的json数据文件名(每个文件名以.json结尾)
length(filelist)#文件个数
time1<-Sys.time()#当前系统时间
datalist <- lapply(filelist, function(x) fromJSON(x)) #利用fromJSON函数按照文件名列表读取文件
time2<-Sys.time()-time1;time2#计算读取文件花费的时间
frame <- list()
for (i in 1:length(filelist)) {
q20_rate <- datalist[[i]]$summary$after_filtering$q20_rate
q30_rate <- datalist[[i]]$summary$after_filtering$q30_rate
total_reads <- datalist[[i]]$summary$before_filtering$total_reads
after_filter_reads <- datalist[[i]]$summary$after_filtering$total_reads
clean_rate_reads <- after_filter_reads/total_reads
filename <- filelist[[i]]
info <- c(filename,q20_rate,q30_rate,total_reads,after_filter_reads,clean_rate_reads)
frame[[i]] <- info
print(frame)
}
write.csv(frame,file = "reads info.csv")