美文网首页群体遗传学gwas学习
群体遗传 || Pophelper-群体结构可视化学习

群体遗传 || Pophelper-群体结构可视化学习

作者: Dawn_WangTP | 来源:发表于2020-07-03 17:24 被阅读0次

Pophelper基本说明

群体遗传下游分析中的一项常规分析即是群体结构的分层展示(STRUCTURE ANALYSIS),不同于系统树和PCA,群体结构分层可以分断出小群体的个数,每个小群体之间的基因交流情况,甚至是小群体或者个体内的血源组成。

群体结构分层常用软件有STRUCTUREADMIXTUREfaststructure。STRUCTURE是群体结构分析的经典软件,但运行速度较慢。ADMIXTURE和faststructure软件等是近些年较新的软件,由于运算速度相对较快,已有了较多的引用次数。

群体结构分层的可视化展示通常是以堆叠柱状图所展示,Pophelper即是面向群体结构分层展示的强大的R包软件。

使用介绍

1. 安装

R version >3.5

# install the dependency packages
install.packages(c("devtools","ggplot2","gridExtra","gtable","label.switching","tidyr"),dependencies=T)

# install pophelper package from GitHub
devtools::install_github('royfrancis/pophelper')

2. 读取文件

Pophelper接受structure,admixture,faststructure,tess等软件的输出文件。个人较熟悉的ADMIXTURE和faststructure,其输出文件结构都是以meanQ和meanP的矩阵文件。

library(pophelper)
options(stringsAsFactors = F)
dir.create("pophelper_learning")
setwd("pophelper_learning/")

### INPUT STRUCTURE RESULT FILES
sfiles <- list.files(path=system.file("files/structure",package="pophelper"), full.names=T)
slist <- readQ(files=sfiles)

### INPUT ADMIXTURE RESULT FILES
alist <- readQ(list.files(path=system.file("files/admixture",package="pophelper"), full.names=T)

3. 绘制最佳K值线

Pophelper中evannoMethodStructure()函数仅支持对STRUCTURE的结果绘制最佳K值线。其基本步骤包括三步

  1. tabularQ(),接收读取的structure list文件
  2. summariseQ(),接收tabularQ返回结果
  3. evannoMethodStructure(),接收summ返回结果,绘制最佳K值线
tbq <- tabulateQ(slist)
smq <- summariseQ(tbq)
evannoMethodStructure(data=sr1,exportplot=T,returnplot=T,returndata=F,basesize=12,linesize=0.7,height = 10,width = 12,outputfilename = "test")

  • 最佳K值线结果


    image

4. 绘制柱状堆叠图plotQ()

image

一个plotQ包含了复杂的柱状堆叠图的参数,一些常用参数:

  • imgoutput= "sep"/"join" 默认sep,展示每个K值图,或者合并
  • showsp=T:strip panel,展示每个K值堆叠图的标签
    • sppos="left"
    • splab="nameK1" splab=paste0("K=",sapply(slist[c(1,4:8)],ncol))仅显示K=num的标签
    • spbgcol=..
  • clustercol=c("#A6CEE3", "#3F8EAA", "#79C360".....)堆叠柱状图的颜色
  • showlegend=T:展示图例legend。
  • useindlab=T:show individual lab 每个堆叠柱状图的label展示,需要q矩阵的rowname()。
    • indlabsize,indlabcol
  • sortind="all"/"Cluster1"不设置时是默认是按照样本rowname()的顺序展示堆叠图,可设置cluster排序,或者个人手动调整matrix矩阵的样本顺序
  • grplab=onelabset1(group label)在底部分组展示。含有group时设置sorted会同时显示。onelabeset1为列表,其顺序同是按照meanQ矩阵的rownames()顺序来的。
    • grpsize
    • grpangle=90字体垂直展示
  • panel spacer=0.3对join合并图柱状堆叠图中间距离

5. 一些群体结构图的示例

sfiles <- list.files(path=system.file("files/structure",package="pophelper"), full.names=T)
slist <- readQ(files=sfiles,indlabfromfile=T)
threelabset <- read.delim(system.file("files/metadata.txt", package="pophelper"), header=T,stringsAsFactors=F)
twolabset <- threelabset[,2:3] ### group label

##绘图
plotQ(slist[2:3],imgoutput="join",showindlab=T,grplab=twolabset,
      subsetgrp=c("Brazil","Greece"),selgrp="loc",ordergrp=T,showlegend=T,
      showtitle=T,showsubtitle=T,titlelab="The Great Structure",
      subtitlelab="The amazing population structure of your favourite organism.",
      height=1.6,indlabsize=2.3,indlabheight=0.08,indlabspacer=-1,
      barbordercolour="white",barbordersize=0,outputfilename="plotq",imgtype="png")
image image image

Reference
[http://www.royfrancis.com/pophelper/articles/index.html#plotq]

相关文章

  • 群体遗传 || Pophelper-群体结构可视化学习

    Pophelper基本说明 群体遗传下游分析中的一项常规分析即是群体结构的分层展示(STRUCTURE ANALY...

  • 三、理想群体与Hardy-Weinberg法则

    群体遗传学研究的目的是为了揭示群体遗传结构变化的机制。群体遗传结构,是指群体遗传变异的大小、时空分布模式或格局,它...

  • 为什么要做重测序与群体遗传(前言)

    什么是群体进化 群体遗传学(population genetics):研究 群体的遗传结构及其变化规律的遗传学分支...

  • 为什么要做重测序与群体遗传(前言)

    什么是群体进化 群体遗传学(population genetics):研究群体的遗传结构及其变化规律的遗传学分支学...

  • 群体遗传学学习笔记(1)

    群体遗传学(population genetics)是研究群体的遗传结构及其变化规律的遗传学分支学科。它应用数学和...

  • 1-群体遗传的基础介绍

    群体遗传学狭义上是指分子群体遗传学,主要是研究基因组内突变在群体中频率的升高或降低。研究内容有:群体结构,迁移史,...

  • 群体遗传分析(一)#学习笔记

    群体遗传多态性与结构分析 Locus:遗传座位,在群体中通常包含多个allele:等位基因,即遗传多态性。大多数的...

  • 群体遗传学习专题 一

    群体遗传学习专题 一之基础知识整理 群体遗传学研究对象是生物群体,这里的群体是指孟德尔氏群体。它是由同一物种组成的...

  • 群体遗传

    一、个体对群体遗传组成的影响 生物进化是群体遗传组成随着时间的变化而变化。我们的群体由不同的杂交个体组成,其遗传组...

  • 群体遗传分析内容

    群体遗传学-分析内容 A 遗传多样性 1 等位基因遗传多样性 2 多位点联合基因型遗传多样性 B 群体结构分析 1...

网友评论

    本文标题:群体遗传 || Pophelper-群体结构可视化学习

    本文链接:https://www.haomeiwen.com/subject/cyteqktx.html