4 tháng 05, 2026

Pipeline phân tích methyl hóa từ dữ liệu đọc ngắn với Nextflow

image

Chúng tôi đã đánh giá cả BSBolt và Rastair cho việc gọi methyl hóa. BSBolt cung cấp khả năng align và gọi methyl hóa từ dữ liệu giải trình tự bisulfite một cách chính xác và nhanh chóng, vượt trội so với Bismark, BSSeeker2, BISCUIT và BWA-Meth về độ chính xác alignment cũng như độ chính xác gọi methyl hóa. Rastair đạt điểm F1 vượt 0.99 với các bộ dữ liệu có độ phủ trên 30x, đồng thời xử lý tệp độ phủ 30x trong dưới 30 phút với 32 lõi CPU.

Tài liệu tham khảo:

nf-core/methylation được xem là một pipeline hàng đầu cho việc gọi methyl hóa từ dữ liệu giải trình tự đọc ngắn, với sự hậu thuẫn của một cộng đồng lớn và năng động. Tuy nhiên, nó vẫn tồn tại một số hạn chế:

  • Định kiến về danh tiếng: Những công cụ được sử dụng rộng rãi thường được giữ làm mặc định, kể cả khi chúng có thể không còn mang lại hiệu năng tốt nhất. Điều này có thể dẫn đến việc tiêu tốn tài nguyên không cần thiết và hiệu quả dưới mức tối ưu ở một số bước.
  • Tính năng cũ tồn đọng: Một số công cụ được tích hợp đã không còn được duy trì tích cực trong nhiều năm, dẫn đến khoảng cách về hiệu năng. Dù vậy, chúng thường vẫn được giữ lại để đảm bảo tương thích ngược, làm tăng độ phức tạp của codebase và gánh nặng bảo trì khi bổ sung tính năng mới.
  • Hạn chế về khả năng tùy biến: Pipeline được thiết kế cho mục đích đa dụng và hướng nghiên cứu. Trong môi trường sản xuất công nghiệp, các workflow thường cần được tinh gọn — chỉ giữ lại những bước thiết yếu và đạt khả năng mở rộng gần như tuyến tính theo tài nguyên. Trong những trường hợp như vậy, một cách tiếp cận tối giản và được thiết kế chuyên biệt thường hiệu quả hơn.

Vì vậy, chúng tôi phát triển nf-short-read-methylation nhằm hỗ trợ cụ thể việc phân tích methyl hóa quy mô lớn từ dữ liệu giải trình tự bisulfite (BSBolt) và dữ liệu giải trình tự TAPs (Rastair).

Kiến trúc

Tính năng chính

  • Hai hướng phân tích methyl hóa: BSBolt (bisulfite truyền thống) và Rastair (dựa trên TAPS)
  • Nhiều định dạng đầu vào: FASTQ (toàn bộ pipeline), BAM và CRAM (bỏ qua alignment, tự động chuyển đổi)
  • Kiểm soát chất lượng: Fastp
  • Phân tích M-bias: Tính toán M-bias tự động và tối ưu hóa việc trimming
  • Loại bỏ trùng lặp linh hoạt: Samtools MarkDup (BSBolt), GATK MarkDuplicates (Rastair)
  • Tổng hợp liên mẫu: Tạo ma trận methyl hóa phục vụ phân tích so sánh
  • Nén CRAM: Tích hợp sẵn chuyển đổi CRAM→BAM để phân tích lại hiệu quả

Các công cụ gọi methyl hóa

BSBolt

BiSulfite Bolt là một nền tảng phân tích giải trình tự bisulfite, cung cấp khả năng align và gọi methyl hóa từ dữ liệu bisulfite chính xác và nhanh chóng. Nó vượt trội so với Bismark, BSSeeker2, BISCUIT và BWA-Meth về độ chính xác alignment và độ chính xác gọi methyl hóa.

Ưu điểm chính:

  • Align nhanh, chính xác và có nhận biết đặc trưng bisulfite
  • Hỗ trợ cả thư viện directional và undirectional
  • Định dạng đầu ra CGmap và BedGraph
  • Tổng hợp ma trận liên mẫu phục vụ phân tích so sánh

Rastair

Rastair là một bộ công cụ phần mềm tích hợp để phát hiện SNP và gọi methyl hóa đồng thời từ dữ liệu giải trình tự mC→T (chẳng hạn như TAPS+ và các hóa học 5-Base của Illumina). Nó kết hợp phát hiện biến thể dựa trên học máy với ước lượng methyl hóa có nhận biết kiểu gen.

Ưu điểm chính:

  • Điểm F1 vượt 0.99 với các bộ dữ liệu có độ phủ trên 30x
  • Xử lý tệp độ phủ 30x trong dưới 30 phút với 32 lõi CPU
  • Tích hợp gọi biến thể và methyl hóa
  • Đầu ra tuân thủ chuẩn ở các định dạng VCF, BAM và BED
  • Xác định các vị trí mà biến thể phá vỡ hoặc tạo ra các site CpG

Benchmark

Hiệu năng của BSBolt

Theo bài công bố về BiSulfite Bolt, BSBolt vượt trội so với các công cụ align bisulfite hiện có:

Công cụ Độ chính xác alignment Gọi methyl hóa
BSBolt Cao nhất Chính xác nhất
Bismark Thấp hơn Tốt
BSSeeker2 Thấp hơn Tốt
BISCUIT Trung bình Trung bình
BWA-Meth Thấp hơn Thấp hơn

Hiệu năng của Rastair

