HiC Pro 环境配置及使用

2022-11-23 15:21:41 浏览数 (1)

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 添加镜像地址。

代码语言:javascript复制
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 镜像:

代码语言:javascript复制
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 文件。

代码语言:javascript复制
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` 挂载的路径内);
  • -iconfig-hicpro.txt 内部引用数据的目录(fastabowtie 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

0 人点赞