Bio.PopGen.GenePop.FileParser 模块
解析 BIG 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 记录的信息。
属性: - marker_len 标记长度(每个等位基因 2 或 3 位数字代码)。 - comment_line 注释行。 - loci_list 标记名称列表。
方法: - get_individual 返回当前种群的下一个个体。 - skip_population 跳过当前种群。
skip_population 跳过当前种群的个体,如果还有更多种群则返回 True。
get_individual 返回当前种群的个体(如果列表结束则返回 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)
在文件中查找特定位置。
- 参数
pop - 种群位置(0 是第一个)
indiv - 种群中的个体
- skip_population()
跳过当前种群。如果还有其他种群则返回 true。
- get_individual()
获取下一个个体。
如果当前种群中还有更多个体,则返回个体信息。如果当前种群中没有更多个体,但还有更多种群,则返回 True。下次读取将从下一个种群开始。如果到达文件末尾,则返回 False。
- remove_population(pos, fname)
删除一个种群(按位置)。
- 参数
pos - 位置
fname - 要创建的删除了种群的文件
- remove_locus_by_position(pos, fname)
按位置删除标记。
- 参数
pos - 位置
fname - 要创建的删除了标记的文件
- remove_loci_by_position(positions, fname)
按位置删除一组标记。
- 参数
positions - 位置
fname - 要创建的删除了标记的文件
- remove_locus_by_name(name, fname)
按名称删除标记。
- 参数
name - 名称
fname - 要创建的删除了标记的文件
- remove_loci_by_name(names, fname)
删除标记列表(按名称)。
- 参数
names - 名称
fname - 要创建的删除了标记的文件