染色质谱(DNASE-seq和ATAC-seq)呈现出由转录因子(TF)协同结合调控的多分辨率形状和跨度。由于这些实验中使用的酶(DNASE-I/Tn5)产生的混杂偏差,这种复杂性更难以挖掘。现有方法无法在基础分辨率上考虑这种复杂性,也无法正确考虑酶偏差,因此错过了这些谱图的高分辨率结构。在此我们介绍ChromBPNet来解决这两个方面的问题。
ChromBPNet(图中显示 为偏差因子化ChromBPNet
)是一个完全卷积神经网络,使用带残差连接的扩张卷积,实现了大感受野和高效参数化。它还通过两个步骤自动进行实验偏差校正,首先通过学习简单的染色质背景模型来捕捉酶的影响(图中称为冻结偏差模型
)。然后我们使用这个模型从ATAC-seq/DNASE-seq谱图中回归掉酶的影响。这个两步过程确保了ChromBPNet模型的序列组件(称为TF模型
)不会学习酶偏差。
本节将讨论训练ChromBPNet模型所需的包。首先,建议您使用GPU进行模型训练,并已安装必要的NVIDIA驱动程序和CUDA。您可以通过执行nvidia-smi
命令并确保命令返回系统GPU信息(而不是错误)来验证机器是否正确设置为使用GPU。其次,有两种方法可以确保您拥有训练ChromBPNet模型所需的包,我们在下面详细说明,
下载并安装适用于您平台的最新版本Docker。这里是安装程序的链接 -<a href="https://docs.docker.com/get-docker/">Docker安装程序</a>。运行下面的docker run命令打开一个已安装所有包的环境,然后执行cd chrombpnet
开始运行教程。
注意: 要从docker容器中访问系统GPU,您必须在主机上安装NVIDIA Container Toolkit。
docker run -it --rm --memory=100g --gpus device=0 kundajelab/chrombpnet:latest
创建一个干净的conda环境,python版本>=3.8
conda create -n chrombpnet python=3.8
conda activate chrombpnet
通过conda安装非Python要求
conda install -y -c conda-forge -c bioconda samtools bedtools ucsc-bedgraphtobigwig pybigwig meme
pip install chrombpnet
git clone https://github.com/kundajelab/chrombpnet.git
pip install -e chrombpnet
使用预训练偏差模型训练ChromBPNet的命令如下:
chrombpnet pipeline \
-ibam /path/to/input.bam \ # 只接受ibam、ifrag或itag中的一个
-ifrag /path/to/input.tsv \ # 只接受ibam、ifrag或itag中的一个
-itag /path/to/input.tagAlign \ # 只接受ibam、ifrag或itag中的一个
-d "ATAC" \
-g /path/to/hg38.fa \
-c /path/to/hg38.chrom.sizes \
-p /path/to/peaks.bed \
-n /path/to/nonpeaks.bed \
-fl /path/to/fold_0.json \
-b /path/to/bias.h5 \
-o path/to/output/dir/ \
-ibam
或-ifrag
或-itag
: 以bam、fragment或tagalign格式之一包含过滤reads的输入文件路径。支持类型的示例文件 - bam、fragment、tagalign-d
: 实验类型。支持以下类型 - "ATAC"或"DNASE"-g
: 参考基因组fasta文件。人类参考的示例文件 - hg38.fa-c
: 染色体和大小制表符分隔文件。人类参考的示例文件 - hg38.chrom.sizes-p
: narrowPeak文件格式的输入峰,必须有10列,至少包含chr、start、end和summit(第10列)的值。在所有区域中,每个区域内部都以start + summit为中心。ENCSR868FGK数据集的示例文件 - peaks.bed-n
: narrowPeak文件格式的输入非峰(背景区域),必须有10列,至少包含chr、start、end和summit(第10列)的值。在所有区域中,每个区域内部都以start + summit为中心。ENCSR868FGK数据集的示例文件 - nonpeaks.bed。有关如何制作自己的非峰文件的更多说明,请参见预处理指南。-fl
: 显示训练、测试和验证的染色体分割的json文件。人类参考的5折json示例 - folds-b
: .h5
格式的偏差模型。偏差模型通常可在遵循相似协议的实验类型之间转移。可供使用的预训练偏差模型库在此。训练自定义偏差模型的说明见下文。-o
: 输出目录路径请在此处找到预处理的脚本和最佳实践。
输出目录将按如下方式填充 -
models\
bias_model_scaled.h5
chrombpnet.h5
chrombpnet_nobias.h5 (TF模型,即预测偏差校正后可及性谱图的模型)
logs\
chrombpnet.log (每个epoch的损失)
chrombpnet.log.batch (每个epoch每个batch的损失)
(..训练中使用的其他超参数)
auxilary\
filtered.peaks
filtered.nonpeaks
...
evaluation\
overall_report.pdf
overall_report.html
bw_shift_qc.png
bias_metrics.json
chrombpnet_metrics.json
chrombpnet_only_peaks.counts_pearsonr.png
chrombpnet_only_peaks.profile_jsd.png
chrombpnet_nobias_profile_motifs.pdf
chrombpnet_nobias_counts_motifs.pdf
chrombpnet_nobias_max_bias_response.txt
chrombpnet_nobias.....footprint.png
...
提供了有关输入参数的更多信息以及输出文件格式及其使用方法的详细使用指南在此和在此。
更多信息,另请参见:
训练自定义偏差模型的命令如下:
chrombpnet bias pipeline \
-ibam /path/to/input.bam \ # 只接受ibam、ifrag或itag中的一个
-ifrag /path/to/input.tsv \ # 只接受ibam、ifrag或itag中的一个
-itag /path/to/input.tagAlign \ # 只接受ibam、ifrag或itag中的一个
-d "ATAC" \
-g /path/to/hg38.fa \
-c /path/to/hg38.chrom.sizes \
-p /path/to/peaks.bed \
-n /path/to/nonpeaks.bed \
-fl /path/to/fold_0.json \
-b 0.5 \
-o path/to/output/dir/ \
-ibam
或 -ifrag
或 -itag
:输入文件路径,包含经过过滤的读数,格式可以是bam、fragment或tagalign之一。支持的文件类型示例 - bam、fragment、tagalign-d
:实验类型。支持以下类型 - "ATAC"或"DNASE"-g
:参考基因组fasta文件。人类参考基因组示例文件 - hg38.fa-c
:染色体和大小的制表符分隔文件。人类参考基因组示例文件 - hg38.chrom.sizes-p
:以narrowPeak文件格式输入峰值,必须有10列,至少包含染色体、起始位置、结束位置和峰顶(第10列)的值。在所有区域中,每个区域内部都以起始位置加峰顶为中心。ENCSR868FGK数据集的示例文件 - peaks.bed-n
:以narrowPeak文件格式输入非峰值(背景区域),必须有10列,至少包含染色体、起始位置、结束位置和峰顶(第10列)的值。在所有区域中,每个区域内部都以起始位置加峰顶为中心。ENCSR868FGK数据集的示例文件 - nonpeaks.bed-f
:显示训练集、测试集和验证集染色体划分的json文件。人类参考基因组的5折json示例 - folds-o
:输出目录路径预处理的脚本和最佳实践请参见此处。
输出目录结构如下:
models\
bias.h5
logs\
bias.log(每个epoch的损失)
bias.log.batch(每个epoch每个batch的损失)
(..其他用于训练的超参数)
intermediates\
...
evaluation\
overall_report.html
overall_report.pdf
pwm_from_input.png
k562_epoch_loss.png
bias_metrics.json
bias_only_peaks.counts_pearsonr.png
bias_only_peaks.profile_jsd.png
bias_only_nonpeaks.counts_pearsonr.png
bias_only_nonpeaks.profile_jsd.png
bias_predictions.h5
bias_profile.pdf
bias_counts.pdf
...
关于输入参数和输出文件格式的详细使用指南以及如何使用它们的更多信息,请参见此处和此处。
更多信息,另请参见:
如果您的投稿不允许使用GitHub引用,请联系Anusri Pampari和Anshul Kundaje。 如果您在工作中使用了ChromBPNet,请按以下格式引用:
@software{Pampari_Bias_factorized_base-resolution_2023,
author = {Pampari, Anusri and Shcherbina, Anna and Nair, Surag and Schreiber, Jacob and Patel, Aman and Wang, Austin and Kundu, Soumya and Shrikumar, Avanti and Kundaje, Anshul},
doi = {10.5281/zenodo.7567627},
month = {1},
title = {{Bias factorized, base-resolution deep learning models of chromatin accessibility reveal cis-regulatory sequence syntax, transcription factor footprints and regulatory variants.}},
url = {https://github.com/kundajelab/chrombpnet},
version = {0.1.1},
year = {2023}
}
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科 研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。