【翻译】介绍Genepop格式
Genepop格式可用在许多保护遗传学研究中。它是Genepop应用程序的格式,是许多群体遗传学分析的事实格式。如果读者来自其他领域(例如,有大量的测序经验),你可能没有听说过这种格式,但是这种格式确被广泛使用(正如它的引用记录证明的),值得一看。这里将把一些以前的秘笈中数据集转换成这种格式,并介绍来自Biopython的Genepop的解析器。
准备好
读者需要运行前一个秘笈,因为它的输出对这个秘笈是必需的。
如果读者没有用Docker,可能你无法使用前面产生的部分代码(大多数是处理数据转换的基本食粮),你可以在https://github.com/tiagoantao/pygenomics找到它们的代码,并用下列代码下载:
注意在此阶段,我们还没有用到Genepop应用程序(在下一个秘笈将会改变),因此无需现在安装它。
像往常一样,有一个可用的notebook在 03_PopGen/Genepop_Format.ipynb,但是它仍需要读者运行前一个notebook来产生必需的文件。
如何做
参看下列步骤:
1,这里先加载元数据如下(我们将使用前一个秘笈的一个精简版本):
2,现在检查PLINK数据文件和元数据的一致性,因为我们需要清理群体的映射文件来产生一个Genepop文件,代码如下:
小技巧:
对读者自己的数据,一定要彻底对数据和元数据检查一致性问题。所有数据源(如果你有一个以上的),要确保它们之间的一致。如果没有,至少对所有有问题的情况,更好的是采取行动去了解和纠正任何潜在的问题。默认的假设应该有问题(不是一切的都没问题)。虽然读者可能是自己产生数据,但是检查一下更好。疏漏和错误是肯定会发生的,犯错误是正常的,基本的方式是检查他们。过分自信是缺乏经验的表现。3,这里从PLINK转换一些数据集到Genepop格式:
4,Biopython提供了一个对Genepop文件的在内存中的解析器,这里尝试打开一个1%取样的常染色体的文件:

小技巧
请注意,这些输出取决于Genepop是如何编码的(这在我的to_genepop函数中)。还取决于例如,编码1234是任意的(ACTG只是便利)或事实上的人群的词典顺序或基因座的名称包括rs标识和染色体的位置。如果读者从另一个地方得到你的文件,就必须检查他们使用任何约定(对你这可能会是方便的或不方便的)。如果读者生成你自己的文件,一定要使用一些约定,将对下游的分析有用(像这里一样)。当然,这里的说法是一般性的;你可以将它应用到其他格式的文件中,只要他们有任何形式的灵活性。5,更符合实际情况的是,我们将对现代的数据使用大文件解析器,因为它不会在内存中加载全部文件,反而提供一个迭代器代替列表,代码如下:
附加信息
事实上在网络上有一个Genepop的接口,读者可以使用手动的例子(特别是对于小规模的文件):http://genepop.curtin.edu.au/