描述微生物基因型和表型的语法
gnomic的Python项目详细描述
gnomic是一种人类和计算机可读的微生物基因型和表型的表示。那gnomic python包包含一个用于gnomic语法的解析器,该语法能够在多代中解释更改。
微生物遗传命名法的第一个正式指南是在20世纪60年代制定的,这些传统的命名法也是 对现代计算机辅助基因组工程有用的模糊性。语法是对现有语法的改进,旨在明确、明确、计算机可读,并描述不同层次细节的基因型。
安装
pip install gnomic
语言语法
语法由一系列基因型或表型命名组成,用 空格和/或逗号。使用以下术语描述名称:
Designation | Grammar expression |
---|---|
^{tt2}$ deleted | ^{tt3}$ |
^{tt2}$ at ^{tt5}$ deleted | ^{tt6}$ |
^{tt2}$ inserted | ^{tt8}$ |
^{tt9}$ replaced with ^{tt2}$ | ^{tt11}$ |
^{tt9}$ (multiple integration) replaced with ^{tt2}$ | ^{tt14}$ |
^{tt9}$ at ^{tt5}$ replaced with ^{tt2}$ | ^{tt18}$ |
^{tt2}$ of ^{tt20}$ | ^{tt21}$ |
^{tt2}$ with ^{tt23}$ | ^{tt24}$ |
^{tt2}$ with variant | ^{tt26}$ |
^{tt2}$ with list of variants | ^{tt28}$ or ^{tt29}$ |
^{tt2}$ with accession number | ^{tt31}$ |
^{tt2}$ by accession number | ^{tt33}$ |
accession number | ^{tt34}$ or ^{tt35}$ |
fusion of ^{tt36}$ and ^{tt37}$ | ^{tt38}$ |
insertion of two fused features | ^{tt39}$ |
insertion of a list of features or fusions | ^{tt40}$ |
fusion of a list and a feature | ^{tt41}$ |
a non-integrated plasmid | ^{tt42}$ or ^{tt43}$ |
integrated plasmid vector with required insertion site | ^{tt44}$ |
特征变量
功能可能有一个或多个变体,用冒号“;”或逗号“,”分隔。
例如:geneX(cold-resistant;heat-resistant)
变量可以是标识符(使用字符a-z、0-9、“-”和“u”),也可以是以下序列变量 hgvsSequence Variant Nomenclature。
例如:geneY(c.123G>T)
示例用法
在这个例子中,我们在gnomic语法中解析“ecgeneaΔsitea::promoterb:ecgenebΔgenec”和“Δgenea”。
>>>fromgnomicimportGenotype>>>g1=Genotype.parse('+Ec/geneA(variant) siteA>P.promoterB:Ec/geneB -geneC')>>>g1.added_features{Feature(organism='Ec',name='geneA',variant=('variant',)),Feature(organism='Ec',name='geneB'),Feature(type='P',name='promoterB')}>>>g1.removed_features{Feature(name='geneC'),Feature(name='siteA')}>>>g2=Genotype.parse('-geneA',parent=g1)>>>g2.added_features{Feature(type='P',name='promoterB'),Feature(name='geneB',organism='Ec')}>>>g2.removed_features{Feature(name='siteA'),Feature(name='geneC')}>>>g2.changes()(Change(multiple=False,after=Fusion(annotations=(Feature(type='P',name='promoterB'),Feature(organism='Ec',name='geneB'))),before=Feature(name='siteA')),Change(multiple=False,before=Feature(name='geneC')))>>>g2.format()'ΔsiteA→P.promoterB:Ec/geneB ΔgeneC'
开发
要使用grako(3.18.1版)重建gnomic解析器,请运行:
grako gnomic-grammar/genotype.enbf -o gnomic/grammar.py -m Gnomic