Bio.GenBank.Scanner模块

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

此代码不适用于直接使用。它提供了一个基本的扫描器(与Bio.GenBank._FeatureConsumer等事件消费者一起使用)来解析GenBank或EMBL文件(以及它们共享的INSDC功能表)。

Bio.GenBank使用它来解析GenBank文件,Bio.SeqIO也使用它来解析GenBank和EMBL文件

要素表文档:

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

基类:object

将GenBank/EMBL文件拆分为子部分的基本函数。

DDBJ、EMBL和GenBank之间的国际核苷酸序列数据库协作(INSDC)。这些组织都在其纯文本平面文件格式中使用相同的“要素表”布局。

但是,EMBL文件的头和序列部分在布局上与GenBank/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”和“Complete(Join(490883..490885,1..879))”),而限定符是两个字符串元组(功能限定符关键字和值)的列表。

假定您已阅读到要素表的开头。

parse_feature(feature_key, lines)

将以字符串列表形式给出的功能解析为元组。

需要字符串列表形式的要素,返回元组(键、位置、限定符)

例如,给定此GenBank功能::

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"

然后应该给出INPUT KEY=“cds”和睡觉的数据作为字符串列表行= [“补码(JOIN(490883..490885,1..879))”,.,“LNSMGFVNTKKNSAR”] 其中前导空格和尾随换行符已被删除。

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

key=“cds”,字符串位置=“补码(JOIN(490883..490885,1..879))”,字符串限定符=字符串元组列表:

[(‘locus_tag’,‘“NEQ001”’),

(‘注’,‘“保守假设 [詹纳斯基甲烷球菌] ;nCOG1583:.“‘),(’密码子开始‘,’1‘),(’转换表‘,’11‘),(’产品‘,’”假设蛋白“‘),(’蛋白质_id‘,’”NP_963295.1“‘),(’数据库_外部参照‘,’”GI:41614797“‘),(’数据库_外部参照‘,’”基因ID:2732620“‘),(’翻译‘,’”MRLLLELKALNSIDKKQLSNYLIQGFIYNILKNTEYSWLHNWKKnEKYFNFT.“‘)]

在上面的示例中,为了紧凑起见,编辑了“注释”和“翻译”,它们将包含多个换行符(上面显示为n)

如果限定符加了引号(在本例中,除了CODON_START和TRANL_TABLE之外的所有内容),则不会删除引号。

请注意,不会删除任何空格。

返回包含任何杂项字符串列表的元组和序列。

feed(handle, consumer, do_features=True)

将一组数据提供给消费者。

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

参数:
  • 句柄-要解析的信息的句柄。

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

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

返回值:
  • TRUE-通过了一项记录

  • False-未找到记录

parse(handle, do_features=True)

返回SeqRecord(如果do_Feature=True,则使用SeqFeature)。

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

parse_records(handle, do_features=True)

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

每条记录(从ID/LOCAUS行到//行)成为一个SeqRecord

如果DO_FEATURES=True,则SeqRecord对象包括SeqFeature

此方法旨在用于Bio.SeqIO

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

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

每个CDS功能都会成为一个SeqRecord。

参数:
  • 字母表-已过时,应保留为无。

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

此方法旨在用于Bio.SeqIO

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 = '     '

返回包含任何杂项字符串列表的元组和序列。

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

基类:InsdcScanner

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

RECORD_START = 'LOCUS       '
HEADER_WIDTH = 12
FEATURE_START_MARKERS = ['FEATURES             Location/Qualifiers', 'FEATURES']
FEATURE_END_MARKERS = []
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 = ' :: '

返回包含任何杂项字符串列表的元组和序列。