统计Binmap中某一亲本基因型所占总比例

版权声明:作者:吴伸伸 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 https://blog.csdn.net/shenshenwu666/article/details/82956186

在构建完binmap之后,往往需要统计各亲本占群体的基因型比例。比如玉米中的B73-teosinte群体,我们假设B73的基因型为A,teosinte的基因型为B,如果我们需要统计在整个群体中teosinte所占的基因型比例,这时候我们需要先将群体中所有B基因型的bin的区间都提取出来,生成一个bed文件,如下图,该bed文件共有三列,第一列为染色体名称,第二列为其中一个基因型为B的bin的起始物理位置,第三列为同一个bin的终止物理位置。

bedtools merge可以对bed文件的区间进行取并集操作,但是如果我们直接使用bedtools merge对bed文件经常操作,往往会出现如下报错:

该报错的意思是bed文件的各个区间没有进行sort处理,很显然我们的第一反应是用linux 下的sort进行操作,如下:

结果表明,linux下自带的sort命令并不能胜任,于是我们尝试第二种策略,使用bedtools自带的bedtools sort进行排序:

这样我们就得到了在群体范围chr2中teosinte所占基因型的全部总长,累加10条chr的teosinte的全部长度,然后处以参考基因组的总长,就是在整个群体中teosinte所占基因型的比例,也就是该群体中teosinte在参考基因组中的覆盖度。

总结如下:

统计binmap中某一亲本基因型的比例,先将包含该亲本基因型的所有bin的起始和终止的物理位置生成一个bed文件,然后先使用Linux下的sort和bedtools sort同时对该bed文件进行排序,再使用bedtools merge进行取并集,就可以得到该亲本基因型在参考基因组上的覆盖长度,最后用该亲本的基因型全部总长处以参考基因组的总长度,即可以得到该亲本在群体中所占的比例(该亲本基因型在参考基因组上的覆盖度)

猜你喜欢

转载自blog.csdn.net/shenshenwu666/article/details/82956186