进行WES时,需要将样本性别作为一个质控参数,因此要对数据进行性别预测。注意,任何方法的准确率都不能达到100%。
通过CNV方式预测
cnvkit中包含了性别预测的方式,具体是与基线进行比较获得cnr文件后,对cnr文件使用
cnvkit.py sex sample.cnr -o output.txt
可在进行CNV检测时同步进行。
通过SRY基因
这个应该是最简单的,直接统计比对到SRY基因区域的reads数,根据reads数的数目来预测性别。前期先对若干数量的已知性别样本进行统计,就大概可以获得一个判定的阈值。
Chrom | Start | End | Name |
---|---|---|---|
Y | 2654896 | 2655723 | SRY(GRCh37) |
Y | 2786855 | 2787682 | SRY(GRCh38) |
使用samtools统计即可
samtools view sample.bam Y:2786855-2787682 | wc -l
我的数据中(200X WES),男性SRY reads一般都在100以上,女性一般都是0。
通过VCF
统计一下VCF里面X染色体上的总突变数目X(sum),再统计一下其中纯合突变的数目X(hom),获得X(hom)与X(sum)的比例;对若干已知性别的样本进行统计,就大概可以获得一个判断阈值了。
这个逻辑是正常的男性,X上的突变理论上都是纯合(X、Y存在同源区,因此纯合的比例也不会达到100%)。
我的数据测试中女性在40%左右,男性在80%左右。
这个方式存在的问题是当性染色体存在拷贝数变异时,会造成比例失衡。