序列注释

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中以反射方式使用泛型参数调用方法?   java分配给另一个变量的变量是否更改(原始变量更改)第二个变量是否更改?   java没有此类元素异常(警告:服务器未提供任何stacktrace信息)   java检查用户是否经过密码验证或与某个提供者进行了验证   java在向“价格”和“数量”列单元格添加数据时更新JTable中的“金额”列单元格   Android Studio找不到java编译器   java“在foo类的公共方法中,哪个变量(实例或本地)起作用?”   java动态Log4j2 LogfilePath   java使用OO编程避免多个嵌套if   java有没有办法在IntelliJ更改跟踪中突出显示未保存或更改的行   Java中两个矩阵相乘的数组   java打印包含阿拉伯字符的字符串会导致问号。如何修复?   java为什么声明整型静态会导致代码中出现错误?   java在使用@Bean Spring注释创建Bean时遇到异常   java是否将JavaCV添加为依赖项,以便在Raspberry PI上运行?   java如何使用trycatch测试注入的mock   java如何在不同的环境(开发、测试、生产)中维护相同的数据表?   java将Char转换为KeyEvent