news 2026/3/24 11:54:57

全基因组重测序上游分析流程--随笔15

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
全基因组重测序上游分析流程--随笔15

全基因组重测序上游分析流程|从软件部署到变异检测,超细致实操指南

作为科研新手,第一次上手全基因组重测序数据处理时,我踩过不少软件安装的坑、碰过参数设置的雷。如今整理出这份超详细流程,从前期准备到最终变异过滤,每一步都标注了关键注意事项,跟着练一遍就能快速上手。觉得有用的话,别忘了点赞收藏哦~

适用场景:动植物全基因组重测序上游分析(变异检测核心流程)

核心工具:BWA、Samtools、Picard、GATK4(全开源,附conda安装命令)

0 前期准备:软件部署与环境搭建

重测序上游分析的核心工具就4个,全部开源可通过conda快速安装,推荐Linux集群或Mac OS系统,Windows建议用WSL2。重点注意GATK4的版本特性——虽然是新版本,但100%开源且适配大规模数据,是未来主流,本文全程基于GATK4构建流程。

工具名称

核心功能

conda安装命令

注意事项

BWA

NGS数据与参考基因组比对

conda install -c bioconda bwa

C语言编写,需系统支持编译

Samtools

BAM/SAM文件处理(排序、索引等)

conda install -c bioconda samtools

与Picard功能互补,必装工具

Picard

标记重复序列、文件格式处理

conda install -c bioconda picard

Java编写,需Java 1.8+环境

GATK4

变异检测、基因型推断

conda install -c bioconda gatk4

4.x比3.x更适配集群,全开源

避坑指南:安装生信软件务必加-c bioconda指定频道,避免下载到旧版本或错误包。Java版本过低会导致Picard报错,可通过java -version检查,低于1.8则需重新安装。

1 原始数据质控:快速过一遍,心里有底

现在测序公司交付的基本都是经过初步处理的clean data,但自己验证一步更放心。核心用两个工具:

  • FastQC:可视化展示数据质量(碱基分布、测序错误率等),命令:fastqc read_1.fq.gz read_2.fq.gz

  • fastp:批量清洗数据(去除接头、低质量碱基),命令:fastp -i read_1.fq.gz -I read_2.fq.gz -o clean_1.fq.gz -O clean_2.fq.gz

如果FastQC报告中“Per base sequence quality”出现红色区域,或接头污染率高,就需要用fastp调整参数(如--cut_front去除前端低质量碱基)再处理。

2 核心流程:从序列比对到变异检测

这部分是重测序分析的核心,每一步都有明确的逻辑和避坑点,跟着步骤走准没错。

2.1 序列比对:给短读长“找家”

NGS测出来的短序列(read)是随机打乱的,必须通过比对找到它们在参考基因组上的位置。BWA是目前最权威的工具,核心靠“索引构建+比对”两步。

步骤1:构建参考基因组索引

索引能让BWA快速定位序列,相当于给参考基因组建“目录”。命令超简单:

bwa index genome.fasta

运行后会生成5个以genome.fasta为前缀的文件(.amb/.ann/.bwt等),这些是比对的关键,别删!

步骤2:双末端序列比对

重测序常用双末端测序(PE),两个fq文件分别对应DNA片段的两端,比对时要一起输入。这里有个超级关键的参数——Read Group(-R),直接影响后续GATK分析!

bwa mem -t 4 -R '@RG\tID:lane1\tPL:illumina\tLB:lib1\tSM:sample1' genome.fasta clean_1.fq.gz clean_2.fq.gz | samtools view -S -b - > sample1.bam
  • ID:测序lane编号(从fq文件名获取,如lane1)

  • PL:测序平台(必须是GATK认可的,如illumina、COMPLETE,不能写“CG”“MGI”)

  • SM:样本ID(唯一标识,多样本分析时必用)

  • LB:文库名(可选,从测序报告获取)

避坑重点:-R参数的4个核心信息 平台写错会报“not a recognized platform”错误,后期改起来很麻烦!

命令解析:-t 4用4个线程加速;管道符|直接将比对结果(SAM格式)转给Samtools,用-b转为二进制BAM格式(节省空间,后续分析更高效)。

2.2 数据排序:按染色体位置“排好队”

BWA比对后的BAM文件是按read的测序顺序排列的,而后续分析需要按染色体位置排序。用Samtools完成,命令:

samtools sort -@ 4 -m 4G -O bam -o sample1.sorted.bam sample1.bam

参数说明:-m 4G限制每个线程用4G内存,避免服务器内存溢出;文件名加“sorted”标识,后续好区分。排序后文件会略小,是压缩算法导致的,内容无损失。

2.3 标记重复序列:剔除PCR扩增的“赝品”

建库时的PCR扩增会产生大量重复序列,这些序列会干扰变异检测(增大假阳/假阴率),必须标记或去除。主流用Picard的MarkDuplicates,默认只标记不删除(更灵活)。

picard MarkDuplicates I=sample1.sorted.bam O=sample1.sorted.markdup.bam M=sample1.markdup_metrics.txt

参数说明:I是输入文件,O是输出文件,M是重复序列统计报告(可查看重复率,一般低于30%算正常)。如果非要删除重复序列,加REMOVE_DUPLICATES=true参数即可。

2.4 构建索引:让工具“随机访问”文件

标记重复后的BAM文件需要建索引,方便后续工具快速定位特定区域。同时要给参考基因组做GATK专用索引,两步命令:

# 给BAM文件建索引 samtools index sample1.sorted.markdup.bam # 给参考基因组建GATK索引(生成.dict和.fai文件) gatk CreateSequenceDictionary -R genome.fasta -O genome.dict && samtools faidx genome.fasta

