Bio.SeqIO.Interfaces 模組

Bio.SeqIO 支援模組(非一般使用)。

除非您正在為 Bio.SeqIO 撰寫新的剖析器或寫入器,否則您不應該使用此模組。它提供基底類別來嘗試簡化事情。

class Bio.SeqIO.Interfaces.SequenceIterator(source: IO | PathLike | str | bytes, alphabet: None = None, mode: str = 't', fmt: str | None = None)

基礎:ABCGeneric

用於建構 SeqRecord 迭代器的基底類別。

您應該撰寫一個會傳回 SeqRecord 產生器的 parse 方法。您可能也會想要重新定義 __init__ 方法。

__init__(source: IO | PathLike | str | bytes, alphabet: None = None, mode: str = 't', fmt: str | None = None) None

建立 SequenceIterator 物件。

引數: - source - 輸入檔案串流,或輸入檔案的路徑 - alphabet - 不再使用,應為 None

此方法可由任何子類別覆寫。

子類別化時請注意: - 應該有一個單一非選擇性引數,即 source。 - 您不必需要 alphabet。 - 您可以加入其他選擇性引數。

__next__()

傳回下一個項目。

__iter__()

以 SeqRecord 物件的形式迭代項目。

Fasta 檔案的範例用法

with open("example.fasta","r") as myFile:
    myFastaReader = FastaIterator(myFile)
    for record in myFastaReader:
        print(record.id)
        print(record.seq)

此方法不應由任何子類別覆寫。它應該保持原樣,這將會呼叫 __next__ 的子類別實作,以實際剖析檔案。

abstract parse(handle: IO) Iterator[SeqRecord]

開始剖析檔案,並傳回 SeqRecord 迭代器。

__abstractmethods__ = frozenset({'parse'})
__orig_bases__ = (<class 'abc.ABC'>, typing.Generic[~AnyStr])
__parameters__ = (~AnyStr,)
class Bio.SeqIO.Interfaces.SequenceWriter(target: IO | PathLike | str | bytes, mode: str = 'w')

基礎:object

序列寫入器的基底類別。此類別應被子類別化。

它適用於具有(選擇性)標頭、重複記錄和(選擇性)頁尾的循序檔案格式,以及交錯的檔案格式,例如 Clustal。

使用者可以呼叫 write_file() 方法來寫入包含序列的完整檔案。

或者,使用者可以呼叫 write_header(),接著多次呼叫 write_record() 和/或 write_records(),最後呼叫 write_footer()。

請注意,write_header() 不能對記錄的數量做任何假設。

__init__(target: IO | PathLike | str | bytes, mode: str = 'w') None

建立寫入器物件。

clean(text: str) str

使用此方法以避免在輸出中出現換行符號。

write_header()

將檔案標頭寫入輸出檔案。

將檔案頁尾寫入輸出檔案。

write_record(record)

將單一記錄寫入輸出檔案。

record - 一個 SeqRecord 物件

write_records(records, maxcount=None)

將記錄寫入輸出檔案,並回傳記錄的數量。

records - 一個回傳 SeqRecord 物件的列表或迭代器 maxcount - 檔案格式允許的最大記錄數,若無最大值則為 None。

write_file(records, mincount=0, maxcount=None)

寫入包含記錄的完整檔案,並回傳記錄的數量。

records - 一個回傳 SeqRecord 物件的列表或迭代器