生物。基因库。扫描仪模块
用于解析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 ','),',(' "')]
在上面的例子中,“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',)