yhlhhhhh yhlhhhhh - 每日与生物工程斗智斗勇到谢顶 综合讨论组

利用Ancol PCA法将祖源计算器结果与实际情况相结合可视化分析

前言:看到题目的小伙伴是不是内心有一万个❓是不是想问那个Ancol PCA是什么鬼。不知道正常,因为这词是我造的233333
为什么叫这个名字:众所周知血统的英文是Ancestry,位置的英文是location,这俩单词取前三个字母,loc再倒过来去掉c,组合在一起不就是Ancol吗~PCA就是主成分分析的意思不变哦~
下面教程正式开始:
编程语言:python3.8
模块:pandas,numpy,sklearn,matplotlib,geopy
整体思路:先将计算器的多维数据降为二维数据并使其作为x,y轴,再将位置数据转化为一维数据并使其作为z轴,最后组合为三维数据并可视化
代码:
获取位置经纬度

截屏2021-07-28_下午3.19_.04_.png

 
可视化:

截屏2021-07-28_下午3.20_.18_.png

 
结果展示:

截屏2021-07-28_下午3.25_.08_.png

 
(此示例是利用了韩国人和吉林省朝鲜族的e11数据以及位置信息做出来的Ancol PCA图)
此方法的优势:可以将计算器结果极为相似的两个或多个族群在散点图上分散开,并且实现了将基因水平与个体水平较为科学的相结合分析
此方法缺点:点与点的的欧式距离不能准确的反映族群间的遗传距离,此外,对于晕3D的人来说数据的读取也较为难受。
此方法的意义:以前大家看祖源的分析方法就只是直接看计算器结果再问问哪里人什么族,推断。最多也就再结合着传统的PCA看看。但利用此方法可以将位置信息数字化,更加科学的进行溯源。
下面是Ancol PCA的流程图:

截屏2021-07-28_下午2.13_.11_.png

 
以及绘制流程图用的代码:

截屏2021-07-28_下午3.44_.40_.png

 
感谢:
数据提供:母系-mtDNA祖源群    QQ:923891525
提供编程语言:Python     官网:https://www.python.org
提供模块:
pandas       官网:https://pandas.pydata.org
numpy        官网:https://www.numpy.org/
matplotlib   官网:https://matplotlib.org
sklearn       官网:https://scikit-learn.org/stable/
geopy         项目网站:https://github.com/geopy/geopy
graphviz     官网:http://www.graphviz.org
©️杨昊霖
转载时请注明出处
2021-07-28 • IP属地北京
按热门排序    按默认排序

0 个回复

要回复问题请先登录注册