Theo bài công bố về Rastair trên các bộ dữ liệu benchmark NA12878:

  • Điểm F1: >0.99 với các bộ dữ liệu có độ phủ trên 30x
  • Thời gian xử lý: <30 phút cho tệp độ phủ 30x với 32 lõi CPU
  • Tăng tốc bằng GPU: nhanh hơn ~2 lần khi có GPU
  • Phát hiện bổ sung: Báo cáo thêm ~500,000 vị trí mà SNP tạo ra các CpG "de-novo"

Bắt đầu nhanh

Cấu hình cho trường hợp sử dụng chính

Cấu hình mặc định sử dụng:

  • BSBolt làm công cụ gọi methyl hóa (đặt taps: true để dùng Rastair)
  • Hệ gen tham chiếu GRCh38
  • Lọc chất lượng bằng FASTP
  • Loại bỏ trùng lặp tự động
  • Báo cáo methyl hóa theo từng cytosine
Terminal window
pixi run nextflow run main.nf -profile docker -resume

Chuẩn bị samplesheet

Tạo một samplesheet CSV với dữ liệu đầu vào của bạn. Pipeline hỗ trợ ba chế độ đầu vào:

- Đầu vào FASTQ (toàn bộ pipeline)

sample,lane,fastq_1,fastq_2
sample1,L001,/path/to/sample1_R1.fastq.gz,/path/to/sample1_R2.fastq.gz
sample2,L001,/path/to/sample2_R1.fastq.gz,/path/to/sample2_R2.fastq.gz

- Đầu vào BAM (bỏ qua alignment)

sample,lane,bam,bai
sample1,L001,/path/to/sample1.bam,/path/to/sample1.bam.bai

- Đầu vào CRAM (bỏ qua alignment + tự động chuyển đổi)

sample,lane,cram,crai
sample1,L001,/path/to/sample1.cram,/path/to/sample1.cram.crai

Lợi ích của CRAM:

  • Đầu vào được nén: Tệp CRAM nhỏ hơn BAM khoảng 4 lần
  • Pipeline nhanh hơn: Bỏ qua bước alignment khi chạy lại việc gọi methyl hóa
  • Chuyển đổi tự động: Chuyển đổi CRAM→BAM được tích hợp vào pipeline

Các cột trong samplesheet:

  • sample: Định danh mẫu
  • lane: Lane giải trình tự (tùy chọn, mặc định là L001)
  • Chế độ FASTQ: fastq_1, fastq_2 (tệp FASTQ nén gzip)
  • Chế độ BAM: bam, bai (BAM đã align + index)
  • Chế độ CRAM: cram, crai (alignment đã nén + index)

Chạy pipeline

Pipeline sẽ tự động phát hiện định dạng đầu vào (FASTQ, BAM hoặc CRAM) để chạy các bước phù hợp:

Terminal window
nextflow run main.nf \
--input samplesheet.csv \
--profile docker \
-resume

Tùy chọn nâng cao

Terminal window
# Run with Rastair (TAPS-based methylation)
nextflow run main.nf \
--input samplesheet.csv \
--taps true \
--profile docker \
-resume
# Run with custom trim parameters (Rastair)
nextflow run main.nf \
--input samplesheet.csv \
--taps true \
--trim_OT 10 \
--trim_OB 10 \
--profile docker \
-resume
# BSBolt with pre-built index
nextflow run main.nf \
--input samplesheet.csv \
--bsbolt_index /path/to/bsbolt_index \
--profile docker \
-resume
# Custom reference genome
nextflow run main.nf \
--input samplesheet.csv \
--reference /path/to/reference.fa \
--profile docker \
-resume

Để chạy chế độ test với dữ liệu mẫu:

Terminal window
nextflow run main.nf -profile docker,test -resume

Xem kết quả

Các tệp đầu ra sẽ được tạo trong thư mục results/. Cấu trúc tệp phụ thuộc vào chế độ chạy pipeline:

-Kết quả BSBolt:

  • results/alignment/*.bam - Tệp BAM đã align
  • results/bsbolt/methylation_calls/*.cgmap.gz - Kết quả gọi methyl hóa định dạng CGmap
  • results/bsbolt/methylation_calls/*.bedGraph.gz - Định dạng BedGraph để trực quan hóa
  • results/bsbolt/aggregate_matrix/*_matrix.txt - Ma trận methyl hóa liên mẫu
  • results/deduplicated/*.bam - Tệp BAM đã loại bỏ trùng lặp

-Kết quả Rastair:

  • results/rastair/mbias/ - Kết quả tính toán M-bias và biểu đồ
  • results/rastair/call/*.txt - Kết quả gọi methyl hóa
  • results/rastair/methylkit/*.methylkit.txt.gz - Định dạng MethylKit cho phân tích trong R

-Các tệp đầu ra chung:

  • results/multiqc_report.html - Báo cáo kiểm soát chất lượng tương tác
  • results/pipeline_info/ - Timeline thực thi và trace log

Để biết thêm các cách sử dụng nâng cao và tùy chọn cấu hình, xem tài liệu Pipeline Architecture.

Tài liệu tham khảo

  1. BiSulfite Bolt: A bisulfite sequencing analysis platform: Bài báo trên GigaScience về BSBolt
  2. Rastair: an integrated variant and methylation caller: Preprint trên BioRxiv về Rastair
  3. Pipeline Olympics: benchmarking computational workflows for DNA methylation sequencing: Bài báo trên NAR về benchmark các pipeline methyl hóa
  4. https://github.com/vieomics/nf-short-read-methylation: Pipeline cấp production cho việc phân tích methyl hóa từ dữ liệu đọc ngắn sử dụng Nextflow

Bài viết gần đây