序列注释

seq-ann的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包允许 用户在一致序列中注释基因特征。{2$注释可以在tt2}方法中创建 BioSeqAnn类。初始化BioSeqAnn类时不需要参数。但是,注释可以是 使用BioSQL数据库时创建速度明显更快。如果没有提供BioSQL数据库,则下载并解析最新的hla.dat文件。 包含所有IPD-IMGT/HLA的BioSQL数据库在DockerHub上可用,可以 在任何安装了docker的计算机上运行。在

安装

pip install seq-ann

参数

下面是初始化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。不需要序列的轨迹,但它将提高注释的准确性。在

The packages ncbi-blast+ and clustalo are required to be installed on your system.

Set variables to BioSQL host/port if using BioSQL.

^{pr2}$
fromseqannimportBioSeqAnnseqann=BioSeqAnn()ann=seqann.annotate(sequence,"HLA-A")

序列的注释可以使用或不提供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")

您可能需要将环境变量:BIOSQLHOST(例如“localhost”)和BIOSQLPORT(例如3306)设置到docker实例。在

注释

{'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")

依赖关系

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

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener