헤카테: 모듈형 유전체 손실 없는 압축 프레임워크
헤카테는 FASTA/FASTQ 파일을 제어, 헤더, 염기, 대소문자, 품질, 부가 스트림으로 분리하고, 각 스트림에 최적화된 코덱을 적용하는 모듈형 압축 시스템이다. BWT 기반 코덱, 마코프 혼합 코덱, LZ 기반 코덱을 컨테이너 안에서 자유롭게 조합할 수 있으며, 블록 인덱싱을 통해 정확한 랜덤 액세스와 참조 기반 차분 압축을 제공한다. 벤치마크 결과, 동일 압축률에서 2~10배 빠른 속도, 동일 시간 제한에서는 5~10% 더 좋은 압축률을…
저자: Kamila Szewczyk, Sven Rahmann
본 논문은 차세대 유전체 압축기 ‘헤카테(Hecate)’를 제안한다. 헤카테는 FASTA/FASTQ 파일을 제어, 헤더, 염기, 대소문자, 품질, 부가 채널로 분리하고, 각 채널에 맞춤형 코덱을 할당하는 모듈형 컨테이너 구조를 채택한다. 이 설계는 스트림 별 특성을 반영한 최적 코딩을 가능하게 하며, 블록 단위 인덱싱을 통해 정확한 랜덤 액세스와 무결성 검증을 제공한다.
코덱은 크게 세 종류로 구성된다. 첫 번째는 LZ 기반(zstd 등)으로 저엔트로피 스트림에 적용한다. 두 번째는 BWT 기반 코덱(hecate‑bwt)으로, 기존 bzip2·bzip3·bbb·bsc의 한계를 극복한다. hecate‑bwt는 libsais를 이용한 병렬 suffix array 생성, 32/64비트 SA 자동 전환, 보조 인덱스와 stride r을 통한 LF 매핑 재시작을 지원한다. 압축 단계에서는 8‑depth 비트 컨텍스트 트리와 3가지 카운터(u0, u1, u2) 및 run‑conditioned SSE 테이블을 혼합해 다중 스케일 예측을 수행한다. 카운터 업데이트는 τ=3,5,7의 비대칭 지수 이동 평균을 사용해 빠른 변화와 느린 변화 모두에 적응한다. 이러한 설계는 BWT 출력이 장기간 런 형태로 나타나는 유전체 데이터에 최적화되어, 기존 BWT 기반 압축기 대비 압축률을 2~5% 정도 향상시킨다.
세 번째는 마코프 혼합 코덱(markov‑mix)이다. 블록(80심볼) 단위로 미리 정의된 전문가 모델 집합 M={m0…m4} 중 최적 모델을 선택하고, 선택된 모델 인덱스를 별도 스트림에 저장한다. 모델은 차수(k), 가중치(α,ρ 등)와 최대 카운터값(cmax)으로 파라미터화되어, 고차 마코프 모델이 필요할 때는 비용이 증가하지만 압축률을 크게 높일 수 있다. 업데이트는 승자 모델에만 완전 업데이트를 수행하고, 나머지는 비대칭 업데이트를 적용해 연산량을 크게 절감한다.
참조 기반 모드에서는 각 스트림을 바이너리 차분(diff)하여 레퍼런스와 XOR 결과만 압축한다. 이는 인간 게놈과 같은 대형 레퍼런스 대비 차이가 0.6% 수준인 경우 전송량을 크게 줄인다. 차분 결과는 기존 스트림 구조를 그대로 유지하므로, 참조 모드에서도 모듈화된 코덱을 그대로 사용할 수 있다.
성능 평가에서는 MFCompress, NAF, AGC, bzip3 등 최신 압축기와 비교했다. 대형 인간 게놈(≈3 Gb) 및 고유사성(>99.5%) 컬렉션에서 헤카테는 압축 비율·속도 모두 우위를 보였다. 동일 압축률에서 헤카테는 2~10배 빠른 압축 속도를 기록했으며, 동일 시간 제한에서는 5~10% 더 높은 압축률을 달성했다. 또한, 블록 크기와 메모리 사용량을 조절함으로써 저사양 환경에서도 실용적인 성능을 유지한다.
결론적으로 헤카테는 (1) 스트림 수준의 모듈화와 조건부 코딩, (2) 대규모 BWT와 다중 스케일 비트 예측, (3) 블록 기반 마코프 혼합이라는 세 가지 핵심 기술을 결합해, 유전체 데이터 압축 효율과 시스템 통합성을 동시에 향상시킨 혁신적인 프레임워크이다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기