|||
1. 安装
目前最新版的是2.11.1版。注意:不要安装2.10.1版,新版本2.11.1版在2.10.1版上有重大更新,2.10.1版的iced无法自动编绎安装。升级版修复了这个重大bug。
wget https://github.com/nservant/HiC-Pro/archive/v2.11.1.tar.gz
tar -xxvf v2.11.1.tar.gz #解压生成目录HiC-Pro_2.11.1
cd HiC-Pro_2.11.1
#修改config-install.txt文件中软件路径(注意:以下均为目录)
PREFIX是最后安装到的目录。
注意:其中这个路径一定不能是解压后的当前目录或子目录!因为在安装过程中程序会将整个HiC-Pro_v2.11.1拷贝到PREFIX目录下!这个操作太诡异了,一定要注意!!
BOWTIE2_PATH,SAMTOOLS_PATH,R_PATH,PYTHON_PATH分别是bowtie2,samtools,R和python的路径目录,CLUSTER_SYS是作业调度系统,仅支持TORQUE, SGE or SLURM系统。
make configure
make install
2. HiCPro的使用
建议先建立文件夹01.ref 02.reads,将reference(即辅助组装的输入fasta)链接到01.ref中
2.1 采用HiCPro自带的digest_genome.py程序酶切位点信息文件,例如:
/PATH/TO/HiC-Pro_2.11.1/bin/utils/digest_genome.py -r mboi -o falcon_contig.MboI.txt /PATH/TO/falcon_contig.fasta
# 其中falcon_contig.fasta是辅助组装的输入contig/scaffold,后期需将HiC reads比对到该fasta文件
其中,-r指定酶的名称或序列,在代码给了如下字典,所以此处-r写^GATC或mboi(注意全小写字母)都可以。
# -o指定输出的酶切信息文件
# 最后的位置参数为参考基因组序列
完成后,生成的文件格式如下:
第一列是序列名,这里不是原始输入的序列名,而是HiC-Pro自行指定的序列名,第二列和第三列相关,第三列是程序检测到的酶切位点对应序列的起始位置。例如,假设采用的酶是MboI,那么参考基因组序列上GATC位点的起始位置。
2.2 用bowtie2对falcon_contig.fasta建立索引
/PATH/TO/bowtie2-build --threads 20 /PATH/TO/falcon_contig.fasta /PATH/TO/falcon_contig
# 强列建议,索引命名为是reference去掉后缀.fasta的字符串
2.3整理reads目录结构
注意:这里是HiCPro的第二个坑!
在HiCPro的源码中只会读入指定目录的子目录的文件,源码如下:
所以,建立reads目录结构如下:
注意:其中reads名称默认必须是_R1.fastq.gz和_R2.fastq.gz结尾的。否则会报如下错误:
Exit: Error: Directory Hierarchy of rawdata '/path/to/02.reads/' is not correct. Paired '.fastq' files with _R1/_R2 are required !
这里是应与后面的config-hicpro.txt中PAIR1_EXT对应上,因为默认如下:
PAIR1_EXT = _R1
PAIR2_EXT = _R2
2.4 基因组中序列大小文件
这个文件记录了falcon_contig.fasta中序列长度信息,每行如下:
<contig1>[TAB]<contig1_length>
例如:
可通过以下脚本获取:
samtools faidx /PATH/TO/falcon_contig.fasta
运行完生成falcon_contig.fasta.fai
再采用以下脚本生成genome size文件
awk '{print $1"\t"$2}' falcon_contig.fasta.fai > falcon_contig.fasta.size
2.5 运行主程序
cp /PATH/TO/HiC-Pro_2.11.1/config-hicpro.txt .
将HiCPro安装目录下的config-hicpro.txt文件拷贝到当前目录下,并进行修改:
通常需修改的地方有以下几个,其中用红色标出是重要的(通常每次运行都修改的)参数:
> N_CPU,例如N_CPU = 24
> JOB_NAME,例如JOB_NAME = Arabidopsis_thaliana
> JOB_WALLTIME,例如JOB_WALLTIME = 11:00:00
> JOB_QUEUE,例如JOB_QUEUE = assembly
> JOB_MAIL,例如JOB_MAIL = lurui@frasergen.com
> BOWTIE2_IDX_PATH填写用bowtie2对reference建立索引的目录,注意是目录,而不是索引路径!如/PATH/to/ref/dir
> REFERENCE_GENOME,例如falcon_contig
> 注意:这是第三个大坑!这里REFERENCE_GENOME一定要和bowtie2建立的索引对应上,而且不是路径
> GENOME_SIZE,即第2.4步生成的文件falcon_contig.fasta.size
> GENOME_FRAGMENT,指定在2.1中用digest_genome.py程序生成的文件falcon_contig.MboI.txt
> LIGATION_SITE,酶的序列,例如HindIII,则为AAGCTAGCTT;如果是MboI则序列为GATCGATC。
> MIN_FRAG_SIZE,例如MIN_FRAG_SIZE = 100
> MAX_FRAG_SIZE,例如MAX_FRAG_SIZE = 100000
> MIN_INSERT_SIZE,例如MIN_INSERT_SIZE = 100
> MAX_INSERT_SIZE,例如MAX_INSERT_SIZE = 600
> GET_PROCESS_SAM,例如GET_PROCESS_SAM = 1
主程序HiC-Pro可以单线程来跑(不使用--parallel选项),或者采用多线程来跑(使用--parallel选项)
/PATH/TO/HiC-Pro_2.11.1/bin/HiC-Pro --input /PATH/TO/02.reads/ --output hicpro_output --conf /PATH/TO/config-hicpro.txt --parallel
如果是单线程来跑,可以直接qsub以上脚本;
如果是多线程来跑,程序会先生成一个文件夹,所有要准备的脚本文件都在这个文件夹下。其中有两个脚本HiCPro_step1_xx.sh和HiCPro_step2_xx.sh
注意:因为生成的sh脚本中qsub参数行与普通的qsub不同,需要修改,这里可以直接ssh到某个节点,再在后台运行nohup sh HiCPro_step1_xx.sh &,具体有待下一步解决。
请注意:使用多线程模式时,程序会使用结点上所有可以利用的CPU
如果想多线程采用qsub的方式上抛计算节点,必须要加一个-t 1 !
例如qsub -cwd -l vf=30g,p=10 -q fat -t 1 HiCPro_step1_xx.sh。
如果不加-t 1则会报如下错误:
--------------------------------------------
Fri May 31 13:20:50 CST 2019
Bowtie2 alignment step1 ...
Nothing to align ! Please check input files and R1/R2 extension.
make: *** [bowtie_global] Error 1
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-15 07:33
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社