
Chúng tôi chứng minh rằng việc sử dụng fastp, bwa-mem2 và deep-variant có thể đạt hiệu năng tương đương trên bộ dữ liệu HG002 GIAB, cho thấy một bộ công cụ tối giản vẫn cho kết quả ngang với nf-core/sarek với đầy đủ hỗ trợ profile.
nf-core/sarek được xem là một pipeline hàng đầu cho việc gọi biến thể từ dữ liệu đọc ngắn ở cả quy trình germline lẫn somatic, 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ế:
Vì vậy, chúng tôi phát triển nf-germline-short-read-variant-calling pipeline nhằm hỗ trợ xây dựng cohort dân số quy mô lớn cho các dự án biobank, được tối ưu cho việc gọi biến thể germline từ dữ liệu giải trình tự đọc ngắn với độ phủ ~30×.
Tính năng chính
Kết quả benchmark: https://github.com/vieomics/nf-germline-short-read-variant-calling/tree/main/benchmark
Cả hai pipeline đều đạt độ chính xác SNP và INDEL xuất sắc với DeepVariant. Pipeline nf-germline-short-read cho hiệu năng tương đương nf-core/sarek trong khi vẫn duy trì một workflow đơn giản, tinh gọn hơn được tối ưu riêng cho việc gọi biến thể germline.
Pipeline này được tối ưu riêng cho việc phát hiện SNP và INDEL nhỏ bằng DeepVariant với bước tiền xử lý được bỏ qua. Kết quả benchmark trên HG002 (Genome in a Bottle) cho thấy hiệu năng cạnh tranh với nf-core/sarek:
| Pipeline | Recall | Precision | F1 Score | TP | FN |
|---|---|---|---|---|---|
| nf-germline-short-read-variant-calling | 99.39% | 99.82% | 99.60% | 3,344,672 | 20,455 |
| nf-core/sarek | 99.39% | 99.84% | 99.61% | 3,344,549 | 20,578 |
| Pipeline | Recall | Precision | F1 Score | TP | FN |
|---|---|---|---|---|---|
| nf-germline-short-read-variant-calling | 98.78% | 99.38% | 99.08% | 519,079 | 6,390 |
| nf-core/sarek | 98.97% | 99.46% | 99.21% | 520,048 | 5,421 |
Kết quả benchmark trên HG002:
Cấu hình mặc định sử dụng:
pixi run nextflow run main.nf -profile docker -resumeTạ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_2HG002,L001,/path/to/HG002_R1.fastq.gz,/path/to/HG002_R2.fastq.gzHG003,L001,/path/to/HG003_R1.fastq.gz,/path/to/HG003_R2.fastq.gzĐầu vào BAM (bỏ qua alignment)
sample,lane,bam,baiHG002,L001,/path/to/HG002.bam,/path/to/HG002.bam.baiHG003,L001,/path/to/HG003.bam,/path/to/HG003.bam.baiĐầu vào CRAM (bỏ qua alignment + tự động chuyển đổi)
sample,lane,cram,craiHG002,L001,/path/to/HG002.cram,/path/to/HG002.cram.craiHG003,L001,/path/to/HG003.cram,/path/to/HG003.cram.craiLợi ích của CRAM:
Các cột trong samplesheet:
sample: Định danh mẫulane: Lane giải trình tự (nếu có nhiều lane, hãy tạo dòng riêng cho từng lane)fastq_1, fastq_2 (tệp FASTQ nén gzip)bam, bai (BAM đã align + index)cram, crai (alignment đã nén + index)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:
nextflow run main.nf \ --input samplesheet.csv \ --profile docker \ -resumeTùy chọn nâng cao
# With multiple SV callersnextflow run main.nf \ --input samplesheet_cram.csv \ --structural_variant_caller "manta,delly,lumpy" \ --profile docker \ -resume
# Skip annotation for faster processingnextflow run main.nf \ --input samplesheet.csv \ --skip_annotation \ --profile docker \ -resume
# Use alternative variant caller (GATK or FreeBayes)nextflow run main.nf \ --input samplesheet.csv \ --small_variant_caller gatk \ --profile docker \ -resumeĐể chạy chế độ test với dữ liệu mẫu:
nextflow run main.nf -profile docker,test -resumeCá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ế độ đầu vào:
Kết quả đầu vào FASTQ:
results/alignment/*.bam - Tệp BAM đã alignresults/alignment_qc/ - Báo cáo chất lượng alignmentresults/variant_calling/*.vcf.gz - Kết quả gọi biến thể thôresults/variant_annotation/*.vcf - Biến thể đã chú giảiKết quả đầu vào CRAM:
results/variant_calling/*.vcf.gz - Kết quả gọi biến thể thô (từ BAM đã chuyển đổi)results/variant_annotation/*.vcf - Biến thể đã chú giảiCá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ácresults/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.
