描述微生物基因型和表型的语法

gnomic的Python项目详细描述


https://travis-ci.org/biosustain/gnomic.svg?branch=masterhttps://zenodo.org/badge/47830031.svg

gnomic是一种人类和计算机可读的微生物基因型和表型的表示。那gnomic python包包含一个用于gnomic语法的解析器,该语法能够在多代中解释更改。

微生物遗传命名法的第一个正式指南是在20世纪60年代制定的,这些传统的命名法也是 对现代计算机辅助基因组工程有用的模糊性。语法是对现有语法的改进,旨在明确、明确、计算机可读,并描述不同层次细节的基因型。

安装

pip install gnomic

语言语法

语法由一系列基因型或表型命名组成,用 空格和/或逗号。使用以下术语描述名称:

DesignationGrammar 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本