XP-CLR 的基本思想是利用不同种群的等位基因频率差异和连锁不平衡模式来识别选择信号。假设一个基因在种群 A 中经历了选择,而种群 B 没有,选择位点周围的 LD 模式和等位基因频率会在两种群之间表现出显著差异。
基于窗口的分析
XP-CLR 使用滑动窗口技术,在基因组的不同区域计算一个组合似然比(Composite Likelihood Ratio, CLR),评估种群分化的程度。
不依赖于假设中性位点
与类似的方法(如 XP-EHH)不同,XP-CLR 不需要事先定义中性位点,因此对数据质量的要求较低。
usage: xpclr [-h] --out OUT [--format FORMAT] [--input INPUT]
[--gdistkey GDISTKEY] [--samplesA SAMPLESA] [--samplesB SAMPLESB]
[--rrate RRATE] [--map MAP] [--popA POPA] [--popB POPB] --chr
CHROM [--ld LDCUTOFF] [--phased] [--verbose VERBOSE]
[--maxsnps MAXSNPS] [--minsnps MINSNPS] [--size SIZE]
[--start START] [--stop STOP] [--step STEP]
示例:
xpclr --input data.vcf --out results.xpclr --samplesA popA_samples.txt --samplesB popB_samples.txt --size 50000 --step 10000 --maxsnps 300 --minsnps 10 --rrate 1e-8
-h, --help
显示帮助信息并退出。
--out OUT, -O OUT
指定输出文件名。
--format FORMAT, -F FORMAT
指定输入文件格式,支持以下三种格式:
vcf(默认):标准 VCF 文件。
hdf5:压缩的 HDF5 格式。
txt:文本格式。
示例:--format vcf
--input INPUT, -I INPUT
指定输入文件(VCF 或 HDF5 格式)。
--samplesA SAMPLESA, -Sa SAMPLESA
定义种群 A 的样本列表,支持两种方式:
逗号分隔的样本 ID 列表。
包含样本 ID 的文件(每行一个 ID)。
示例:--samplesA sampleA1,sampleA2或--samplesA popA_samples.txt
--samplesB SAMPLESB, -Sb SAMPLESB
定义种群 B 的样本列表,形式同--samplesA。
示例:--samplesB sampleB1,sampleB2或--samplesB popB_samples.txt
--popA POPA和--popB POPB
分别指定种群 A 和种群 B 的基因型文件路径(如果不是通过 VCF 提供)。
--gdistkey GDISTKEY
指定遗传距离(genetic distance)的键,用于 HDF5 或 VCF 格式的变异表。
--rrate RRATE, -R RRATE
指定每碱基的重组率(单位为每 bp 的重组事件)。
示例:--rrate 1e-8
--map MAP
输入遗传图谱文件,其格式应与 XPCLR 规范一致。
示例:--map genetic_map.txt
genetic_map.txt
--chr CHROM, -C CHROM
指定分析的染色体(或序列)。
示例:--chr chr1
--size SIZE
指定窗口大小(以碱基对为单位)。
示例:--size 50000(窗口大小为 50 kb)。
--start START和--stop STOP
分别指定起始位置和终止位置(以碱基对为单位)。
示例:--start 100000 --stop 500000
--step STEP
指定滑动窗口的步长(以碱基对为单位)。
示例:--step 10000
--maxsnps MAXSNPS, -M MAXSNPS
每个窗口中允许的最大 SNP 数目。
示例:--maxsnps 200
--minsnps MINSNPS, -N MINSNPS
每个窗口中计算的最小 SNP 数目。
示例:--minsnps 10
--ld LDCUTOFF, -L LDCUTOFF
为加权分析设置连锁不平衡的 cutoff 值。
示例:--ld 0.2
--phased, -P
指定输入数据是否为 phased(已知单倍型),这样可以更精确地计算 r² 值。
结果文件解读
modelL
定义: 最佳拟合选择系数(selection coefficient)模型的对数似然值。
意义: 表明假设某个选择信号存在时,该模型对数据的拟合程度。值越高,模型越符合数据。
nullL
定义: 零假设模型的对数似然值(假设选择系数为 0,即无选择作用)。
意义: 用于与modelL进行比较,计算出选择信号的显著性。
sel_coef
定义: 最佳拟合的选择系数(selection coefficient)。
意义: 量化选择信号的强度,值越高表明选择压力越强。
nSNPs
定义: 窗口内用于计算的 SNP 数目。
意义: 表明窗口内数据的密度。窗口内 SNP 数目过少时,结果可能不可靠,建议忽略这些窗口。
nSNPs avail
定义: 窗口内可用的 SNP 数目(可能多于指定的最大 SNP 数)。
意义: 如果nSNPs avail显著大于nSNPs,表明窗口大小可能设置过大,需调整以避免覆盖过多无关区域。
start, stop
定义: 窗口的起始和结束物理位置(碱基对坐标)。
意义: 表明窗口的基因组位置范围。
pos_start, pos_stop
定义: 窗口中实际使用的 SNP 的起始和结束位置。
意义: 反映实际用于计算的基因组范围,可能与start和stop不完全一致。
xpclr
定义: 最佳拟合模型与零假设模型的对数似然比,计算公式为2 * (modelL - nullL)。
意义: XP-CLR 值越大,表明选择信号越显著。
xpclr_norm
定义: 标准化的 XP-CLR 值,计算公式为(xpclr - np.nanmean(xpclr)) / np.nanstd(xpclr)。
意义: 消除原始 XP-CLR 值的尺度差异,使得不同窗口的值具有可比性,便于全基因组范围内的分析。
Huang et al., 2024, New Phytol









网友评论