pyGenomeTracks是什么
首先在介绍pyGenomeTracks之前, 先说几个常用的表观组学数据展示工具,IGV,UCSC和WashU。其中大家用的最多的应该就是IGV了,很方便,不管是win版本还是linux版本,它的安装都十分的方便,使用起来也很简单,直接导入基因组的fasta文件,就能帮你建立索引。
其实我心里最喜欢的是WashU,但是这个软件有一个缺点是,他是一个网页版的bowser,并且上传数据有些麻烦,需要提供SessionFile 的URL,最关键的问题是,鄙人不会。。。所以有老大哥知道怎么向WashU上传自己研究的基因组数据,还请指点一二。而UCSC也是类似的浏览器,我没有用过,所以就不误导大家了。下面展示一下WashU美丽的图画:
而我今天记录的这款pyGenomeTracks也是类似上述三个基因浏览器的功能,不过他不是那种可以即时可视化的工具,而是一种python包,后来我稍微深入的看了看,才知道这东西也是bedtools的一员,向大佬们致敬,简直一个工具全部垄断了。
说了这么多,下面我们直接看看pyGenomeTracks的出图效果,因为我们用这个工具主要还是为了可视化:
pyGenomeTracks安装
pyGenomeTracks的安装特别简单,在GitHub上可以直接搜索到,放上连接:https://github.com/deeptools/pyGenomeTracks
我比较懒,直接用conda安装的,但是我之前有过conda把一些软件搞崩了的经历。看官们自行选取:
输入文件制备
pyGenomeTracks的输入文件需要一个配置文件(.ini),这个配置文件会调用外围的数据。数据类型一般甲基化、ATAC和ChIP都可以用bedGraph格式文件,基因组注释用UCSC12列bed格式文件,而Hi-C数据需要提供HicPro的矩阵文件。
制作配置文件,需要用make_tracks_file
命令,也可以按照模板手动填写。其实我觉得没必要自己手动填写,可以用命令去制作配置文件,然后手动修改几个参数就可以了。
make_tracks_file --trackFiles <bw1> <bw2> <bed> -o tracks.ini
# --trackFiles 将想要绘制的文件,按顺序放后面
#-o 输出结果的文件名
生成的ini文件,每个参数上都有很详细的说明:
max_value
。
pyGenomeTracks --tracks test.ini --region SL3.0ch01:20000-30000 --outFileName test.pdf
绘制图片
总体上,还是不错的。下面我们加入基因信息,加入基因信息上面也说了需要UCSC的bed12格式,那么怎么转成bed12呢?其实这方面已经有现成的轮子可以做,都是UCSC中的插件。分别是gtfToGenePred和genePredToBed,需要的数据为gtf注释,有点强调的是转化为bed12格式文件之后,一定要排序,有经验的腿子讲,如果顺序混乱会导致报错。
conda install ucsc-gtftogenepred
conda install ucsc-genepredtobed
conda install ucsc-bedtobigbed
#安装所需的插件
gtfToGenePred input_annotation.gtf annotation.genePred
genePredToBed annotation.genePred annotation.bed12
# sort bed12
sort -k1,1 -k2,2n annotation.bed12 > annotation.sorted.bed
转换之后我们,继续制作ini文件,只不过是将bed文件加上去即可。
pyGenomeTracks --tracks my_tra.ini --region SL3.0ch01:10000-50000 --outFileName test.pdf --height 20 --width 20
颜色是一个比较头疼的问题,配色上我采用了一个帅气师兄浅配色的标准,下面几个颜色大家可以进行参考:
宝石蓝:#40E0D0;纳瓦霍白:#FFDEAD;番茄:#FF6347;酸橙绿:#32CD32
bed这块在格式上的设置需要进行大幅度修改,他默认的展示太丑了。
大致把这几项修改即可:
height = 4
title = refGenes
fontsize = 6
style = UCSC
gene_rows = 2
color=black
border color = black
绘制Hi-C交互热图
这部分还没有数据,以后遇到项目,我会补上。苏米娜赛