整個圖
> 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")
# 循環(huán)處理每個文件
for (file_name in file_names) {
? # 構(gòu)建完整的文件路徑
? 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)
? )
? # 統(tǒng)一線粒體染色體名稱(chrMT -> chrM)
? seqlevels(bed_ucsc)[seqlevels(bed_ucsc) == "chrMT"] <- "chrM"
? # 過濾非標(biāo)準(zhǔn)染色體(僅保留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]
? # 導(dǎo)出為新的BED文件
? output_file <- file.path(folder_path, sub("summits.bed", "summits_UCSC_final.bed", file_name))
? export(bed_filtered, con = output_file)
? # 運(yùn)行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)
? )
? # 顯示結(jié)果
? 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")
# 循環(huán)處理每個文件
for (file_name in file_names) {
? # 構(gòu)建完整的文件路徑
? 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)
? )
? # 統(tǒng)一線粒體染色體名稱(chrMT -> chrM)
? seqlevels(bed_ucsc)[seqlevels(bed_ucsc) == "chrMT"] <- "chrM"
? # 過濾非標(biāo)準(zhǔn)染色體(僅保留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]
? # 導(dǎo)出為新的BED文件
? output_file <- file.path(folder_path, sub("summits.bed", "summits_UCSC_final.bed", file_name))
? export(bed_filtered, con = output_file)
? # 運(yùn)行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)
? )
? # 顯示結(jié)果
? 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")
# 循環(huán)處理每個文件
for (file_name in file_names) {
? # 構(gòu)建完整的文件路徑
? 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)
? )
? # 統(tǒng)一線粒體染色體名稱(chrMT -> chrM)
? seqlevels(bed_ucsc)[seqlevels(bed_ucsc) == "chrMT"] <- "chrM"
? # 過濾非標(biāo)準(zhǔn)染色體(僅保留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]
? # 導(dǎo)出為新的BED文件
? output_file <- file.path(folder_path, sub("summits.bed", "summits_UCSC_final.bed", file_name))
? export(bed_filtered, con = output_file)
? # 運(yùn)行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)
? )
? # 顯示結(jié)果
? print(p)
}