清河做网站哪里好,专做校园购物网站,怎么查询网站开通时间,wordpress媒体库很乱文章目录 介绍教程实战案例数据脚本运行 介绍
今天安利APAlyzer工具#xff0c;它是通过RNA-seq数据获取3′UTR APA, intronic APA等表达谱的R包。
APAlyzer将bam文件比对到PolyA-DB数据库识别APA。 Most eukaryotic genes produce alternative polyadenylation (APA) isofo… 文章目录 介绍教程实战案例数据脚本运行 介绍
今天安利APAlyzer工具它是通过RNA-seq数据获取3′UTR APA, intronic APA等表达谱的R包。
APAlyzer将bam文件比对到PolyA-DB数据库识别APA。 Most eukaryotic genes produce alternative polyadenylation (APA) isoforms. APA is dynamically regulated under different growth and differentiation conditions. Here, we present a bioinformatics package, named APAlyzer, for examining 3′UTR APA, intronic APA and gene expression changes using RNA-seq data and annotated polyadenylation sites in the PolyA_DB database. Using APAlyzer and data from the GTEx database, we present APA profiles across human tissues. 教程
library(APAlyzer)
library(TBX20BamSubset)
library(Rsamtools)# RNA-seq BAM files
flsall getBamFileList()# Genomic reference
library(repmis)
URLhttps://github.com/RJWANGbioinfo/PAS_reference_RData/blob/master/
filemm9_REF.RData
source_data(paste0(URL,file,?rawTrue))# Building 3’UTR and intronic PAS reference region at once
refUTRrawrefUTRraw[which(refUTRraw$Chromchr19),]
dfIPArawdfIPA[which(dfIPA$Chromchr19),]
dfLErawdfLE[which(dfLE$Chromchr19),]
PASREFREF4PAS(refUTRraw,dfIPAraw,dfLEraw)
UTRdbrawPASREF$UTRdbraw
dfIPAPASREF$dfIPA
dfLEPASREF$dfLE # Building 3’UTR PAS and IPA reference using GTF files
download.file(urlftp://ftp.ensembl.org/pub/release-99/gtf/mus_musculus/Mus_musculus.GRCm38.99.gtf.gz,destfileMus_musculus.GRCm38.99.gtf.gz)
GTFfileMus_musculus.GRCm38.99.gtf.gz
PASREFrawPAS2GEF(GTFfile)
refUTRrawPASREFraw$refUTRraw
dfIPArawPASREFraw$dfIPA
dfLErawPASREFraw$dfLE
PASREFREF4PAS(refUTRraw,dfIPAraw,dfLEraw)# Building aUTR and cUTR references
refUTRrawrefUTRraw[which(refUTRraw$Chromchr19),]
UTRdbrawREF3UTR(refUTRraw)# Calculation of relative expression
DFUTRrawPASEXP_3UTR(UTRdbraw, flsall, Strandtypeforward)# Building intronic polyA references
URLhttps://github.com/RJWANGbioinfo/PAS_reference_RData/blob/master/
filemm9_REF.RData
source_data(paste0(URL,file,?rawTrue))# Calculation of relative expression
dfIPAdfIPA[which(dfIPA$Chromchr19),]
dfLEdfLE[which(dfLE$Chromchr19),]
IPA_OUTrawPASEXP_IPA(dfIPA, dfLE, flsall, Strandtypeforward, nts1)# Significance analysis of APA events
sampleTable1 data.frame(samplename c(names(flsall)),condition c(rep(NT,3),rep(KD,3)))# Significantly regulated APA in 3’UTRs
test_3UTRsingAPAdiff(sampleTable2,DFUTRraw, conKETNT,trtKEYKD,PAS3UTR,CUTreads0,p_adjust_methodsfdr)
# Visualization of analysis results
APAVolcano(test_3UTRsing, PAS3UTR, Pcol pvalue, top5, main3UTR APA)实战案例
数据
下列样本存成bam_file.tsv
SampleID BamPath
SRR316184 /Library/Frameworks/R.framework/Versions/4.1/Resources/library/TBX20BamSubset/extdata/SRR316184.bam
SRR316185 /Library/Frameworks/R.framework/Versions/4.1/Resources/library/TBX20BamSubset/extdata/SRR316185.bam
SRR316186 /Library/Frameworks/R.framework/Versions/4.1/Resources/library/TBX20BamSubset/extdata/SRR316186.bam
SRR316187 /Library/Frameworks/R.framework/Versions/4.1/Resources/library/TBX20BamSubset/extdata/SRR316187.bam
SRR316188 /Library/Frameworks/R.framework/Versions/4.1/Resources/library/TBX20BamSubset/extdata/SRR316188.bam
SRR316189 /Library/Frameworks/R.framework/Versions/4.1/Resources/library/TBX20BamSubset/extdata/SRR316189.bam脚本
下列代码存成APAlyzer_Expression.R
suppressPackageStartupMessages({ library(dplyr)library(tibble)library(optparse)library(data.table)library(APAlyzer)library(TBX20BamSubset)library(Rsamtools)
})option_list - list(make_option(c(-b, --bam), type character,help bam csv file (1st column: sampleID; 2nd: bam path), metavar character),make_option(c(-r, --reference), type character, # RData/gtfhelp genomic reference type, metavar character), make_option(c(-g, --genome), type character,help genomic reference file, metavar character), make_option(c(-c, --chromosome), type character,default all, # chr19help chromosome to be selected, metavar character), make_option(c(-e, --expression), type character, default all, # 3UTR/IPAhelp APA expression: 3UTR and intronic APA, metavar character), make_option(c(-o, --out), type character,help output file path, metavar character)
)opt_parser - OptionParser(option_list option_list)
opt - parse_args(opt_parser)# input parameters
bam_path - opt$bam
ref_type - opt$reference
ref_path - opt$genome
chrom - opt$chromosome
expr_type - opt$expression
dir - opt$out# bam_path - bam_file.tsv
# ref_type - RData
# ref_path - mm9_REF.RData
# chrom - chr19
# expr_type - 3UTR
# dir - result# step1: bam file
bam_vector - read.table(bam_file.tsv, header TRUE)
bam_file - bam_vector$BamPath
names(bam_file) - bam_vector$SampleID# step2: genomic reference
if (ref_type RData) {# data from built referencerequire(repmis)URL - https://github.com/RJWANGbioinfo/PAS_reference_RData/blob/master/source_data(paste0(URL, ref_path, ?rawTrue))if (ref_path mm9_REF.RData) {refUTRraw_temp - refUTRrawdfIPAraw_temp - dfIPAdfLEraw_temp - dfLE} else if (ref_path hg19_REF.RData) {refUTRraw_temp - refUTRraw_hg19dfIPAraw_temp - dfIPA_hg19dfLEraw_temp - dfLE_hg19}} else if (ref_type gtf) {# building reference from gtf filePASREFraw - PAS2GEF(ref_path) refUTRraw_temp - PASREFraw$refUTRrawdfIPAraw_temp - PASREFraw$dfIPAdfLEraw_temp - PASREFraw$dfLE
}# step3: whether to choose chromosome
if (chrom all) {UTRdbraw - refUTRraw_tempdfIPAraw - dfIPAraw_tempdfLEraw - dfLEraw_temp
} else {# multiple chromosome or notif (length(grep(:, chrom)) 0) {chroms - unlist(strsplit(chrom, :))} else {chroms - chrom}UTRdbraw - refUTRraw_temp[which(refUTRraw_temp$Chrom %in% chroms), ]dfIPAraw - dfIPAraw_temp[which(dfIPAraw_temp$Chrom %in% chroms), ]dfLEraw - dfLEraw_temp[which(dfLEraw_temp$Chrom %in% chroms), ]
}
## aUTR cUTR
PASREF_temp - REF4PAS(UTRdbraw, dfIPAraw, dfLEraw)
UTRdb - PASREF_temp$UTRdbraw
dfIPA - PASREF_temp$dfIPA
dfLE - PASREF_temp$dfLE # step4: APA expression (3UTR and IPA)
if (expr_type all) {# 3UTRUTR_APA_OUT - PASEXP_3UTR(UTRdb, bam_file, Strandtype forward)# IPAIPA_OUT - PASEXP_IPA(dfIPA, dfLE, bam_file, Strandtype invert, nts 4)final_OUT - list(UTR UTR_APA_OUT,IPA IPA_OUT)
} else if (expr_type 3UTR) { # 3UTRfinal_OUT - PASEXP_3UTR(UTRdb, bam_file, Strandtype forward)
} else if (expr_type IPA) { final_OUT - PASEXP_IPA(dfIPA, dfLE, bam_file, Strandtype invert, nts 4)
}# step5: output
if (!dir.exists(dir)) {dir.create(dir, recursive TRUE)
}if (!is.data.frame(final_OUT)) {file_name - paste0(dir, /APA_Expr_, expr_type, .RDS)saveRDS(final_OUT, file_name, compress TRUE)
} else {file_name - paste0(dir, /APA_Expr_, expr_type, .tsv)write.table(final_OUT, file_name, quote F, row.names F, sep \t)
}print(Program Ended without Problems)
运行
在命令行模式下运行该命令
Rscript APAlyzer_Expression.R \-b bam_file.tsv \-r RData \-g mm9_REF.RData \-c chr19 \-e 3UTR \-o result