Bio.PopGen.GenePop.FileParser模块

解析大型GenePop文件的代码。

该类与标准Bio.PopGen.GenePop.Record类的不同之处在于,该类不会将整个文件读取到内存。它提供了迭代器接口,速度较慢,但会消耗大量乱七八糟的内存。应与大文件(数千个标记和个人)一起使用。

请参阅http://wbiomed.curtin.edu.au/genepop/,其格式记录在此处:http://wbiomed.curtin.edu.au/genepop/help_input.html

班级:
  • FileRecord保存GenePop数据。

功能:

Bio.PopGen.GenePop.FileParser.read(fname)

解析包含GenePop文件的文件。

fname是包含GenePop记录的文件名。

class Bio.PopGen.GenePop.FileParser.FileRecord(fname)

基类:object

保存GenePop记录中的信息。

属性:-mark_len标记长度(每个等位基因2或3位代码)。-COMMENT_LINE注释行。-loci_list区域名称列表。

方法:-GET_INSERNAL返回当前群体中的下一个个体。-SKIP_Population跳过当前人口。

SKIP_Population跳过当前群体中的个体,如果有更多群体,则返回True。

GET_INSERNAL返回当前群体中的一个个体(如果列表结束,则返回NONE)。

每个个体是由个体名称和等位基因列表组成的一对(每个标记2个,单倍体数据1个)。示例:

('Ind1', [(1,2),    (3,3), (200,201)]
('Ind2', [(2,None), (3,3), (None,None)]
('Other1', [(1,1),  (4,3), (200,200)]
__init__(fname)

初始化类。

__str__()

返回(重新构造)GenePop文本表示形式。

这可能会占用大量内存。标记长度将为3。

start_read()

开始解析包含GenePop文件的文件。

skip_header()

跳过标题。待重新开业后再做。

seek_position(pop, indiv)

在文件中查找某个位置。

参数:
  • 弹出位置(0表示第一个)

  • 独立-流行音乐中的个人

skip_population()

跳过当前人口。如果存在另一弹出窗口,则返回TRUE。

get_individual()

抓住下一个人。

如果当前群体中有更多个人,则返回个人信息。如果当前群体中没有更多的个体,但有更多的群体,则返回True。下一次阅读将是以下POP。如果位于文件末尾,则返回False。

remove_population(pos, fname)

删除人口(按位置)。

参数:
  • 位置-位置

  • fname-要创建并删除填充的文件

remove_locus_by_position(pos, fname)

按位置删除轨迹。

参数:
  • 位置-位置

  • fname-要在删除位置的情况下创建的文件

remove_loci_by_position(positions, fname)

按位置删除一组轨迹。

参数:
  • 职位-职位

  • fname-要在删除位置的情况下创建的文件

remove_locus_by_name(name, fname)

按名称删除轨迹。

参数:
  • 名称-名称

  • fname-要在删除位置的情况下创建的文件

remove_loci_by_name(names, fname)

删除地区列表(按名称)。

参数:
  • 姓名-姓名

  • fname-要创建并删除区域的文件