生物。基因库。扫描仪模块

用于解析GenBank和EMBL文件的内部代码(PRIVATE)。

此代码无意直接使用。 它提供了基本扫描仪(用于Bio.GenBank._等事件消费者DeliverureConsumer)来解析ESB或EmbL文件(及其共享的INSDC功能表)。

Bio. Gene使用它来解析ESB文件Bio.SeqIO还使用它来解析ESB和EmbL文件

功能表文档:

class Bio.GenBank.Scanner.InsdcScanner(debug=0)

基类:object

用于将ESB/MBE文件分解为小节的基本功能。

DDBJ、MBE和基因库之间的国际核苷酸序列数据库合作(INSDC)。 这些组织都在纯文本平面文件格式中使用相同的“功能表”布局。

然而,EmbL文件的标头和序列部分在布局上与ESB/DDBJ生成的文件有很大不同。

RECORD_START = 'XXX'
HEADER_WIDTH = 3
FEATURE_START_MARKERS = ['XXX***FEATURES***XXX']
FEATURE_END_MARKERS = ['XXX***END FEATURES***XXX']
FEATURE_QUALIFIER_INDENT = 0
FEATURE_QUALIFIER_SPACER = ''
SEQUENCE_HEADERS = ['XXX']
__init__(debug=0)

初始化课程。

set_handle(handle)

设置手柄属性。

find_start()

读取行,直到找到ID/LOCUS行,然后返回该行。

任何前置码(例如NCBI在 *.seq.gz 档案)我们会忽略。

parse_header()

返回组成标题的字符串列表。

新行字符将被删除。

假设您刚刚阅读了ID/LOCUS行。

parse_features(skip=False)

返回要素的二元组列表(如果存在)。

每个特征都作为一个二元组(键、位置、限定符)返回,其中键和位置是字符串(例如“CDS”和“补录(join(490883.. 490885,1.. 879))”),而限定符是两个字符串二元组(功能限定符键和值)的列表。

假设您已经阅读到功能表的开头。

parse_feature(feature_key, lines)

将以字符串列表形式给出的特征解析为一个数组。

预期功能为字符串列表,返回一个二元组(键、位置、限定符)

例如,给定该基因库功能::

CDS             complement(join(490883..490885,1..879))
                /locus_tag="NEQ001"
                /note="conserved hypothetical [Methanococcus jannaschii];
                COG1583:Uncharacterized ACR; IPR001472:Bipartite nuclear
                localization signal; IPR002743: Protein of unknown
                function DUF57"
                /codon_start=1
                /transl_table=11
                /product="hypothetical protein"
                /protein_id="NP_963295.1"
                /db_xref="GI:41614797"
                /db_xref="GeneID:2732620"
                /translation="MRLLLELKALNSIDKKQLSNYLIQGFIYNILKNTEYSWLHNWKK
                EKYFNFTLIPKKDIIENKRYYLIISSPDKRFIEVLHNKIKDLDIITIGLAQFQLRKTK
                KFDPKLRFPWVTITPIVLREGKIVILKGDKYYKVFVKRLEELKKYNLIKKKEPILEEP
                IEISLNQIKDGWKIIDVKDRYYDFRNKSFSAFSNWLRDLKEQSLRKYNNFCGKNFYFE
                EAIFEGFTFYKTVSIRIRINRGEAVYIGTLWKELNVYRKLDKEEREFYKFLYDCGLGS
                LNSMGFGFVNTKKNSAR"

然后应该给出输入键=“CDS”,其余数据作为字符串列表line = ["complement(join(490883..490885,1..879))", ..., "LNSMGFGFVNTKKNSAR"] 其中,开头的空白和后面的白线已被删除。

对于本例,返回包含:(键为字符串,位置字符串,限定符为列表)的多元组,如下所示:

key =“CDS”,字符串位置=“补录(join(490883. 490885,1.. 879))”,字符串限定符=字符串二元组列表:

[(' locus_tag ','' NEQ 001 '),

('注'、'保守假设 [Methanococcus jannaschii] ;nCOG 1583:..“'),'),'产品,'),'蛋白质_id ','),',(&#39 "')]

在上面的例子中,“note”和“translation”被编辑为紧凑,它们将包含多个新行字符(上面显示为n)

如果引用了限定符(在这种情况下,是除密码子_start和transl_table之外的所有内容),那么不会删除引号。

请注意,没有删除空白。

返回一个包含任何混杂字符串列表和序列的二元组。

feed(handle, consumer, do_features=True)

将一组数据反馈给消费者。

此方法旨在与Bio. Gene中的“旧”代码一起使用

论点:
  • handle -包含要分析的信息的handle。

  • 消费者-应该被告知事件的消费者。

  • do_features -布尔,是否应该解析功能?跳过这些功能可以快得多。

返回值:
  • 真实-通过记录

  • 假-没有找到记录

parse(handle, do_features=True)

返回SeqRecord(如果do_features=True,则返回SeqFeatures)。

另请参阅用于多记录文件的parse_records()方法。

parse_records(handle, do_features=True)

解析记录,返回SeqRecord对象迭代器。

每条记录(从ID/LOCUS行到//行)都成为SeqRecord

如果do_features=True,SeqRecord对象包括SeqFeatures

此方法旨在用于Bio.SeqIO

parse_cds_features(handle, alphabet=None, tags2id=('protein_id', 'locus_tag', 'product'))

解析CDS功能,返回SeqRecord对象迭代器。

每个CDS特征都成为一个SeqRecord。

论点:
  • 字母表-废弃,应保留为无。

  • tags 2 id-三个字符串的二元组,用于记录id、名称和描述的功能键,

此方法旨在用于Bio.SeqIO

__firstlineno__ = 41
__static_attributes__ = ('debug', 'handle', 'line')
class Bio.GenBank.Scanner.EmblScanner(debug=0)

基类:InsdcScanner

用于提取EmbL文件中的信息块。

RECORD_START = 'ID   '
HEADER_WIDTH = 5
FEATURE_START_MARKERS = ['FH   Key             Location/Qualifiers', 'FH']
FEATURE_END_MARKERS = ['XX']
FEATURE_QUALIFIER_INDENT = 21
FEATURE_QUALIFIER_SPACER = 'FT                   '
SEQUENCE_HEADERS = ['SQ', 'CO']
EMBL_INDENT = 5
EMBL_SPACER = '     '

返回一个包含任何混杂字符串列表和序列的二元组。

__annotations__ = {}
__firstlineno__ = 619
__static_attributes__ = ('line',)
class Bio.GenBank.Scanner.GenBankScanner(debug=0)

基类:InsdcScanner

用于提取基因库文件中的信息块。

RECORD_START = 'LOCUS       '
HEADER_WIDTH = 12
FEATURE_START_MARKERS = ['FEATURES             Location/Qualifiers', 'FEATURES']
FEATURE_END_MARKERS: list[str] = []
FEATURE_QUALIFIER_INDENT = 21
FEATURE_QUALIFIER_SPACER = '                     '
SEQUENCE_HEADERS = ['CONTIG', 'ORIGIN', 'BASE COUNT', 'WGS', 'TSA', 'TLS']
GENBANK_INDENT = 12
GENBANK_SPACER = '            '
STRUCTURED_COMMENT_START = '-START##'
STRUCTURED_COMMENT_END = '-END##'
STRUCTURED_COMMENT_DELIM = ' :: '

返回一个包含任何混杂字符串列表和序列的二元组。

__annotations__ = {'FEATURE_END_MARKERS': list[str]}
__firstlineno__ = 1164
__static_attributes__ = ('line',)