基于SSR数据的群体结构分析和DeltaK值可视化
1.ssr做群体结构数据准备
1.1数据转换。
1.2原始数据是不符合structure的格式要求的,分享给大家我的python脚本做数据格式转换。
$cat dat2structure.py
#!/usr/bin/env python3import sysdat = sys.argv[1]with open(dat,'r') as f:num=1for LN in f:if num ==1:print(LN.strip())num-=1else:spl = LN.strip().split()cnt = len(spl)#print(' '.join(spl[0:2]))print(' '.join(spl[0:3]),' '.join([spl[i] for i in range(3,cnt,2)]))print(' '.join(spl[0:3]),' '.join([spl[i] for i in range(4,cnt,2)]))
1.3转化后的数据格式,由于SSR数据是共显性标记,每两行为一个样本的SSR标记值:
2.structure 命令行计算群体结构
mainparams主要参数及说明。
extraparams使用默认即可。
for K in {1..10};do (nohup /biodata/02.software/structure/structure -i structure.new.txt -m mainparams -e /biodata/02.software/structure/extraparams -K ${K} -o kk_run1_k${K} &);done # 运行>=2次做后续DeltaK 折线图
3.利用structureHarvester做K值评估
我选择下载structureHarvester.py本地版命令行进行统计,也可在线分析,不用自己再另行绘图。
python /home/hang/software/structureHarvester-master/structureHarvester.py --dir=test/Results/ --out=./LK --evanno
4.统计绘制DeltaK折线图,找最佳K值。
Rscript /home/mmm/script/GWAS/structure_DeltaK.R evanno.txt notgu
下面是我的绘图代码
library(ggplot2)
args = commandArgs(T)
ipt = args[1] # evanno.txt
out = args[2]dat = read.table(ipt)func = 'DeltaK = mean(|L"(K)|) / sd(L(K))'
ggplot(dat,aes(x=V1,y=V7)) + geom_point(color='blue',size=rel(2)) + geom_line(color='blue') + scale_x_continuous(breaks = 1:10,labels = c('',2:9,'')) +xlab('K') + ylab('Delta K') + geom_hline(yintercept = 0,color="gray") +annotate("text", x=5, y=max(dat$V7,na.rm = T)*1.1, parse=F, label=func) +theme_classic()
ggsave(paste0(out,'_DeltaK.png'),width = 8,height = 6,dpi = 300)
ggsave(paste0(out,'_DeltaK.pdf'),width = 8,height = 6)
5.CLUMPP
使用CLUMPP对structure分析的重复运算结果进行重复抽样分析。得到最佳K值的Q-matrix结果。
在当前目录创建好配置文件(如下:红框内是你需要对应自己数据修改的参数)
运行下列命令即可得到最终K值 Q矩阵:
nohup /biodata/02.software/CLUMPP_Linux64.1.1.2/CLUMPP &
6.群体结构图可视化
可选择将CLUMPP的结果传递给distruct,进行structure图形的绘制。
这里我使用R自行绘制。(由于我的数据是真实项目数据,这里做了部分信息涂抹处理)
基于SSR数据的群体结构分析和DeltaK值可视化相关推荐
- 温故知新:基于R语言的群体药代动力学数据探索
基于R语言的群体药代动力学数据探索 一 .群体药代动力学数据探索目的和方法 数据探索目的 数据来源 方法 二.数据探索过程 PK数据探索 加载的包和设目录 读取数据和数据处理 平均血药浓度计算和作图 ...
- 基于大数据方法的经济研究:前沿进展与研究综述 | 特别推荐
基于大数据方法的经济研究:前沿进展与研究综述 李华杰 史丹 马丽梅 摘要: 随着数据挖掘和分析技术的不断提高,基于大数据方法对经济的研究日益增多,大数据对经济研究和应用具有重要的现实意义.本文梳理了近 ...
- 基于大数据与深度学习的自然语言对话
基于大数据与深度学习的自然语言对话 发表于2015-12-04 09:44| 7989次阅读| 来源<程序员>电子刊| 5 条评论| 作者李航.吕正东.尚利峰 大数据深度学习自然语言处理自 ...
- 基于公开数据的特殊人群在线活动特征挖掘
基于公开数据的特殊人群在线活动特征挖掘 刘楚楚,吕欣 国防科技大学系统工程学院,湖南 长沙 410073 中南大学商学院,湖南 长沙 410083 卡罗林斯卡研究所公共卫生科学系,瑞典 斯德哥尔摩 1 ...
- 聚类分析在用户行为中的实例_基于行为数据的消费信贷反欺诈方案
随着技术的革新,金融行业的新模式.新业态不断涌现,对公共安全和社会治理也提出了诸多新挑战,如何有效管控这些新模式.新业态,使其朝着正确的轨道稳步前进,是摆在行业和监管部门面前的共同难题.近年来,数字金 ...
- 基于大数据的银行反欺诈的分析报告 【转载,可用于风控系统架设借鉴】
转载至 https://www.cnblogs.com/yueyebigdata/p/5893454.html Growth跃爷Hacker (怕收藏至浏览器文件夹有天会有遗漏,转至自己博客中,推荐 ...
- 【荐读】基于文本数据的消费者洞察
作者介绍 @edan 前商业数据分析师,现 TMD 数据产品经理. 期望和数据小伙伴一起做些有意思的事情- 01 什么是消费者洞察? 随着社会的发展,中国消费者所处环境在变,消费观念也在变:大家从应付 ...
- 使用ALLHiC基于HiC数据辅助基因组组装
使用ALLHiC基于HiC数据辅助基因组组装 基因组组装大致可以分为三步(1)根据序列之间的重叠情况构建出contig,(2)基于二代的mate pair文库或光学图谱将contig搭建成scaffo ...
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
最新文章
- Python正则匹配HTML,python正则匹配html标签_Python爬虫常用正则表达式及HTML网页标签分析总结...
- break 与continue 语句
- 外部中断---STM32F1
- PHP基于phpqrcode类生成二维码
- Google Maps API 进级:在信息窗口GInfoWindow中嵌入Flash动画
- OpenAI高调站队Pytorch,怎样学Pyorch?
- php只取时间的下士_PHP 获取时间的各种处理方式!
- 百搭手绘卡通牛年吉祥生肖素材,萌到心里的小牛
- android按任意建关闭对话框,Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭...
- C# 图片转换为base64
- vac虚拟声卡我linux,虚拟声卡驱动应用及其原理简要说明
- 分享hm77芯片组bios工具 联想m490添加inter7265ac 白名单bios
- 组合导航GPS+IMU
- 单元測试中 Right-BICEP 和 CORRECT
- 压力测试 闪存_[实验]苹果今年大范围使用的TLC闪存颗粒真的是那么不堪吗?
- 植物大战僵尸源代码java面向对象,植物大战僵尸:实现游戏内自动收集阳光
- 永恒之蓝复现(win7/2008)
- 用C++做一个特小型恶意程序
- Windows10抽风系列:一、卡顿、字体显示丢失
- 电脑USB插拔记录删除方法分享