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 記錄的資訊。
屬性: - 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 - 要建立的已移除基因座的檔案