查看原文
其他

群体遗传专题:读取数据和数据的基本格式

lakeseafly 生信菜鸟团 2022-06-07

群体遗传专题:读取数据和数据的基本格式

上一次讲了PCA的分析,这次回过头来给大家讲讲一些基本的东西,群体遗传的数据格式与读取。

本文主要关注GenAlEx格式,当然除了该格式外,R还会支持其他格式的数据,具体可以通过import2genind的function来实现。接下来将以单倍体,二倍体和多倍体数据集为例,展示如何将数据分组为多个分层。

Importing data (读取数据)

GenAlEx 格式的数据

为了简单起见,我们来看一下monpop数据,该数据包含6个分离的13株单倍体微卫星基因座上的694株植物病原菌Monilinia fructicola(Everhart&Scherm,2015)

要将GenAlEx格式的数据导入poppr,您应该使用函数read.genalex。

library("poppr")
monpop <- read.genalex("monpop.csv")
monpop

结果:

This is a genclone object
-------------------------
Genotype information:
  264 original multilocus genotypes
  694 haploid individuals
   13 codominant loci
Population information:
    1 stratum - Pop
   12 populations defined -
7_09_BB, 26_09_BB, 26_09_FR, ..., 45_10_FR, 26_11_BB, 26_11_FR

其他的数据格式

使用poppr,我们还可以将以下的格式导入数据中:

  • FSTAT (file.dat)

  • GENETIX (file.gtx)

  • GENEPOP (file.gen)

  • STRUCTURE (file.str)

adegenet函数import2genind将导入所有这些格式。如果您有序列数据,则可以使用ape包中的read.FASTA函数。如果您的数据采用其他格式。

GenAlEx data format

GenAlEx是Microsoft Excel非常受欢迎的附加组件。由于其熟悉的菜单驱动界面,使用起来相对简单。它还使用户可以选择包含群体分组,地区分组和xy坐标的信息。这种格式的灵活性使其成为导入poppr的明确选择。

数据格式是标准的,因为个体在行中定义,基因座在列中定义。前两行保留用于元数据,前两列分别保留给各个名称和群体名称。我们将使用的例子包括单倍体,二倍体和多倍体数据。

以下是monpop(单倍体)数据的样子。以红色突出显示缺失数据应如何编码SSR标记。蓝色突出显示的是poppr使用的元数据行的部分。这三行之外的元数据列定义了每个群体中包含的个体数量。


Diploids

二倍体数据仅在每个位点有两个等位基因有所不同。这是编码,每个等位基因在一个单独的列。以下是nancycats数据集(来自adegenet软件包)的示例,如上所述导出。蓝色和红色突出显示分别是第一和第二个基因座。


Polyploids

GenAlEx不处理多倍体,但由于poppr可以做到这一点,我们已经建立了一个允许通过这种格式导入多倍体的方案。限制是所有的基因座必须具有相同的观察倍数。下面是数据集Pinf中致病疫霉的例子,其中一些基因型观察到四倍体基因座(Goss et al., 2014)。

蓝色突出显示第一个基因座,红色突出显示该基因座有两个样本,一个观察到的二倍体和观察到的三倍体。


群体阶级

分层抽样方法对于推断人口在空间或时间上的结构是必要的。 Poppr通过通用分隔符(默认情况下为“_”)将不同分层级联到单个列中,便于定义分层数据。以下是上面介绍的monpop数据集的三个分层的示例:


 



猜你喜欢

生信基础知识100讲

生信菜鸟团-专题学习目录(5)

生信菜鸟团-专题学习目录(6)

生信菜鸟团-专题学习目录(7)


还有更多文章,请移步公众号阅读

▼ 如果你生信基本技能已经入门,需要提高自己,请关注下面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。

▼ 如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。

             










      


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存