基因组

#基因组干货#之保守性分析及作图

2017-05-12  本文已影响0人  生信杂谈

保守序列一般预示其具有潜在的功能,或在细胞发育及调控方面可能发挥重要作用。一般来说编码区序列是高度保守的,尤其是启动子及转录起始位点(TSS)具有极高的保守性。
  但如何研究我们自己的序列的保守性并量化保守性的值呢,一般的方法是通过物种多序列比对,不过我们并不需要自己进行比对,老外已经帮我们做好了,在UCSC里已经展示了使用PhastConsPhylop (PHAST包)两种方法的多物种序列(100个物种和46个物种)的进化保守性, 多序列比对会产生MAF格式文件,这个比对结果文件还可以用于编码潜能的预测,因为编码区是高度保守嘛,比较有名的工具如phyloCSF,但不建议本地操作MAF文件,因为MAF文件实在是太TM的大了足足有上百G,建议使用galaxy在线分析序列的编码潜能,顺便安利其他几个能预测序列编码潜能的工具:pfamscan、CNCI和CPC,一般是预测完编码潜能后这几个工具取交集作为结果。


  下面开始分析序列保守性并进行实际操作,首先,如果我有条序列及其位置信息,如何观察这条序列的保守性呢?很简单,打开UCSC,左上角点击Genomes,选择基因组版本,在configure界面找到“Comparative Genomics”栏目,把“conservation”track调为” full”就行,如果已经是” full”就不用调了,点击”submit”,然后在基因组浏览器界面输入你的序列的位置信息,比如我想看看FBLIM1基因启动子位置的保守性,我直接输入FBLIM1或” chr1:16,075,390-16,103,219”,得到结果如下图,可以看出FBLIM1的转录起始位点具有高的保守性(黑色凸起的柱子就是)。
  但是,如果我有一堆具有类似特征的序列,比如我预测的新的转录本,我想看看这些新转录本的保守性或这些转录本的启动子的保守性,那该如何表示呢?首先从UCSC获得保守性分值的数据文件,100个物种和46个物种的都可以,我一般看到文献里都是用的PhastCons表示保守性分值,所以下载PhastCons conservationwig格式的文件而不是PhyloP conservation的wig格式的文件(当然你想用这个也可以),下载页面在这里:http://hgdownload.cse.ucsc.edu/goldenPath/hg19/phyloP100way, 然后将其转为bigwig文件,不知道怎么转以及为什么转的请看以前的推送。下载下一个压缩包,解压出来是染色体命名的.wigfix格式的文件(wig格式有可变步长var和固定步长fix格式两种),然后先将每个染色体的.wigfix文件批量转为.bw文件,bigWigMerge工具从http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/ 下载。
#获得所有wigFix的文件列表并存入数组
wigFix_a=(`echo *.wigFix`)
#写个循环批量实现
for i in${wigFix_a[@]}
do
  #用染色体名定义要输出的文件名。
  wigFix_out=`echo $i|cut -d . -f 1|awk '{print $1".bw"}' -`
  #将每个.wigFix文件转为.bw文件
  /home/ding/tool/wigToBigWig $i/home/ding/tool/hg19.chrom.sizes $wigFix_out
done
#使用UCSC的bigWigMerge工具合并各个染色体的bw文件为.bedGraph文件,因为我没找到能合并为.bw的工具。。
/home/ding/tool/bigWigMergechr10.bw  chr11.bw  chr12.bw chr13.bw  chr14.bw  chr15.bw chr16.bw  chr17.bw  chr18.bw chr19.bw  chr1.bw  chr20.bw chr21.bw  chr22.bw  chr2.bw chr3.bw  chr4.bw  chr5.bw chr6.bw  chr7.bw  chr8.bw chr9.bw  chrX.bw  chrY.bw phastCons46.bedGraph
#将.bedgraph文件转为.bw文件。
/home/ding/tool/wigToBigWig  phastCons46.bedGraph  /home/ding/tool/hg19.chrom.sizes  phastCons46.bw

  现在我们已经得到了保守性分值的.bw格式文件,接下来就是套路了,用bwtool提取要分析的序列位置的PhastCons分值的均值,然后作图,shell代码及注释如下:

#使用bedtools获得随机序列2000条
randomBed -l 200 -n 2000-seed 2 -g ../hg19.chrom_24.sizes|sortBed -i -  >./enh_statistics/random_all_enh.bed
#使用bwtool获得各个bed文件中心附近2000bp的保守性分值。
bwtool agg 2000:2000  ./enh_statistics/random_all_enh.bed,./enh_statistics/my_sequence.bed,./enh_statistics/uni_cluster.bed,../gencode/protein_gene2.ss,./enh_statistics/other_cluster.bed../phastCons46/phastCons46.bw  /dev/stdout >./enh_statistics/conservation2_result.mean_signal

  使用R作图及代码如下,从图中可以看出,蛋白编码Gene转录起始位点的保守性最高,这是理所当然的,随机区域的保守性最低且没有起伏,其他几个预测的转录本集合的转录起始位点的保守性Seq-p2(黄线)是最高的,而且可以看出蛋白编码基因的phastCons分值达到了0.45左右,所以我个人认为非要给保守性高低一个阈值的化,我觉得应该是0.4,phastCons高于0.4是具有极高的保守性的,高于0.3具有高的保守性,当然还需要进一步与其他功能元件进行比较。

rm(list=ls())
setwd("/home")
library(ggplot2)
library(reshape)
library(Cairo)
mean_signal<-as.data.frame(read.table("./enh_statistics/conservation2_result.mean_signal",header=F,sep="\t",stringsAsFactors= F))
apply(mean_signal,2,as.numeric)
 
 
#画图:
png_path="./figure/conservation_isspe.png"
CairoPNG(png_path, width =6.2, height =6, units='in', dpi=600)
 
ggplot(data=mean_signal_melt,aes(x=loc,y=value,colour=type))+
  geom_line(size=0.6,alpha=1)+
  xlab("Distance to transcriptionstart sites (bp)")+
  ylab("PhastConsScore")+
  xlim(c(-1000,1000))+
  scale_colour_manual(limits=c("seq1","seq2","seq2","gene TSS","random"),labels=c(expression(seq1-p1),expression(seq-p2),expression(seq-p3),"Gene TSS","random"),values =c("red","gold","green","blue","black"))+
  theme_bw()+
  theme(
    axis.text=element_text(size = rel(1.3)),
    axis.title=element_text(size=rel(1.3)),
    # axis.title.x=element_blank(),
    legend.text=element_text(size=rel(1.3)),
    legend.title=element_blank(),
    legend.background=element_blank(),
    legend.key = element_blank(),
    legend.margin=margin(0,0,0,0,"mm"),
    legend.box.spacing =unit(1,"mm"),
    #legend.position=c(1,1),legend.justification=c(1,1),
    legend.position="top"
  )
dev.off()

  写在最后,保守性分析完了可以进行motif预测分析,然后motif又可以进行GO等功能性分析(请查看历史消息),都是妥妥的套路,这些套路咱们以后慢慢揭露,尽情关注并接收更多套路文章。

上一篇下一篇

猜你喜欢

热点阅读