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

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第三方库


热门话题
datetime如何使用JodaTime在Java中设置时间属性   java固定算法的性能时间   java如何从JMenu中获取所选项以更改文本区域的文本颜色?   java配置单元UDF传递数组<string>作为参数   javaapachebeam和BigQuery   java与PrintWriter之间的差异。printf和PrintWriter。格式方法   继承如何处理按Java版本更改的导入,以及在多个版本上编译   xml java。lang.noClassDefFoundant生成错误   java如何使用包含映射的JSON发送POST请求?   java如何在任何应用程序的JAR文件中绑定MySql数据库?   Java脚本解释器   sslhttpclientjava。网SocketException:未实现未连接的socket   java如何为Android应用程序创建类似于Cron作业的东西   java JButton+radiobox+复选框   java内存管理将文件写入内存   java这是计算对象实例的有效方法吗?   用于死锁情况的java代码?   JavaSpring容器作为新实体插入,而不是存储在表中