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 - 要建立的已移除基因座的檔案