序列注释

seqann的Python项目详细描述


https://img.shields.io/travis/nmdp-bioinformatics/SeqAnn.svgDocumentation StatusUpdateshttps://img.shields.io/pypi/v/seqann.svghttps://coveralls.io/repos/github/nmdp-bioinformatics/SeqAnn/badge.svg?branch=master

用于注释基因功能的python包

概述

seqann包允许 用户在一致序列中注释基因特征。可以通过将一致性序列传递给 BioSeqAnn类。初始化BioSeqAnn类时不需要参数。但是,注释可以是 在使用biosql数据库时创建得更快。如果没有提供biosql数据库,则下载并分析最后一个hla.dat文件。 包含所有ipd-imgt/hla的biosql数据库可以在DockerHub上获得,并且可以 在任何安装了Docker的机器上运行。

参数

下面是初始化BioSeqAnn对象时使用的参数和默认值的列表。

ParameterTypeDefaultDescription
server^{tt6}$NoneA BioSQL database containing all of the sequence data from IPD-IMGT/HLA.
dbversion^{tt7}$LatestThe IPD-IMGT/HLA or KIR database release.
datfile^{tt7}$NoneThe IPD-IMGT/HLA or KIR dat file to use in place of the server parameter.
kir^{tt9}$FalseFlag for indicating the input sequences are from the KIR gene system.
align^{tt9}$FalseFlag for producing the alignments along with the annotations.
verbose^{tt9}$FalseFlag for running in verbose mode.
verbosity^{tt12}$NoneNumerical value to indicate how verbose the output will be in verbose mode.
debug^{tt13}$NoneA dictionary containing a process names as the key and verbosity as the value

用法

若要注释序列,请初始化新的BioSeqAnn对象,然后将序列传递给 annotate方法。序列必须是BiopythonSeq。序列的轨迹不是必需的,但它将提高注释的准确性。

fromseqannimportBioSeqAnnseqann=BioSeqAnn()ann=seqann.annotate(sequence,"HLA-A")

序列的注释可以在提供BioSeqDatabase或不提供BioSeqDatabase的情况下完成。使用biosql数据库 使用与正在运行的数据库匹配的参数初始化BioSeqDatabase。如果你是 从DockerHub运行imgt_biosqldb,则以下参数相同。

fromseqannimportBioSeqAnnfromBioSQLimportBioSeqDatabaseserver=BioSeqDatabase.open_database(driver="pymysql",user="root",passwd="my-secret-pw",host="localhost",db="bioseqdb",port=3306)seqann=BioSeqAnn(server=server)ann=seqann.annotate(sequence,"HLA-A")

注释

{'complete_annotation': True,
     'annotation': {'exon_1': SeqRecord(seq=Seq('AGAGACTCTCCCG', SingleLetterAlphabet()), id='HLA:HLA00630', name='HLA:HLA00630', description='HLA:HLA00630 DQB1*03:04:01 597 bp', dbxrefs=[]),
                    'exon_2': SeqRecord(seq=Seq('AGGATTTCGTGTACCAGTTTAAGGCCATGTGCTACTTCACCAACGGGACGGAGC...GAG', SingleLetterAlphabet()), id='HLA:HLA00630', name='HLA:HLA00630', description='HLA:HLA00630 DQB1*03:04:01 597 bp', dbxrefs=[]),
                    'exon_3': SeqRecord(seq=Seq('TGGAGCCCACAGTGACCATCTCCCCATCCAGGACAGAGGCCCTCAACCACCACA...ATG', SingleLetterAlphabet()), id='HLA:HLA00630', name='<unknown name>', description='HLA:HLA00630', dbxrefs=[])},
     'features': {'exon_1': SeqFeature(FeatureLocation(ExactPosition(0), ExactPosition(13), strand=1), type='exon_1'),
                  'exon_2': SeqFeature(FeatureLocation(ExactPosition(13), ExactPosition(283), strand=1), type='exon_2')'exon_3': SeqFeature(FeatureLocation(ExactPosition(283), ExactPosition(503), strand=1), type='exon_3')},
     'method': 'nt_search and clustalo',
     'gfe': 'HLA-Aw2-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-4',
     'seq': SeqRecord(seq=Seq('AGAGACTCTCCCGAGGATTTCGTGTACCAGTTTAAGGCCATGTGCTACTTCACC...ATG', SingleLetterAlphabet()), id='HLA:HLA00630', name='HLA:HLA00630', description='HLA:HLA00630 DQB1*03:04:01 597 bp', dbxrefs=[])}

一旦序列被注释,基因特征及其相应的序列就可以在返回的Annotation对象中使用。如果 无法生成批注,则不会返回任何内容。下面是一个显示如何访问和打印功能的示例。

ann=seqann.annotate(sequence,"HLA-A")forfeatinann.annotation:print(feat,ann.gfe,str(ann.annotation[feat].seq),sep="\t")

安装

pip install seqann

依赖关系

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

推荐PyPI第三方库


热门话题
java为什么我的代码永远运行?它只是一堆带int的for循环,应该是递减的?   java如何更改IntelliJ IDEA中的XML缩进?   java如何使未填充的int数组不打印0?   eclipse My Weka Java代码结果*Weka*虚拟*STRING*用于*STRING*属性*   java泄漏了Windows com。安卓内部的政策恳求   java这个无限循环的原因是什么?   swing My标签在Java中很模糊   java如何在组件表示存储扩展中获取组件对象   java如何避免selenium网格中的会话超时   Java乘法测验,如果答案错误,如何循环   在Java HttpServlet Google app engine中保存对象   java ArrayList过滤器   java跳跃减慢了xvelocity:使用Libgdx/Box2D进行跳跃和跑步   java删除、复制和修改pom。xml文件   当提供的时区与服务器的时区相同时,RestCall中的java@DateTimeFormat(iso=iso.DATE_TIME)不工作   java Spring批处理多线程默认限制为10隐式?   安卓错误java。lang.UnsupportedOperationException:无法转换为维度:type=0x1