README.md

circMeta

A unified computational framework for genomic feature annotation, differential expression analysis of circular RNAs

Description

circMeta is a unified computational framework for circRNA analyses. circMeta mainly includes three function modules: (i) provide a comprehensive genomic feature annotation related to circRNA biogenesis, including length of introns flanking circularized exons, repetitive elements such as Alu and SINEs, competition score for forming circulation and RNA editing in back-spliced flanking introns (ii) develop a two-stage DE approach of circRNAs based on splicing junction reads (iii) develop a Bayesian hierarchical model for DE analysis of circRNAs based the ratio of circular reads to linear reads in spliced sites. circMeta mainly consists of four modules: circClass, circFeature, circJuncDE, circCLRDE.

Maintainer

Li Chen li.chen1@ufl.edu

Install circMeta

install.packages("devtools")
library(devtools)
install_github("lichen-lab/circMeta")

Descriptions for circJuncDE

Usage

circJuncDE(files,designs, circ.method=c('findcirc','CIRCexplorer','CIRI'), DE.method=c('pois.ztest','DESeq2','edgeR','pois.glm','nb.glm'), gene=NULL,gexon=NULL, cutoff=2,sf=TRUE)

Arguments

Output values

Descriptions for circCLEDE

Usage

circCLEDE(x1,n1,x2,n2,DE.method=c('wald','lr','fisher','chisq'),is.shrink=TRUE,is.equalrho=FALSE,is.peudo=TRUE)

Arguments

Output values

Descriptions for circClass

Usage

circClass(files,circ.method=c('findcirc','CIRCexplorer','CIRI'),gene=NULL,gexon=NULL)

Arguments

Output values

Descriptions for circFeature

Usage

circFeature(files,circ.method=c('findcirc','CIRCexplorer','CIRI'), gene,gexon,gintron,galu,gsine, atoi=NULL,DARNED=NULL,RADAR=NULL)

Arguments

Output values

Descriptions for circLinear

Usage

circLinear(gcirc,bamfiles)

Arguments

Output values

Examples

Files used in the examples could be downloaded from link

Use circJuncDE to detect differential expressed circRNAs based on back-spliced junction reads

library(circMeta)
CIRI.files=c(
  "data/frontcortex/CIRI/CIRI1.circ",
  "data/frontcortex/CIRI/CIRI2.circ",
  "data/cerebellum/CIRI/CIRI1.circ",
  "data/cerebellum/CIRI/CIRI2.circ",
  "data/diencephalon/CIRI/CIRI1.circ",
  "data/diencephalon/CIRI/CIRI2.circ"
)
designs=c(0,0,1,1)
fdr.level=0.05
res1=circJuncDE(CIRI.files[c(1,2,3,4)],designs,circ.method='CIRI',DE.method='pois.ztest')
id1=rownames(res1)[res1$fdr<fdr.level]

res2=circJuncDE(CIRI.files[c(1,2,3,4)],designs,circ.method='CIRI',DE.method='edgeR')
id2=rownames(res2)[res2$fdr<fdr.level]

res3=circJuncDE(CIRI.files[c(1,2,3,4)],designs,circ.method='CIRI',DE.method='DESeq2')
id3=rownames(res3)[res3$fdr<fdr.level]


id1=rownames(res1)[res1$fdr<fdr.level]
length(id1)
id2=rownames(res2)[res2$fdr<fdr.level]
length(id2)
id3=rownames(res3)[res3$fdr<fdr.level]
length(id3)
length(intersect(id1,id3))
length(intersect(id2,id3))
length(intersect(id1,id2))

Use circCLRDE to detect differential expressed circRNAs based on Circular-to-Linear Ratio (CLR)

res=circJuncDE(CIRI.files[c(1,2,3,4)],designs,circ.method='CIRI',DE.method='pois.ztest')
tmp=getCLR(res)
x1=tmp$x1
n1=tmp$n1
x2=tmp$x2
n2=tmp$n2

res1=circCLRDE(x1,n1,x2,n2,DE.method='wald',is.shrink=F)
sum(res1$fdr<fdr.level)
res2=circCLRDE(x1,n1,x2,n2,DE.method='wald',is.shrink=T)
sum(res2$fdr<fdr.level)
res3=circCLRDE(x1,n1,x2,n2,DE.method='lr',is.shrink=F)
sum(res3$fdr<fdr.level)
res4=circCLRDE(x1,n1,x2,n2,DE.method='lr',is.shrink=T)
sum(res4$fdr<fdr.level)

Use circClass to annotate host genes for circRNAs

load('hg19/Exon.hg19.rda')
load('hg19/Gene.hg19.rda')
load('hg19/Intron.hg19.rda')
gcirc=circClass(files=CIRI.files[1:2],circ.method='CIRI',gene=gene, gexon=gexon)
gcirc

Use circFeature to annotate genomic features for circRNAs

load('hg19/Alu.hg19.rda')
load('hg19/SINE.hg19.rda')

# Add Alu/SINE enrichment, Alu/SINE competing score
gcirc=circFeature(files=CIRI.files[1:2],circ.method='CIRI',
                     gene,gexon,gintron,galu,gsine)

# Add A-to-I editing
load('hg19/DARNED.rda')
load('hg19/RADAR.rda')
atoi=getAtoI('hg19/frontalcortex.vcf2')
gcirc=circFeature(files=CIRI.files[1:2],circ.method='CIRI',
                     gene,gexon,gintron,galu,gsine,atoi,DARNED,RADAR)

Use circLinear to add linear reads to back-spliced junctions

llinear.files=c(
  'hg19/accepted_hits1.bam',
  'hg19/accepted_hits2.bam'
)
gcirc=circLinear(gcirc,linear.files)


lichen-lab/circMeta documentation built on April 24, 2023, 3:49 a.m.