miRNA-seq分析流程-----轉(zhuǎn)載

miRNA-seq分析流程

轉(zhuǎn)載2016-11-28 16:29:44

miRNA是生物中非常重要的一類非編碼小RNA,其在生物體的調(diào)控中具有非常重要的作用,在人中大約三分之一的基因受到miRNA的調(diào)控。對(duì)于miRNA轉(zhuǎn)錄后調(diào)控的分析也越來(lái)越多。那么拿到一組miRNA測(cè)序的數(shù)據(jù)之后我們進(jìn)行怎樣的分析呢?

第一,??對(duì)于所有的測(cè)序數(shù)據(jù),我們都要進(jìn)行質(zhì)量的檢測(cè),這里我常用的檢測(cè)軟件是fastQC,(fastqcdata1.fq -o data1),得到的結(jié)果是一個(gè)文件夾的壓縮形式,里面可以得到以下所示的信息:

網(wǎng)頁(yè)結(jié)果展示

?同時(shí)這些結(jié)果都有單獨(dú)的圖片格式,用于數(shù)據(jù)展示與質(zhì)量評(píng)定。在新版本的fastQC中有一個(gè)新的功能就是識(shí)別reads中包含的adapter序列,并且fastqQC中有一個(gè)adapter的庫(kù),可以從里面找到對(duì)應(yīng)的adapter序列,再也不用擔(dān)心沒有測(cè)序報(bào)告沒法去掉adapter了。

第二,??對(duì)數(shù)據(jù)進(jìn)行過(guò)濾,這里我用的是cutadapt,這個(gè)軟件可以去掉reads中的adapter,低質(zhì)量的reads以及過(guò)長(zhǎng)過(guò)短的reads,還可以對(duì)reads中含有N的進(jìn)行處理。(cutadapt-a AGATCGGAAGAG --quality-base 33 -m 10 -q 20 --discard-untrimmed -o trim_data1.fqdata1.fq > cutadpt.info),這里--discard-untrimmed是把reads中不含有adapter的reads去掉。

第三,??由于分析的是miRNA-seq,這里對(duì)clean的reads還要進(jìn)行一下長(zhǎng)度分布的統(tǒng)計(jì),一般就是自己寫腳本,我用的python。

importsys

miRNA_len= {}

fori in range(0,52):

??????? miRNA_len[i] = 0

fori in open(sys.argv[1]):

??????? if i.startswith('@') ori.startswith('+'):

??????????????????????? continue

??????? length = len(i) - 1

??????? miRNA_len[length] += 1

fori in miRNA_len:

??????? printstr(i)+"\t"+str(miRNA_len[i]/2)

統(tǒng)計(jì)完長(zhǎng)度分布之后就是做呈現(xiàn)出來(lái),這里是用R作圖:

#use all reads

s1= read.table("trim_data1.stat")

s2= read.table("trim_data2.stat")$V2

s3= read.table("trim_data3.stat")$V2

s4= read.table("trim_data4.stat")$V2

s5= read.table("trim_data5.stat")$V2

s6= read.table("trim_data6.stat")$V2

data= cbind(s1, s2, s3, s4, s5, s6)

colnames(data)= c("Length","data1","data2","data3","data4","data5","data6")

#normalize by library size

data$kBT_0= 100 * data$data1/sum(data$data1)

data$kBT_1= 100 * data$data2/sum(data$data2)

data$kBT_3= 100 * data$data3/sum(data$data3)

data$kN6_0= 100 * data$data4/sum(data$data4)

data$kN6_1= 100 * data$data5/sum(data$data5)

data$kN6_3= 100 * data$data6/sum(data$data6)

library(reshape2)

data.melt= melt(data, id="Length")

library(ggplot2)

p<- ggplot(data.melt, aes(x=Length, y=value, col=variable))

p+ geom_line() +

? theme( text = element_text(size=30),

???????? panel.background=element_blank(),

???????? axis.line = element_line(size = 1,colour="black"),

???????? axis.text =element_text(colour="black")) +

? labs(title="All reads lengthdistribution",x="Read Length", y="Fraction (%)")