运行后会生成sample1.sorted.markdup.bam.bai(BAM索引)、genome.dictgenome.fasta.fai(参考基因组索引),这三个文件缺一不可。

2.5 变异检测:从GVCF到最终VCF

GATK的HaplotypeCaller是目前最优的变异检测工具,支持单样本和多样本分析,核心分“生成GVCF→合并→基因型推断”三步。

步骤1:单样本生成GVCF

GVCF文件包含所有位点信息(无论是否变异),便于后续多样本合并分析。命令:

gatk HaplotypeCaller -R genome.fasta -I sample1.sorted.markdup.bam --emit-ref-confidence GVCF --min-base-quality-score 10 -O sample1.chr1.g.vcf.gz

如果样本多、染色体多,建议写shell脚本批量运行(循环修改染色体号和样本名),效率翻倍。

步骤2:合并多样本GVCF

多个样本按染色体合并,先把同染色体的GVCF文件名存成列表,再用CombineGVCFs合并:

# 生成GVCF列表 ls *.chr1.g.vcf.gz > chr1_gvcf.list # 合并 gatk CombineGVCFs -R genome.fasta -V chr1_gvcf.list -L 1 -O chr1.merged.g.vcf.gz
步骤3:基因型推断(生成VCF)

将合并后的GVCF转为最终的变异文件(VCF),包含SNP和InDel信息:

gatk GenotypeGVCFs -R genome.fasta -V chr1.merged.g.vcf.gz -O chr1.genotype.vcf.gz

2.6 变异过滤:剔除假阳性,保留可靠结果

刚生成的VCF是“原始数据”,包含大量假阳性变异,需要过滤。分SNP和InDel两类处理,非人类物种建议用“硬过滤”(人类可用VQSR,依赖已知变异集)。

# 提取SNP gatk SelectVariants -R genome.fasta -V chr1.genotype.vcf.gz -O chr1.snp.vcf -select-type SNP # 过滤SNP(核心参数,可根据数据调整) gatk VariantFiltration -V chr1.snp.vcf -O chr1.snp.filter.vcf -R genome.fasta \ --filter-expression "QD < 2.0 || FS > 60.0 || MQ < 40.0" \ --filter-name "SNP_filter"

过滤参数说明:QD(变异质量值)、FS(碱基偏倚)、MQ(比对质量),这些是GATK推荐的核心指标,过滤后标记为“SNP_filter”的位点就是需要剔除的假阳性。

3 收尾:结果文件整理与后续分析方向

上游分析结束后,核心产出是过滤后的VCF文件(如chr1.snp.filter.vcf),后续可根据研究目的开展分析:

  • 群体遗传分析:用PLINK做PCA、亲缘关系分析,用Admixture做群体结构分析

  • 候选基因筛选:结合注释文件(如ANNOVAR)筛选位于外显子区的有害变异

  • 关联分析:与表型数据结合,做GWAS(全基因组关联分析)定位性状相关位点

必看避坑总结

  1. 软件版本要匹配:GATK4不兼容GATK3的命令,安装时明确指定版本(conda install gatk4=4.4.0)

  2. Read Group别瞎写:PL参数必须是GATK认可的,SM参数要唯一,否则后续报错

  3. 文件命名有规律:建议用“样本名_处理步骤.bam”格式(如sample1_sorted.markdup.bam),避免后续混淆

  4. 服务器资源要算够:排序和变异检测很耗内存,100G数据建议至少用16线程+32G内存

  5. 中间文件别乱删:索引文件(.bai/.fai)和统计报告(.metrics.txt)后续可能用得上,定期备份再清理

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/12 23:12:18

Vue.js 前端框架开发知识点总结

前言Vue.js 作为目前最流行的前端框架之一&#xff0c;以其简洁的 API、灵活的组件化和优秀的性能获得了广大开发者的青睐。本文将系统总结 Vue.js 的核心知识点&#xff0c;帮助开发者更好地掌握这一框架。一、Vue.js 核心概念1.1 响应式原理Vue.js 的响应式系统是其核心特性&…

作者头像 李华
网站建设 2026/3/12 23:11:28

行测教程资源合集

归墟行测 文件大小: 9.9GB内容特色: 9.9GB行测全套题库视频精讲&#xff0c;夸克秒下适用人群: 国考、省考、事业单位备考者核心价值: 刷题模考解析一站式&#xff0c;提分快下载链接: https://pan.quark.cn/s/201aaf99d2e4 半月谈付费行测申论资料 文件大小: 57.6GB内容特色…

作者头像 李华
网站建设 2026/3/21 14:11:27

基于java的SpringBoot/SSM+Vue+uniapp的零工市场服务系统的详细设计和实现(源码+lw+部署文档+讲解等)

文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言 &#x1f31e;博主介绍&#xff1a;✌全网粉丝15W,CSDN特邀作者、211毕业、高级全…

作者头像 李华
网站建设 2026/3/15 13:53:32

C#如何实现大文件上传的日志记录?

大文件传输系统建设方案&#xff08;ASP.NET技术栈&#xff09; 一、项目背景与核心需求 作为公司项目负责人&#xff0c;针对产品部门提出的100G级大文件传输需求&#xff0c;需构建一套高兼容性、高稳定性、全浏览器支持的解决方案。核心需求如下&#xff1a; 功能需求&…

作者头像 李华
网站建设 2026/3/18 14:21:31

基于java的SpringBoot/SSM+Vue+uniapp的少儿编程在线学习系统的详细设计和实现(源码+lw+部署文档+讲解等)

文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言 &#x1f31e;博主介绍&#xff1a;✌全网粉丝15W,CSDN特邀作者、211毕业、高级全…

作者头像 李华