HiC Pro 是一组基因组分析套件,可提供 HiC 相关的分析。
配置运行时环境
Python 环境 和 Docker 环境 二选一即可。
Python 环境
安装 miniconda
代码语言:javascript复制# down miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh
# install miniconda
bash Miniconda3-latest-Linux-x86_64.sh
# activate conda
source .bashrc
可以从清华源获取新的版本:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
安装 HicPro
代码语言:javascript复制# download hic pro
wget https://github.com/nservant/HiC-Pro/archive/refs/tags/v3.1.0.tar.gz
# decompression
tar zxf v3.1.0.tar.gz
# 根据 HiC Pro 项目中的配置文件创建一个全新的环境
conda env create -f HiC-Pro-3.1.0/environment.yml
# 激活 HiC-Pro Python 环境
conda activate HiC-Pro_v3.1.0
# 可选,AWS Ubuntu 需要安装
apt install g unzip
# 生成配置,执行安装
make configure
make
可以从 HicPro Release 页面获取新的版本: https://github.com/nservant/HiC-Pro/releases 注意程序的安装目录为
解压文件
所在目录的
Docker 环境
安装 Docker:
代码语言:javascript复制curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
根据提示操作,等待执行完成。
配置镜像加速,如果文件不存在则创建,如果文件已经存在,则在 registry-mirrors
添加镜像地址。
vim /etc/docker/daemon.json
添加 腾讯云 镜像加速:
代码语言:javascript复制{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
启动 Docker,启动一次,后续开机自动启动,无需操作
代码语言:javascript复制# 设置 Docker 开机启动
sudo systemctl enable docker
# 启动 Docker 运行时
sudo systemctl start docker
# 可选,脚本以自动添加
sudo groupadd docker
# 为当前用户添加 docker 执行权限,root 用户跳过
sudo usermod -aG docker $USER
拉取 hicpro
镜像:
docker pull nservant/hicpro:latest
如果需要进入 Hic Pro 的运行环境,可通过下方命令,进入 bash 环境,执行后续的文件转换操作。
代码语言:javascript复制# 运行
docker run -it -v /mnt/cosfs/PM_XS05KF2020110270_55_MGI:/data nservant/hicpro bash
-it 代表需要控制台命令操作; -v 代表挂载目录, 本地目录:运行环境目录
如果已经准备好所有的分析文件,并完成 config-hicpro.txt
文件的修改,可直接运行下面的命令,Hic Pro 分析进程将直接进入后台操作,分析完成后退出。
期间可通过, docker top
或者 htop
等命令查看进程运行情况,或通过 docker logs -f hicpro
命令查看控制台日志,当然也可以查看 analysis
目录下 log 文件。
docker run --name=hicpro -d -v /mnt/cosfs/PM_XS05KF2020110270_55_MGI:/data nservant/hicpro /HiC-Pro_3.0.0/bin/HiC-Pro -c /data/E234/config-hicpro.txt -o /data/E234/analysis -i /data/E234/data
-d
代表程序进入后台运行;—name
代表 docker 运行时名称;-v
代表挂载目录(可挂载多个路径);nservant/hicpro
代表镜像名称;
/HiC-Pro_3.0.0/bin/HiC-Pro
代表 HiC Pro 可执行文件的文件路径;其后相关参数,均为 Hic Pro 程序的参数。
-c
为容器内config-hicpro.txt
文件路径(需注意是 docker 内部挂载后的路径);-o 为文件输出输出结果所在路径(路径保存在容器内部,如果需要保存到本地,需保存在
-v` 挂载的路径内);-i
为config-hicpro.txt
内部引用数据的目录(fasta
和bowtie index
所在路径)
如下部分为 Hic Pro 程序参数:
/HiC-Pro_3.0.0/bin/HiC-Pro -c /data/E234/config-hicpro.txt -o analysis -i /data/E234/data
Hic Pro 使用
如果已经完成 config-hicpro.txt 的相关配置和文件的生成,可跳过 参数文件 章节。
参数文件
生成 bowtie2 index 文件。
代码语言:javascript复制bowtie2-build --threads 16 Homo_sapiens_assembly19.fasta E234
E234 为生成文件的前缀
整理基因组文件,生成 bed 文件
代码语言:javascript复制/HiC-Pro-3.1.0/bin/utils/digest_genome.py Homo_sapiens_assembly19.fasta -r dpnii -o E234_dpnii.bed
/HiC-Pro-3.1.0 为 HiC Pro 所在目录,可根据 使用章节中的介绍判断,例子中为 Docker 环境中的所做目录。 -o 为生成 bed 文件的文件名
建立 .fai 文件,根据这个 .fai 文件和原始的fastsa文件, 能够快速的提取任意区域的序列。
该命令对输入的 fasta 序列有一定要求:对于每条序列,除了最后一行外, 其他行的长度必须相同。
代码语言:javascript复制samtools faidx Homo_sapiens_assembly19.fasta
生成的文件名为 fasta 文件的文件名加 .fai 文件后缀,如上例子中得到: Homo_sapiens_assembly19.fasta.fai
根据 fai 文件,提取 基因对照组,即 .sizes 文件
代码语言:javascript复制awk '{print $1"t" $2}' Homo_sapiens_assembly19.fasta.fai >genome.sizes
如果你拿到的是 bam 文件,需要生产 fastq 文件,可通过下面的文件生成 fastq 文件。
代码语言:javascript复制bedtools bamtofastq -i E234_R1_2.hicup.bam -fq E234_R1_2.fastq
HiC Pro 使用
首先确定 HiC Pro 的所在目录,例如 Python 环境时,下载文件和解压文件所做的目录(例如在用户家目录中安装,则为: ~/HiC-Pro-3.1.0
),如果是 Docker 环境: /HiC-Pro_3.1.0
(注意 3.1.0 为软件版本,后续可能改变,可通过 ls
查看根目录下判断得出具体目录)
/HiC-Pro_3.0.0/bin/HiC-Pro -c /data/E234/config-hicpro.txt -o analysis -i /data/E234/data
如上命令执行分析,-c 为配置文件在路径, -o 为分析结果存放目录,-i 为 分析文件所在目录(fasta 所在目录)
相关参考链接
- https://lxz9.com/2021/07/18/HiC-Pro/
- https://cloud.tencent.com/developer/article/1938221
- https://cloud.tencent.com/developer/article/1556867
- https://www.omicsclass.com/article/751