Hi-C fastq data to valid pair and matrix data format transition.
本文總結(jié)了Hi-C原始數(shù)據(jù)處理流程,以及不同Hi-C數(shù)據(jù)格式之間的轉(zhuǎn)換。
一、比對
1、工具安裝
工具:Hi-CPro 軟件: https://github.com/nservant/HiC-Pro
選擇最新的安裝包下載,按照官網(wǎng)的步驟安裝軟件及依賴軟件。
tar -zxvf HiC-Pro-master.tar.gz
cd HiC-Pro-master
## Edit config-install.txt file if necessary
make configure
make install
2、建立project文件夾(重要)
文件夾一定要按照軟件要求的格式創(chuàng)建
tree rawdata
rawdata/
├── CT
│ ├── CT-1_R1.fq.gz
│ ├── CT-1_R2.fq.gz
└── Treat
│ ├── Treat-1_R1.fq.gz
│ ├── Treat-1_R2.fq.gz
3、創(chuàng)建酶切位點文件
如果使用HindIII酶切,則軟件中已經(jīng)有預(yù)置,不需要創(chuàng)建。我這里用的是MboI酶切,酶切位點為GATCGATC,需要重新創(chuàng)建。流程如下:
## 需要參考基因組fasta文件
pwd
~/HiC-Pro_3.1.0/annotation ## 需要在annotation文件夾下創(chuàng)建bed
~/HiC-Pro_3.1.0/bin/utils/digest_genome.py -r GATCGATC -o Mus_musculus_MboI.GRCm38.dna.toplevel.bed Mus_musculus.GRCm38.dna.toplevel.fa
4、修改config-hicpro.txt文件
N_CPU = 40
## 比對軟件的路徑
BOWTIE2_IDX_PATH = /your/bowtie2/index/dir_path
## 參考基因組的路徑
REFERENCE_GENOME = Mus_musculus.GRCm38.dna.toplevel
GENOME_SIZE = Mus_musculus.GRCm38.dna.toplevel.chrom.size
## 基因組切割bed文件,及酶切位點堿基序列,這里使用的MboI酶切割
GENOME_FRAGMENT = Mus_musculus_MboI.GRCm38.dna.toplevel.bed
LIGATION_SITE = GATCGATC
## 其他參數(shù)可以根據(jù)自己的情況修改
5、運行HicPro
runhic=/home/edith/Downloads/HicPro/HiC-Pro_3.1.0/bin/HiC-Pro
input=/home/edith/data/hic/rawdata
output=/home/edith/data/hic/output
conf=/home/edith/data/hic/output/config-hicpro.txt
$runhic -i $input -o $output -c $conf
6、輸出文件
hicpro 輸出兩個文件夾:
bowtie_results/ :
output/bowtie_results/bwt2/ 文件夾下包含比對的最終bamfile文件;
bowtie_results/bwt2_glob/ 和 bowtie_results/bwt2_loc/文件夾可以移;
hic_results/:
hic_results/data 包含 valid pair文件
hic_results/matrix 包含HiC pro格式的稀疏矩陣文件
hic_results/pic 包含輸出的質(zhì)控圖片;
二、獲得個性化的HiC矩陣
1、HicPro分步運行:
HiCPro的處理流程包括以下6部分:
INPUT DATA TYPE IN STEPWISE MODE
-s mapping .fastq(.gz) files
-s proc_hic .bam files
-s quality_checks .bam files
-s merge_persample .validPairs files
-s build_contact_maps .validPairs files
-s ice_norm .matrix files
如果想 HiCPro 分步運行,只需要命令后面加上-s參數(shù):
$runhic -i ${output}bowtie_results/bwt2/ -o ${output} -c $conf -s proc_hic
$runhic -i ${output}bowtie_results/bwt2/ -o ${output} -c $conf -s quality_checks
$runhic -i ${output}hic_results/data/ -o ${output} -c $conf -s merge_persample
$runhic -i ${output}hic_results/data/ -o ${output} -c $conf -s build_contact_maps
$runhic -i ${output}hic_results/matrix/ -o ${output} -c $conf -s ice_norm
2、HiCPro文件的merge
output/bowtie_results/bwt2/ 文件夾下的 .bam 文件可以修改,如果想將多個HiC文件進(jìn)行進(jìn)行merge分析,可以在比對后將bamfile 全部放到一個bwt2/文件夾下,然后運行后續(xù)的HiCpro分析內(nèi)容:
## 將比對文件merge 后文件夾內(nèi)容如下:
tree bwt2/
├── CT
│ ├── CT-1_Mus_musculus.GRCm38.dna.toplevel.bwt2pairs.bam
│ ├── CT-2_Mus_musculus.GRCm38.dna.toplevel.bwt2pairs.bam
│ ├── CT-3_Mus_musculus.GRCm38.dna.toplevel.bwt2pairs.bam
├── Treat
│ ├── Treat-1_Mus_musculus.GRCm38.dna.toplevel.bwt2pairs.bam
│ ├── Treat-2_Mus_musculus.GRCm38.dna.toplevel.bwt2pairs.bam
│ ├── Treat-3_Mus_musculus.GRCm38.dna.toplevel.bwt2pairs.bam
## 然后運行hicpro
$runhic -i ${output}bowtie_results/bwt2/ -o ${output} -c $conf -s proc_hic
$runhic -i ${output}bowtie_results/bwt2/ -o ${output} -c $conf -s quality_checks
$runhic -i ${output}hic_results/data/ -o ${output} -c $conf -s merge_persample
$runhic -i ${output}hic_results/data/ -o ${output} -c $conf -s build_contact_maps
$runhic -i ${output}hic_results/matrix/ -o ${output} -c $conf -s ice_norm
3、ValidPair的標(biāo)準(zhǔn)化
利用分步運行,可以在運行完 pro_hic 步驟后獲得validpair文件,隨后可以修改validpair文件的大小,將HiC數(shù)據(jù)標(biāo)準(zhǔn)化再進(jìn)行下游分析。
## 利用shuf 命令隨機抽取100000000 個readpair
shuf -n100000000 filename.validPair > filename-100M.validPair
## 然后運行后續(xù)的HICPRO 命令
$runhic -i ${output}hic_results/data/ -o ${output} -c $conf -s build_contact_maps
$runhic -i ${output}hic_results/matrix/ -o ${output} -c $conf -s ice_norm
隨后,HiCPro的輸出文件hic_results/data/文件夾下面的validPair文件可以被轉(zhuǎn)化成.hic文件,在Juicer中可視化;
hic_results/matrix/ 文件夾下面的 _iced.matrix 文件可以使用 HicPro自帶的工具轉(zhuǎn)化成 density 矩陣格式,也可以使用其他軟件比如 hicexplorer 進(jìn)行格式轉(zhuǎn)化。下篇筆記整理一下我的 hic數(shù)據(jù)格式轉(zhuǎn)換的流程。
歡迎關(guān)注公,一起交流!
原文:HI-C數(shù)據(jù)分析 pipeline(一:上游數(shù)據(jù)預(yù)處理