Hi-C 기술은 삼차원 염색체 구조를 탐구하는 강력한 도구로, 최근에는 de novo 어셈블리된 스캐폴드를 염색체 수준으로 연결하는 데 필수적으로 활용됩니다. 본 문서에서는 이러한 파이프라인의 핵심 구성요소인 Juicer 도구의 설치와 실행 방법을 상세히 다룹니다.
Juicer 개요
Juicer는 Aiden Lab에서 개발한 통합 분석 플랫폼으로, 원시 Hi-C 시퀀싱 데이터부터 상호작용 매트릭스 생성, 토로지 연관 도메인(TAD) 및 크로마틴 루프 탐지까지 전 과정을 자동화합니다. 주요 특징은 다음과 같습니다:
- 테라바이트급 대용량 데이터셋의 병렬 처리 지원
- 내장된
Arrowhead및Hiccups알고리즘을 통한 구조적 특징 자동 식별 - Apache 2.0 라이선스 기반 오픈소스 생태계
- SLURM, SGE, LSF 등 주요 워크로드 매니저와의 원활한 통합
실행 환경 구성
필수 의존성
| 구성요소 | 최소 버전 | 확인 명령 |
|---|---|---|
| OpenJDK | 1.8 | java -version |
| BWA-MEM | 0.7.17 | bwa 2>&1 | head -1 |
| GNU Coreutils | 8.22 | sort --version |
추가로 NVIDIA GPU가 구축된 환경에서는 CUDA 가속화된 juicer_tools 버전을 활용하여 매트릭스 정규화 속도를 향상시킬 수 있습니다.
디렉터리 구조 준비
# 프로젝트 루트 생성
export JUICER_ROOT=/opt/hic-analysis
mkdir -p ${JUICER_ROOT}/{assembly,enzyme_map,raw_reads,software}
# 참조 서열 저장 경로
REF_DIR=${JUICER_ROOT}/assembly
# 제한효소 절단 위치 정보
SITE_DIR=${JUICER_ROOT}/enzyme_map
# 시퀀싱 데이터
DATA_DIR=${JUICER_ROOT}/raw_reads
소프트웨어 획득
안정적인 릴리스 버전을 권장합니다. 개발 중인 master 브랜치 대신 태그된 릴리스를 직접 다운로드하세요:
cd ${JUICER_ROOT}/software
curl -L -o juicer-1.6.tar.gz \
https://github.com/aidenlab/juicer/archive/refs/tags/1.6.tar.gz
tar -xzf juicer-1.6.tar.gz
ln -s juicer-1.6 juicer
분석 엔진인 juicer_tools JAR 파일을 획득합니다:
cd juicer/CPU/common
wget https://s3.amazonaws.com/hicfiles.tc4ga.com/public/juicer/juicer_tools.2.20.00.jar
ln -sf juicer_tools.2.20.00.jar juicer_tools.jar
전처리 단계: 인덱스 및 제한효소 맵 생성
참조 게놈 인덱싱
BWA-MEM 인덱스를 구축합니다. 이는 후속 read 매핑의 기초가 됩니다:
bwa index -p ${REF_DIR}/ref_index ${REF_DIR}/primary_assembly.fa
제한효소 절단 사이트 예측
실험에 사용된 제한효소 종류에 따라 절단 위치를 계산합니다. 일반적으로 사용되는 효소들:
| 효소명 | 인식 서열 | 용도 |
|---|---|---|
| DpnII | ^GATC | 4bp 커터, 높은 해상도 |
| HindIII | A^AGCTT | 6bp 커터, 장거리 상호작용 |
| MboI | ^GATC | DpnII와 동일한 절단 패턴 |
python ${JUICER_ROOT}/software/juicer/misc/generate_site_positions.py \
HindIII \
ref_id \
${REF_DIR}/primary_assembly.fa \
> ${SITE_DIR}/ref_HindIII.txt
염색체 크기 파일을 파생합니다:
awk -v OFS='\t' '{print $1, $NF}' ${SITE_DIR}/ref_HindIII.txt \
> ${SITE_DIR}/ref.chrom.sizes
입력 데이터 구성
원시 FASTQ 파일은 엄격한 명명 규칙을 따라야 합니다. 샘플 식별자와 방향성 정보가 파이프라인 내부에서 정규표현식으로 추출됩니다:
${DATA_DIR}/
├── strainA_R1.fq.gz
├── strainA_R2.fq.gz
├── strainB_R1.fq.gz
└── strainB_R2.fq.gz
중요: 파일명은 반드시 _R1과 _R2 접미사로 구분되어야 하며, 압축 형식은 gzip을 사용해야 합니다.
핵심 분석 실행
대용량 데이터셋의 경우 tmux 또는 screen 세션 내에서 실행하는 것을 권장합니다:
export PATH=${JUICER_ROOT}/software/juicer/CPU:$PATH
juicer.sh \
-z ${REF_DIR}/primary_assembly.fa \
-p ${SITE_DIR}/ref.chrom.sizes \
-y ${SITE_DIR}/ref_HindIII.txt \
-s HindIII \
-d ${DATA_DIR} \
-D ${JUICER_ROOT}/software/juicer \
-t 32 \
-S early \
> ${JUICER_ROOT}/execution.log 2>&1
주요 매개변수 설명:
| 옵션 | 기능 |
|---|---|
-z | 참조 서열 경로 (동일 경로에 BWA 인덱스 필수) |
-p | 염색체 크기 정의 파일 |
-y | 제한효소 절단 위치 좌표 |
-s | 제한효소 식별자 |
-d | 입력 FASTQ 디렉터리 |
-D | Juicer 설치 루트 |
-t | BWA-MEM 병렬 스레드 수 |
-S | 실행 단계 (early/mid/late, 기본값: late) |
출력 결과 해석
성공적인 완료 후 다음 디렉터리 구조가 생성됩니다:
${DATA_DIR}/aligned/
├── inter.hic # 전체 매핑 품질 스코어 범위
├── inter_30.hic # MAPQ ≥ 30 필터링 버전
├── inter_1_5000.txt # 5kb 빈 해상도 매트릭스
├── inter_30_10000.txt # 10kb 해상도, 고품질만
└── merged_nodups.txt # 3D-DNA 입력 파일
merged_nodups.txt 파일은 7개 필드로 구성된 탭 구분 형식입니다:
- read1 염색체
- read1 좌표 (1-based)
- read1 방향성 (0: 정방향, 1: 역방향)
- read2 염색체
- read2 좌표
- read2 방향성
- MAPQ 점수
이 파일은 후속 3D-DNA 파이프라인의 run-asm-pipeline.sh 스크립트에 직접 전달되어 스캐폴드의 염색체 수준 배열을 수행합니다.
품질 검증 및 문제 해결
분석 완료 후 fastqc 디렉터리 내 HTML 리포트를 확인하여 라이브러리 복잡도와 매핑률을 검증하세요. 정상적인 Hi-C 라이브러리는 다음 특성을 보여야 합니다:
- 매핑률 > 70%
- 유효 상호작용 비율 (intra-chromosomal / total) > 40%
- 중복 제거 후 고유 read 수 > 100M (mammalian genome 기준)
이상적으로는 .hic 파일을 Juicebox 데스크톱 애플리케이션으로 로드하여 대각선 패턴의 선명도와 예상 염색체 수에 따른 블록 구조를 시각적으로 확인하는 것을 권장합니다.