得到的示意圖如下,一般在21和24nt的位置有兩個(gè)峰:

第四,??在得到高質(zhì)量的clean數(shù)據(jù)之后就是進(jìn)行比對(duì),將miRNA的數(shù)據(jù)比對(duì)到相應(yīng)物種的基因組上,這里我用的是bowtie軟件,(bowtie -q -v 2 -l 10 -k 15 Reference/genome.fa trim_data1.fq -S data1.sam 2>mapping.info),我分析的植物miRNA-seq的數(shù)據(jù),比對(duì)率超過(guò)了90%。

第五,??在得到比對(duì)的結(jié)果之后就是用HTSeq進(jìn)行count計(jì)數(shù),把在不同的材料中表達(dá)的miRNA的reads支持?jǐn)?shù)統(tǒng)計(jì)出來(lái)。

for i in data1 data2 data3 data4 data5 data6

do

htseq-count-s no -t miRNA -i ID -o $i.hc.sam $i.ht.sam miRNA_reference/miRNA.gff3 | tee$i.count &

ls$i.count >> count.list

done

第六,??然后就是重頭戲,差異表達(dá)的miRNA,這里分為有重復(fù)的處理和沒有重復(fù)的處理兩種,對(duì)于沒有重復(fù)的用DEGseq處理,有重復(fù)的用DESeq處理。

沒有重復(fù)的用DEGseq:?

R

library("DEGseq")

#BT_0_1

geneExpMatrix1<- readGeneExp("ht.genotype_data1.txt", geneCol=1, valCol=3)

geneExpMatrix2<- readGeneExp("ht.genotype_data2.txt", geneCol=1, valCol=2)

write.table(geneExpMatrix1[30:31,],row.names=FALSE)

write.table(geneExpMatrix2[30:31,],row.names=FALSE)

pdf(file="data1_2.pdf")

layout(matrix(c(1,2,3,4,5,6),3, 2, byrow=TRUE))

par(mar=c(2,2, 2, 2))

DEGexp(geneExpMatrix1=geneExpMatrix1,geneCol1=1, expCol1=2, groupLabel1="data1",

geneExpMatrix2=geneExpMatrix2,geneCol2=1, expCol2=2, groupLabel2="data2",

method="MARS",outputDir="05DEmiRNA/DEGSeq")

dev.off()

?有重復(fù)的用DESeq:

R

library("DESeq")

data=read.table("ht.genotype_data.txt",header=TRUE,row.names=1)

pd=data.frame(row.names=colnames(data),condition=c("data3","data3","data4","data4"),libType=c("single-end","single-end","single-end","single-end"))

ps=pd$libType=="single-end"

ct=data[,ps]

condition=pd$condition[ps]

cds=newCountDataSet(ct,condition)

cds= estimateSizeFactors(cds)

sizeFactors(cds)

cds= estimateDispersions(cds)

res=nbinomTest(cds,"data3","data4")

write.table(res,file="data3_data4.xls")

quit()

第七,??在找到相應(yīng)的差異表達(dá)miRNA之后,對(duì)其靶基因進(jìn)行預(yù)測(cè)與分析,這里我是將我做的玉米miRNA的所有靶基因進(jìn)行了預(yù)測(cè),這里的玉米miRNA的全部注釋信息是從miRbase中下載的,得到miRNA靶基因的詳細(xì)信息之后,對(duì)于不同組的差異表達(dá)miRNA可以從中去對(duì)應(yīng)分析。

在植物中有兩個(gè)比較好的miRNA預(yù)測(cè)的軟件,分別是psRNAtarget和psRobot,psRNAtarget是一個(gè)支持在線預(yù)測(cè)的軟件,psRobot可以將軟件安裝在服務(wù)器中,用命令行進(jìn)行預(yù)測(cè)。

在得到的結(jié)果中兩種軟件預(yù)測(cè)到的共同的部分是結(jié)果比較可信的部分。

第八,??當(dāng)然對(duì)于miRNA還有很過(guò)方面,對(duì)靶基因的功能分析,對(duì)miRNA二級(jí)結(jié)構(gòu)的分析,對(duì)樣品中新miRNA的分析等等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容