pyGenomeTracks—表观多组学个性化track可视化工具

作者:Jenny
审稿:童蒙
排版:amethyst

引言

在表观多组学联合分析中,我们经常会遇到想对某个区域可视化,每当看到高分文章里漂亮的tracks图,就羡慕不已。今天小编就给大家介绍一款非常好用的python包—pyGenomeTracks,它能够满足Hi-C、ChIP-seq/ATAC-seq、RNA-seq和BS-seq等多种组学数据类型。接下来,就让我们一步步了解下如何实现的吧!


pyGenomeTracks的使用方法很简单易懂,首先需要生成相应的配置文件hic_track.ini(可以自己编辑也可以用make_tracks_file命令自动生成),然后用pyGenomeTracks命令对特定区域生成相应的hic_track.pdf便可。

命令如下所示:

#step1 
make_tracks_file --trackFiles hic_data.h5 bigwig.bw -o hic_track.ini
#step2 
pyGenomeTracks --tracks hic_track.ini --region chrX:2500000-3500000 --outFileName hic_track.pdf

有小伙伴马上发现,画出来的结果跟最上面展示的有些差异。这是因为很多时候我们需要对配置文件track.ini进行修改。另一方面,我们需要设计自己个性化的track,比如基因注释文件,甲基化CpGs位点还有Loops、AB compartments等等,有时候因为数据的特殊性我们还得稍微调整下参数。因此为了画出能够直接用于文章发表的精美tracks,还是很有必要对一些基本概念了解清楚的。

01 软件安装

pyGenomeTracks需要python >=3.6,这里小编建议用Anaconda3安装。

前几期我们有介绍如何安装Anaconda3,有需求的小伙伴可以点后面链接看看,大家按照步骤安装就可以了,Anaconda3会自动安装python3.6的。(大火的单细胞分析软件Seurat,不能正常安装,怎么办?

#安装命令
conda install -c bioconda -c conda-forge pygenometracks

02 文件格式

  • bigwig
  • bed3(TAD domain),bed4(可视化peaks区域),bed6(最简单的基因格式),bed12(UCSC gene format)
  • arcs(Loops)
  • Hi-C matrices
  • bedgraph
  • epilogos
  • narrow peaks

按照软件说明, pyGenomeTracks可以对以上文件格式进行可视化,接下来小编对主要的几种格式进行介绍。

2.1 bigwig

bigwig是一种十分常用的二进制可视化格式,可以直接由bam文件生成。
小编这里对bedgraph格式没有尝试成功,大家如果也不行的话,可以转成bigwig格式再用 pyGenomeTracks画。

#bam转bigwig
bamCoverage -b in.bam --outFileName in.bw --binSize 50 --normalizeUsing RPKM --smoothLength 300 --outFileFormat bigwig
#bedgraph转bigwig
bedGraphToBigWig in.bedGraph chrom.sizes out.bw

目前,ChIP-seq、ATAC-seq和RNA-seq的信号强度都可以用bigwig文件可视化的。另外BS-seq的CpGs甲基化位点和Hi-C组学的AB compartments(PC1值)也可以生成bedgraph格式再转bigwig。

2.2 bed

bed格式的种类非常多,包括bed3、bed4、bed6、bed12等,它们的共同点是前3列都是chr、start、end。

第4列是名称,如果是基因我们通常用symbol名,第5列的信息一般不重要(可以都用0),第6列是基因的+-链信息。

这里我们主要介绍下bed12格式,专门用于USCS gene format可视化的。

其中translation_start,translation_end需要在TSS、TES范围内,用TSS、TES也是可以。

其实我们可以用gtf生成genePredName.txt文件,然后按照上面格式要求自己写脚本生成bed12便可。

  • bed是0-based格式,也就是从0开始,左闭右开[ )区间,如果出现start=end的情况(如对SNP位点用bed格式可视化时),pyGenomeTracks会报错。另外我们还必须对bed文件进行sort才行。
gtfToGenePred -genePredExt -geneNameAsName2 genes.gtf genePredName.txt
sort -k 1,1 -k 2,2n test.bed > out.bed

2.3 Hi-C文件格式

Hi-C组学除了前面我们提到的TAD_domain.bed格式和AB compartment用bedGraph表示外,我们还有利用matrix文件画热图以及利用interaction信息画Loops。

1)loops.arcs
Loops必须采用arcs格式,如下图所示。

2)matrix.h5
matrix必须用h5格式,如果我们利用HiCPro软件得到的matrix需要转成h5格式。我们可以利用HiCExplorer软件来完成,它可以对h5、cool、hic、homer、hicpro这些格式相互转换。

hicConvertFormat -m 40000_iced.matrix --bedFileHicpro 40000_abs.bed --inputFormat hicpro --outputFormat h5 -o 40000_iced.h5

03 软件实操

3.1数据准备

参考2部分准备以下文件:

file = hic_data.h5
file = domains.bed
file = bigwig.bw
file = test.arcs
file = genes_bed12.bed

生成以下配置文件test.ini

可以用make_tracks_file自动生成,之后参考以下内容修改,需要注意的是:

depth作为热图的高度可以调整,颜色colormap也可以为Reds。另外min_value、max_value 、transform也可以根据实际情况调整。

[x-axis]
where = top

[hic matrix]
file = hic_data.h5
title = Hi-C data
colormap = RdYlBu_r
#colormap = Reds
# depth is the maximum distance plotted in bp. In Hi-C tracks
# the height of the track is calculated based on the depth such
# that the matrix does not look deformed
depth = 200000
transform = log1p
file_type = hic_matrix

[tads]
file = domains.bed
file_type = domains
border color = black
color = none
line_width=1.5
# the tads are overlay over the hic-matrix
# the share-y options sets the y-axis to be shared
# between the Hi-C matrix and the TADs.
overlay previous = share-y

[spacer]

[bigwig file test]
file = bigwig.bw
# height of the track in cm (optional value)
height = 4
title = ChIP-seq
min_value = 0
max_value = 30
transform = log1p
[spacer]

[test arcs]
file = test.arcs
line_width = 3
color=purple
#color = RdYlGn
title = Loops
height = 3

[test gene rows]
file = genes_bed12.bed
height = 3
title = UCSC bed12 genes
fontsize = 8
style = UCSC
gene_rows = 3
color=black
border color = black

3.2生成track图

pyGenomeTracks --tracks test.ini --region chrX:2800000-3300000 --outFileName test_track.pdf

以上,就是本次分享的全部内容了,是不是很容易就能实现呢!其实小编这里主要还是起着抛砖引玉的作用,更多精美漂亮的图还等着各位小伙伴去一一尝试哦!另外该包的作者在github网址有很详细的examples。大家有兴趣的话可以去https://github.com/deeptools/pyGenomeTracks/tree/master/pygenometracks/tests/test_data下载钻研。

参考文献

https://github.com/deeptools/pyGenomeTracks
https://hicexplorer.readthedocs.io/en/latest/content/installation.html
Fidel Ramírez, Vivek Bhardwaj, Laura Arrigoni, Kin Chung Lam, Björn A. Grüning, José Villaveces, Bianca Habermann, Asifa Akhtar & Thomas Manke. High-resolution TADs reveal DNA sequences underlying genome organization in flies. Nature Communications (2018) doi:10.1038/s41467-017-02525-w

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351