群体基因组分析:从数据准备到结果解读的完整指南
创作时间:
作者:
@小白创作中心
群体基因组分析:从数据准备到结果解读的完整指南
引用
CSDN
1.
https://m.blog.csdn.net/Da_gan/article/details/143889797
重测序群体基因组分析是利用高通量测序技术对种群中多个个体的基因组进行测序,以研究种群中的遗传变异及其与进化、功能和适应性的关系。这种分析方法广泛应用于农业、医学、进化生物学和保护生物学等领域。
重测序群体基因组分析概述
研究目标
- 遗传变异:识别种群中的单核苷酸多态性(SNPs)、插入/缺失(Indels)、结构变异(SVs)等。
- 遗传多样性:评估种群内外的遗传多样性水平(如 π 值)。
- 种群结构:研究种群的分化、迁移模式及其进化历史。
- 自然选择信号:检测特定区域的选择扫,以识别适应性基因。
- 功能注释:关联遗传变异与基因功能、表型或疾病。
分析流程
数据准备
1.1. 样品采集
- 目标样品:应尽可能覆盖种群的地理范围和表型多样性。
- 样本类型:植物叶片、动物组织、血液、DNA 提取物等。
1.2. 高通量测序
- 平台:Illumina(短读长)、PacBio/ONT(长读长)。
- 目标覆盖度:10x-30x 通常足够,低覆盖度适用于超大规模种群研究。
数据质量控制
2.1. 原始数据质控
- 检查数据质量:如碱基分布、质量分数、接头污染。
- 工具:
- FastQC:生成质量报告。
- fastp:清洗低质量序列、去除接头污染。
2.2. 清洗后的数据
- 确保高质量的清洗数据(Q20/Q30 > 90%)。
- 保留有生物意义的片段。
数据比对
3.1. 参考基因组选择
- 高质量参考基因组(FASTA 格式)是比对的基础。
3.2. 比对步骤
- 工具:
- BWA 或 Bowtie2:适合短读长数据。
- minimap2 或 NGMLR:适合长读长数据。
- 过程:
- 构建参考基因组索引。
- 比对清洗后的序列到参考基因组。
- 输出比对结果(BAM/SAM 格式)。
3.3. 数据处理
- 使用 SAMtools 或 Picard 对 BAM 文件进行排序、去重复和质量评估。
变异检测
4.1. SNP 和 Indel 检测
- 工具:
- GATK(常用的变异检测工具包)。
- BCFtools(轻量化工具)。
- 流程:
- 进行初步变异调用。
- 过滤低质量变异(基于质控指标,如质控深度、变异评分)。
- 输出高可信度的 VCF 文件。
4.2. 结构变异检测
- 工具:
- Lumpy、Manta:基于短读长的 SV 检测。
- PBSV、Sniffles:基于长读长的 SV 检测。
4.3. 注释变异
- 目的:了解变异的潜在功能和生物学意义。
- 工具:
- ANNOVAR、SnpEff:功能注释。
- 数据库:dbSNP、ClinVar、gnomAD 等。
种群遗传学分析
5.1. 遗传多样性
- 指标:
- 核苷酸多样性(π)。
- 观测杂合度(Ho)。
- 有效等位基因数。
- 工具:
- VCFtools、PopGenome(R 包)。
5.2. 种群分化
- 指标:
- Fst:评估种群分化水平。
- Nm:基因流动。
- 工具:
- VCFtools:计算 Fst。
- Arlequin:复杂分化分析。
5.3. 种群结构
- 方法:
- 主成分分析(PCA)。
- 结构分析(如 ADMIXTURE)。
- 工具:
- PLINK:用于 PCA。
- ADMIXTURE:估算种群的祖先比例。
5.4. 群体历史
- 方法:
- 突变负载分析。
- coalescent 模型推断。
- 工具:
- PSMC、MSMC:推断种群历史变化。
- FASTSIMCOAL2:模拟历史动态。
自然选择分析
6.1. 检测选择扫
- 目标:识别与适应相关的基因组区域。
- 方法:
- 基于频率的方法(如 iHS、XP-EHH)。
- 基于多样性的方法(如 π、Fst)。
- 工具:
- SweeD、RAiSD。
6.2. 功能富集
- 对选择基因进行 GO/KEGG 功能分析,揭示生物学意义。
- 工具:DAVID、GOseq。
可视化
- PCA 图:种群结构。
- 曼哈顿图:选择信号。
- 热图:种群间的遗传分化。
- Circos 图:染色体变异分布。
分析结果解读
遗传多样性
- π 值反映种群内的多样性。
- Fst 值评估种群间的分化。
自然选择
- iHS 和 XP-EHH 信号提示近期的正选择区域。
- 富集分析揭示功能性变异的重要生物学路径。
种群结构
- PCA 和 ADMIXTURE 结果显示种群间的祖先比例和分化模式。
分析流程
1. 数据准备与质量控制
- 目的:确保高质量的测序数据。
- 输入:测序数据(FASTQ 格式)。
- 工具:
- fastp 或 Trimmomatic:去除低质量碱基和接头序列。
- FastQC:检查数据质量。
常用代码
# Step 1: FastQC 检查测序数据质量
fastqc sample_1.fastq.gz sample_2.fastq.gz -o qc_output/
# Step 2: 使用 fastp 修剪低质量数据
fastp -i sample_1.fastq.gz -I sample_2.fastq.gz \
-o clean_sample_1.fastq.gz -O clean_sample_2.fastq.gz \
-j fastp_report.json -h fastp_report.html
- 比对到参考基因组
- 目的:将短读长序列比对到参考基因组,获得染色体位置。
- 输入:参考基因组(FASTA 格式)、清洗后的测序数据。
- 工具:BWA、Bowtie2、SAMtools。
常用代码
# Step 1: 构建参考基因组索引
bwa index reference_genome.fa
# Step 2: 使用 BWA-MEM 进行比对
bwa mem -t 8 reference_genome.fa clean_sample_1.fastq.gz clean_sample_2.fastq.gz > sample.sam
# Step 3: 将 SAM 文件转换为 BAM 文件并排序
samtools view -bS sample.sam | samtools sort -o sample_sorted.bam
# Step 4: 索引 BAM 文件
samtools index sample_sorted.bam
- 变异检测
- 目的:识别 SNP(单核苷酸多态性)和 Indel(插入/缺失)。
- 工具:GATK、BCFtools。
常用代码
# Step 1: 使用 GATK 进行突变检测
gatk HaplotypeCaller \
-R reference_genome.fa \
-I sample_sorted.bam \
-O raw_variants.vcf
# Step 2: 对变异进行过滤
gatk VariantFiltration \
-R reference_genome.fa \
-V raw_variants.vcf \
--filter-expression "QD < 2.0 || FS > 60.0" \
--filter-name "low_quality" \
-O filtered_variants.vcf
4. 种群遗传学分析
- 目的:研究种群结构、遗传多样性、选择压力。
- 工具:
- VCFtools、PLINK:分析 VCF 文件中的遗传变异。
- ADMIXTURE、PCA:种群结构分析。
- RAxML 或 IQ-TREE:构建进化树。
常用代码
多样性和分化分析
# Step 1: 计算每个位点的多态性和核苷酸多样性 (π)
vcftools --vcf filtered_variants.vcf --site-pi --out pi_values
# Step 2: 计算 Fst
vcftools --vcf filtered_variants.vcf --weir-fst-pop population1.txt --weir-fst-pop population2.txt --out fst_values
PCA 和种群结构
# Step 1: 转换 VCF 为 PLINK 格式
plink --vcf filtered_variants.vcf --make-bed --out plink_data
# Step 2: PCA 分析
plink --bfile plink_data --pca 10 --out pca_results
# Step 3: ADMIXTURE 分析
admixture --cv plink_data.bed 2
构建进化树
# Step 1: 提取 SNP 数据并转化为 PHYLIP 格式
vcftools --vcf filtered_variants.vcf --max-missing 0.9 --recode --out phylo_data
plink --vcf phylo_data.recode.vcf --recode-phylip --out phylo_data
# Step 2: 构建进化树
iqtree -s phylo_data.phy -m GTR+G -nt AUTO -bb 1000 -pre phylo_tree
- 自然选择检测
- 目的:识别适应性突变。
- 工具:
- SweeD:检测选择扫。
- RAiSD:快速检测选择信号。
- XP-EHH 和 iHS:分析连锁不平衡。
常用代码
# 使用 RAiSD 检测选择信号
RAiSD -n analysis_name -I filtered_variants.vcf -f -o RAiSD_output
- 功能注释
- 目的:了解变异的功能意义。
- 工具:
- ANNOVAR:注释变异。
- SnpEff:预测变异影响。
常用代码
# 使用 ANNOVAR 进行注释
table_annovar.pl filtered_variants.vcf humandb/ \
-buildver hg38 \
-out annotated_variants \
-remove \
-protocol refGene,cytoBand,gnomad_genome \
-operation g,r,f \
-nastring .
- 数据可视化
- 目的:生成易于解释的图表。
- 工具:
- R(ggplot2、pheatmap)用于绘制 PCA、热图、曼哈顿图。
- Circos:基因组范围的可视化。
R 示例代码
library(ggplot2)
# 导入 PCA 数据
pca_data <- read.table("pca_results.eigenvec", header = TRUE)
colnames(pca_data) <- c("Sample", "PC1", "PC2")
# 绘制 PCA 图
ggplot(pca_data, aes(x = PC1, y = PC2)) +
geom_point(size = 3) +
theme_minimal() +
labs(title = "PCA Analysis", x = "Principal Component 1", y = "Principal Component 2")
热门推荐
卧室门尺寸的标准是多少,卧室门尺寸选择的常见误区有哪些
室内门尺寸全攻略:各类门的尺寸规格及测量方法
牛津布和尼龙布哪个好?两种背包面料优劣对比
牛津布和尼龙布哪个好?深度对比与应用指南
2025年日本樱花季观赏全攻略
手把手教你人气瘦脸妆
赤小豆和红小豆的区别在哪里?
海南离岸公司设立全攻略:政策优越与市场机遇解析
如何计算房产的税费及其对购房成本的影响?这种计算如何帮助制定合理的购房预算?
这才是50岁大叔该有的打扮:不穿花衣、不烫卷发,不油腻更显年轻
广州三元宫:历史、文化与祈福的深度游览指南
人身损害赔偿案件证据收集指南:医疗费、误工费等关键证据如何准备?
看到哈尔滨的经济数据,天水还怎么照抄作业?
融资前的精心筹备:五步策略助力创业者稳健前行
痘肌想要避免留下痘坑,关键在于这2点!
芯片与飞机:英特尔、波音的困境折射出美国制造业的挑战
手工皂使用全攻略:从搓揉起泡到全身清洁与保存方式
间歇性禁食竟然对健康有这么多好处,快来了解一下吧!
食醋对控制餐后血糖的影响:科学研究的证据
如何巧妙地撰写吸引眼球的自媒体文章标题?
2024年巴黎奥运会项目介绍:手球
离谱?!保证人也可能被强制执行?——法院执行局提醒您:替人担保需谨慎!
国企劳务派遣和私企正式工:哪个更适合你?
迅速拥有水润肌:脸部保湿为何如此重要?
长沙民政职业技术学院2024年各省录取分数线 多少分能考上
集成电路崛起:新质生产力的关键引擎
全球在轨航天员达到创纪录的19人!
服用咖啡因犯法吗?咖啡因管制法律法规解析
术后疼痛怎么办?镇痛泵使用全攻略
为什么经济包容性是减少贫困和赋权民众的关键