全基因组测序(Whole Genome Sequencing, WGS)就像用超高倍显微镜扫描生命的天书。想象你拿到一本3亿字的小说(人类基因组),但书页被撕成无数150字的小纸条(测序reads),还夹杂着印刷错误(测序误差)。WGS流程就是把这些碎片重新拼回完整故事,并标出所有错别字(基因变异)的过程。
我在肿瘤研究所工作时,处理过上千例癌症样本。一个完整的WGS流程通常包含四大阶段:
整个过程会产生三种关键文件格式:
bash复制FASTQ(原始数据) → BAM(比对结果) → VCF(变异结果)
提示:临床样本建议至少30X测序深度,科研样本建议50X以上。我曾遇到一个乳腺癌样本因20X深度导致关键突变漏检,后来补测到60X才找到真正的驱动突变。
刚从测序仪出来的数据就像刚冲洗的胶卷,可能有过曝(高错误率)或欠曝(低质量)区域。每个read在FASTQ文件中用四行表示:
python复制@仪器编号:测序坐标
ATCGATCG...(碱基序列)
+(可选的质量值标识符)
!''*((((...(ASCII编码的质量值)
去年处理的一批肝癌样本中,约15%因接头污染(adapter contamination)需要特殊处理。用FastQC查看时,如果看到各位置碱基组成不平衡(比如全是A),很可能是测序仪流动池故障。
我习惯用MultiQC生成综合报告,它能整合多个样本的FastQC结果。关键指标要盯紧:
这是我的常用过滤命令:
bash复制fastp -i raw_1.fq -I raw_2.fq -o clean_1.fq -O clean_2.fq \
--qualified_quality_phred 20 \
--unqualified_percent_limit 40 \
--length_required 100 \
--detect_adapter_for_pe
注意:不要过度过滤!有次我设置--qualified_quality_phred 30,导致20%的真突变被误删。后来用已知突变的标准品测试,发现Q20阈值更适合我们的测序平台。
把reads比对到参考基因组,就像用GPS定位撕碎的旅游手册页码。主流工具各有特点:
| 工具 | 适用场景 | 内存消耗 | 速度 |
|---|---|---|---|
| BWA-MEM | 常规WGS | 中等 | 快 |
| Bowtie2 | 靶向测序 | 低 | 极快 |
| STAR | RNA-seq | 高 | 慢 |
我团队做过对比测试:对于30X的人类全基因组,BWA-MEM比对率能达到99.2%,而Novoalign虽然准确率高0.3%,但耗时增加2倍。临床项目建议用经过验证的流程:
bash复制bwa mem -t 16 -R "@RG\tID:sample1\tSM:sample1" \
GRCh38.fasta clean_1.fq clean_2.fq > aligned.sam
排序去重阶段有个经典坑:MarkDuplicates的REMOVE_DUPLICATES参数慎用!它会物理删除重复reads。有次我误开启这个选项,导致肿瘤样本的驱动突变频率被低估。正确做法是用MARK_DUPLICATES仅做标记。
局部重比对要特别注意复杂变异区域。用GATK时,建议添加-knownSites参数引入已知变异数据库:
bash复制gatk BaseRecalibrator \
-I sorted.bam \
-R GRCh38.fasta \
--known-sites dbsnp_146.hg38.vcf \
-O recal_data.table
对于遗传病研究,GATK HaplotypeCaller是金标准。但要注意版本差异:4.0以上版本启用新算法,我对比过GATK 3.8和4.2的结果,在INDEL检测上有3%差异。建议统一版本:
bash复制gatk HaplotypeCaller \
-R GRCh38.fasta \
-I preprocessed.bam \
-O raw_variants.vcf \
--native-pair-hmm-threads 8
肿瘤-正常配对分析时,Mutect2比VarScan更敏感。但要注意contamination参数设置:有次分析FFPE样本忘记设置--f1r2-tar-gz,导致假阳性率飙升。推荐流程:
bash复制gatk Mutect2 \
-R GRCh38.fasta \
-I tumor.bam \
-I normal.bam \
-normal normal_sample_name \
--germline-resource af-only-gnomad.vcf \
-O somatic.vcf
ANNOVAR和VEP各有千秋。我偏好VEP的--plugin参数,可以加载CADD、SpliceAI等预测分数。有个肺癌案例中,SpliceAI评分>0.8的剪切位点突变,经实验验证90%确实影响RNA剪切。
ACMG指南是金标准,但要注意:
我的常用注释命令:
bash复制vep -i final.vcf \
--format vcf \
--species homo_sapiens \
--cache \
--dir_cache /vep_data \
--offline \
--plugin CADD,/data/cadd/whole_genome_SNVs.tsv.gz
最后分享一个血泪教训:永远保持元数据记录!有次重分析半年前的数据,因忘记当时用的GRCh38.p12版本,导致与新版注释结果出现偏差。现在我会在每个流程开始时自动生成JSON格式的流程记录文件。