【直播】我的基因组56:探索遗传起源

首先,节日快乐!在这个众人狂欢的节日里,我冷静了冷静,听说知识量储备差太多的人做不了朋友,于是默默的搬起了板凳专心学习。

昨天我们看了看千人基因组计划的公共数据的PCA分群。

【直播】我的基因组55:简单的PCA分析千人基因组的人群分布

今天,我用我自己的基因型数据跟千人基因组数据进行比较,差不多算是祖源分析吧。在前面的直播中,我们粗暴的利用了R里的因子把千人基因组计划里面的基因型字符串(0/0,0/1,1/0,1/1)直接赋值为1,2,3,4了,但是有更优的解决方案,可以将基因类型数据转换成连续值。将有参考字母的两份拷贝的样本设为0,一份参考拷贝和一份替代拷贝的设为0.5,有两份替代拷贝的设为1.0。另外,我们会丢弃千人基因组的人群面板中存在'None'的任何变量,因为它们并不含信息,如下图所示:

然后我再把自己的基因型数据根据上次随机挑选的千人基因组计划的1号染色体的1000个位点把对应的基因型挑选出来!【直播】我的基因组55:简单的PCA分析千人基因组的人群分布

这个脚本 跟从fasta序列里面挑子集有点类似:http://www.biotrainee.com/thread-696-1-1.html

这里的数据处理跟前面的差不多,我就不放代码了!

最后得到的图如下:

可以很明显的看到,用前两个主成分来分类的话,我是被划分到东亚人中(符合认知,我是标准的黄皮肤人)。

但是千人基因组计划里的东亚人也还是可以继续细分的,所以我就根据前两个主成分算了一下所有人与我的距离,挑了最近的5个人,看了一下。确实好乱!

越南人,日本人,汉人和傣族人,我也是醉了。

那么我把东亚人单独拿出来,跟我的基因型一起再画一个图吧!

好吧,这时候我算是明白了,原来是我挑位点的方式大错特错了,我选择的是allel frequency 接近于0.5的那些位点,就是在人群中基因型一半一半的,这样就造成,进化时间上接近的人种难以区分。

但是不管怎么说吧, PCA在人群分类的作用力大家应该有目共睹了,接下来的的重点是挑选合适的位点来做分析。

除了祖先,基因数据可以用于预测疾病风险,药物副作用,甚至构建脸部模型,不过那个需要有足够多的表型数据,而不仅仅只是一个人种的记录信息啦。(https://www.newscientist.com/article/mg22129613-600-genetic-mugshot-recreates-faces-from-nothing-but-dna/)

参考文档:

使用Python,分析23AndMe数据,获取遗传起源

http://stats.stackexchange.com/questions/72839/how-to-use-r-prcomp-results-for-prediction

http://www.cnblogs.com/panpansky/p/4604008.html

http://blog.csdn.net/qq_25040013/article/details/52578235

文:Jimmy

图文编辑:吃瓜群众

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2017-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1151
来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

2986
来自专栏互联网开发者交流社区

WinForm之窗体应用程序

1793
来自专栏菩提树下的杨过

winform中linkLabel的用法(示例)

private void Form1_Load(object sender, EventArgs e)         {             this...

1915
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

20210
来自专栏菩提树下的杨过

MSDN官方的ASP.Net异步页面的经典示例代码

示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using S...

1975
来自专栏DT乱“码”

简单的考勤系统

连接数据库类 package com.lianrui.it; import java.sql.Connection; import java.sql.Driv...

3449
来自专栏跟着阿笨一起玩NET

GB2312转换成UTF-8与utf_8转换成GB2312

1771
来自专栏码匠的流水账

聊聊spring cloud的AbstractLoadBalancingClient

本文主要研究一下spring cloud的AbstractLoadBalancingClient

812
来自专栏张善友的专栏

Using sqlite with .NET

The other day I found that there is a .NET wrapper for sqlite. sqlite is a very ...

2258

扫码关注云+社区