利用atac-seq信号预测转录因子占有率

tobias的Python项目详细描述


通过研究ATAC序列信号预测Tobias转录因子占有率

PyPI Versioninstall with bioconda

简介

atac-seq(利用高通量测序对转座子可及染色质进行分析)是一种用于研究全基因组染色质可及性的测序分析。该分析应用TN5转座酶将测序适配器插入可获得的染色质中,从而能够绘制整个基因组的调控区域。此外,tn5插入物的局部分布包含有关转录因子结合的信息,这是由于蛋白结合位点周围插入物的可见损耗-即footprints

tobias是用于对atac seq数据执行足迹分析的命令行生物信息学工具的集合,包括:

  • tn5插入偏压的校正
  • 监管区域内足迹得分的计算
  • 结合/非结合转录因子结合位点的估计
  • 可视化不同条件下的足迹

有关每个工具的信息,请参见wiki

安装

tobias是作为一个python包编写的,可以通过pip快速安装:

pip install tobias

或者直接从github使用:

$ git clone https://github.molgen.mpg.de/loosolab/TOBIAS
$ cd TOBIAS
$ python setup.py install

有关详细信息,请参见installation页。

用法

所有工具都可以通过命令行TOBIAS <TOOLNAME>使用,例如:

$ TOBIAS ATACorrect
__________________________________________________________________________________________

                                   TOBIAS ~ ATACorrect
__________________________________________________________________________________________

ATACorrect corrects the cutsite-signal from ATAC-seq with regard to the underlying
sequence preference of Tn5 transposase.

Usage:
TOBIAS ATACorrect --bam <reads.bam> --genome <genome.fa> --peaks <peaks.bed>

Output files:
- <outdir>/<prefix>_uncorrected.bw
- <outdir>/<prefix>_bias.bw
- <outdir>/<prefix>_expected.bw
- <outdir>/<prefix>_corrected.bw
- <outdir>/<prefix>_atacorrect.pdf

(...)

命令行示例

这些示例使用TOBIAS/test_data目录中提供的测试数据,因此运行命令时请确保您位于tobias/目录的上部。

atacorrect:开放染色质中atac seq读取的偏差校正

$ TOBIAS ATACorrect --bam test_data/Bcell_chr4.bam --genome test_data/genome_chr4.fa.gz --peaks test_data/merged_peaks.bed --blacklist test_data/blacklist_chr4.bed --outdir atacorrect_test --prefix Bcell --cores 8

footprintscorres:从校正的剪切站点计算足迹分数

$ TOBIAS FootprintScores --signal test_data/Bcell_corrected.bw --regions test_data/merged_peaks.bed --output Bcell_footprints.bw --cores 8

bindetect:基于分数、序列和基序的差异结合基序估计

$ TOBIAS BINDetect --motifs test_data/example_motifs.txt --signals test_data/Bcell_footprints.bw test_data/Tcell_footprints.bw --genome test_data/genome_chr4.fa.gz --peaks test_data/annotated_peaks.bed --peak_header test_data/annotated_peaks_header.txt --outdir bindetect_output --cond_names Bcell Tcell --cores 8

plotaggregate:plot aggregated atac seq signals in combinations of.bed/.bw to visualize footprints

可视化所有可访问站点的两个条件之间的足迹差异:

$ TOBIAS PlotAggregate --TFBS test_data/BATFJUN_all.bed  --signals test_data/Bcell_corrected.bw test_data/Tcell_corrected.bw --output BATFJUN_footprint_comparison_all.pdf --share_y both --plot_boundaries

将两个条件之间的足迹差异可视化,仅限于绑定站点:

$ TOBIAS PlotAggregate --TFBS test_data/BATFJUN_Bcell_bound.bed test_data/BATFJUN_Tcell_bound.bed --signals test_data/Bcell_corrected.bw test_data/Tcell_corrected.bw --output BATFJUN_footprint_comparison_subsets.pdf --share_y both --plot_boundaries

可视化一个条件下绑定/未绑定站点的拆分:

$ TOBIAS PlotAggregate --TFBS test_data/IRF1_all.bed test_data/IRF1_bound.bed test_data/IRF1_unbound.bed --signals test_data/Bcell_uncorrected.bw test_data/Bcell_expected.bw test_data/Bcell_corrected.bw --output IRF1_footprint.pdf  --share_y sites --plot_boundaries

plotheatmap:以.bed/.bw的组合方式绘制热图和atac seq信号的聚合,以可视化足迹

$ TOBIAS PlotHeatmap --TFBS test_data/BATFJUN_Bcell_bound.bed test_data/BATFJUN_Bcell_unbound.bed --TFBS test_data/BATFJUN_Tcell_bound.bed test_data/BATFJUN_Tcell_unbound.bed --signals test_data/Bcell_corrected.bw test_data/Tcell_corrected.bw --output BATFJUN_heatmap.pdf --signal_labels Bcell Tcell --share_colorbar

formatmotif:一个跨不同motif文件格式转换和连接/拆分的实用程序
将单个motif文件合并到一个:

$ TOBIAS FormatMotifs --input test_data/individual_motifs/* --format pfm --task join --output example_motifs.txt

分割包含多个图案的图案文件:

$ TOBIAS FormatMotifs --input test_data/example_motifs.txt --format pfm --task split --output split_motifs

使用tf名称筛选较大的motif文件:

$ echo 'MAFK CTCF JUNB' > TF_names.txt
$ FormatMotifs --input test_data/example_motifs.txt --output filtered_motifs.txt --filter TF_names.txt

蛇形管

可以单独运行每个Tobias工具,也可以作为管道的一部分运行。我们提供了一个预先设置的snakemake工作流,它位于here

许可证

这个项目是根据MIT license授权的。

联系人

梅特本特森(梅特本特森(AT)MPI bn.mpg.de)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用HSET函数在redis中保存keyvalue   如何选择Tomcat上下文。Java代码中通过SpEL表达式的xml参数   java可以在javassist中访问Groovy脚本中声明的类吗?   java Lucene setPositionIncrement不起作用   有没有办法用Java调用shell脚本,并通过Java类为shell脚本变量设置值   java堆算法在列表中的实现   java如何让TTS在一个应用程序中以不同的语言表达?   java重构并在遍历枚举结构时删除case语句   java Android获取附近地点的列表   选定id后,java应用程序强制停止   如何用java显示消息对话框   java如何按日期和增量设置文本?   java如何按照依赖关系的顺序正确加载项目的类?   java在尝试为实体添加标识符时遇到问题   如何从Java字节码判断局部变量是否为“final”?(与BCEL相关)   neo4j中的java节点级安全性   java我在libGDX中缺少什么来获取Actor上的InputEvent?   java RecycleView不显示任何数据   Java中无构造函数创建子类实例的继承