整个图
> setwd("F:/XZHMU/huangyue/metagene plot")
> bed_file1 <- "Sham_3_summits_UCSC_final.bed"
> bed_file2 <- "SNI_3_summits_UCSC_final.bed"
> bed_file3 <- "sh_2_summits_UCSC_final.bed"
> p <- GuitarPlot(txTxdb = TxDb.Mmusculus.UCSC.mm10.knownGene,
stBedFiles = c(bed_file1, bed_file2,bed_file3),
headOrtail = FALSE,
enableCI = FALSE,
mapFilterTranscript = TRUE,
pltTxType = "mrna",
stGroupName = c("Sham", "SNI","shRNA") )
单文件批处理
SNI
# 加载必要的包
library(rtracklayer)
library(GenomicRanges)
library(Guitar)
library(TxDb.Mmusculus.UCSC.mm10.knownGene)
# 定义文件夹路径和文件名
folder_path <- "F:/XZHMU/huangyue/metagene plot/SNI/"
file_names <- c("SNI_1_summits.bed", "SNI_2_summits.bed", "SNI_3_summits.bed")
# 循环处理每个文件
for (file_name in file_names) {
# 构建完整的文件路径
bed_path <- file.path(folder_path, file_name)
# 读取BED文件
bed <- import(bed_path, format = "bed")
# 修正染色体名称(添加chr前缀)
bed_ucsc <- GRanges(
seqnames = paste0("chr", seqnames(bed)),
ranges = ranges(bed),
strand = strand(bed),
mcols = mcols(bed)
)
# 统一线粒体染色体名称(chrMT -> chrM)
seqlevels(bed_ucsc)[seqlevels(bed_ucsc) == "chrMT"] <- "chrM"
# 过滤非标准染色体(仅保留chr1-chr19, chrX, chrY, chrM)
valid_chr <- seqlevels(TxDb.Mmusculus.UCSC.mm10.knownGene)
valid_chr <- valid_chr[grep("^chr[0-9XYM]+$", valid_chr)]
bed_filtered <- bed_ucsc[seqnames(bed_ucsc) %in% valid_chr]
# 导出为新的BED文件
output_file <- file.path(folder_path, sub("summits.bed", "summits_UCSC_final.bed", file_name))
export(bed_filtered, con = output_file)
# 运行GuitarPlot
p <- GuitarPlot(
txTxdb = TxDb.Mmusculus.UCSC.mm10.knownGene,
stBedFiles = output_file,
headOrtail = FALSE,
enableCI = FALSE,
mapFilterTranscript = TRUE,
pltTxType = "mrna",
stGroupName = gsub("(.*)_summits.bed", "\\1", file_name)
)
# 显示结果
print(p)
}
sh
# 定义文件夹路径和文件名
folder_path <- "F:/XZHMU/huangyue/metagene plot/sh/"
file_names <- c("sh_1_summits.bed", "sh_2_summits.bed", "sh_3_summits.bed")
# 循环处理每个文件
for (file_name in file_names) {
# 构建完整的文件路径
bed_path <- file.path(folder_path, file_name)
# 读取BED文件
bed <- import(bed_path, format = "bed")
# 修正染色体名称(添加chr前缀)
bed_ucsc <- GRanges(
seqnames = paste0("chr", seqnames(bed)),
ranges = ranges(bed),
strand = strand(bed),
mcols = mcols(bed)
)
# 统一线粒体染色体名称(chrMT -> chrM)
seqlevels(bed_ucsc)[seqlevels(bed_ucsc) == "chrMT"] <- "chrM"
# 过滤非标准染色体(仅保留chr1-chr19, chrX, chrY, chrM)
valid_chr <- seqlevels(TxDb.Mmusculus.UCSC.mm10.knownGene)
valid_chr <- valid_chr[grep("^chr[0-9XYM]+$", valid_chr)]
bed_filtered <- bed_ucsc[seqnames(bed_ucsc) %in% valid_chr]
# 导出为新的BED文件
output_file <- file.path(folder_path, sub("summits.bed", "summits_UCSC_final.bed", file_name))
export(bed_filtered, con = output_file)
# 运行GuitarPlot
p <- GuitarPlot(
txTxdb = TxDb.Mmusculus.UCSC.mm10.knownGene,
stBedFiles = output_file,
headOrtail = FALSE,
enableCI = FALSE,
mapFilterTranscript = TRUE,
pltTxType = "mrna",
stGroupName = gsub("(.*)_summits.bed", "\\1", file_name)
)
# 显示结果
print(p)
}
Sham# 定义文件夹路径和文件名
folder_path <- "F:/XZHMU/huangyue/metagene plot/Sham/"
file_names <- c("Sham_1_summits.bed", "Sham_2_summits.bed", "Sham_3_summits.bed")
# 循环处理每个文件
for (file_name in file_names) {
# 构建完整的文件路径
bed_path <- file.path(folder_path, file_name)
# 读取BED文件
bed <- import(bed_path, format = "bed")
# 修正染色体名称(添加chr前缀)
bed_ucsc <- GRanges(
seqnames = paste0("chr", seqnames(bed)),
ranges = ranges(bed),
strand = strand(bed),
mcols = mcols(bed)
)
# 统一线粒体染色体名称(chrMT -> chrM)
seqlevels(bed_ucsc)[seqlevels(bed_ucsc) == "chrMT"] <- "chrM"
# 过滤非标准染色体(仅保留chr1-chr19, chrX, chrY, chrM)
valid_chr <- seqlevels(TxDb.Mmusculus.UCSC.mm10.knownGene)
valid_chr <- valid_chr[grep("^chr[0-9XYM]+$", valid_chr)]
bed_filtered <- bed_ucsc[seqnames(bed_ucsc) %in% valid_chr]
# 导出为新的BED文件
output_file <- file.path(folder_path, sub("summits.bed", "summits_UCSC_final.bed", file_name))
export(bed_filtered, con = output_file)
# 运行GuitarPlot
p <- GuitarPlot(
txTxdb = TxDb.Mmusculus.UCSC.mm10.knownGene,
stBedFiles = output_file,
headOrtail = FALSE,
enableCI = FALSE,
mapFilterTranscript = TRUE,
pltTxType = "mrna",
stGroupName = gsub("(.*)_summits.bed", "\\1", file_name)
)
# 显示结果
print(p)
}