栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

1000Genomes:重现人群划分(一)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1000Genomes:重现人群划分(一)

先AF过滤、LD值选出tagSNP、将最后的变异文件基因型0|0、0|1、1|2等,有无变异转换为0、1特征向量,然后计算距离,存入矩阵dist、用t_SNE降维

from numpy import *
from scipy.spatial.distance import pdist,squareform
import matplotlib.pyplot as plt
from sklearn import manifold
from matplotlib.ticker import NullFormatter

def loadDataSet(fileName,delim=','):
    fr = open(fileName)
    stringArr = [line.strip().split(delim) for line in fr.readlines()]
    datArr = [list(map(float,line) )for line in stringArr]
    return mat(datArr)

dataMat = loadDataSet('I:/1000GenomeProject/data_genometype/chr22_new_gt.txt')
#取前10000个位点
y=dataMat[:10000]

#二维空间嵌入向量ts.embedding_
#距离计算与压缩矩阵
dist = pdist(y,metric='hamming')
# dist_sq = squareform(dist)

#t-SNE的降维与可视化
#嵌入空间的维度为2,即将数据降维成2维
n_components = 2
# #训练模型
method = manifold.TSNE(n_components=n_components, init='pca',random_state=0)
Y=method.fit_transform(dist)

fig =plt.figure()
ax = fig.add_subplot(111)

ax.scatter(Y[:, 0],Y[:, 1],cmap = plt.cm.Spectral)
ax.xaxis.set_major_formatter(NullFormatter())  # 设置标签显示格式为空
ax.yaxis.set_major_formatter(NullFormatter())
ax.axis('tight')
plt.show()


效果并不好、计划进一步缩小AF取值、增大LD窗口、然后每条染色体随机取1000个位点,建议随机森林处理

待续…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303138.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号