序列注释
seq-ann的Python项目详细描述
用于注释基因特征的Python包
- 免费软件:LGPL 3.0
- 文档:https://seqann.readthedocs.io。在
- Jupyter Notebook
概述
seqann包允许 用户在一致序列中注释基因特征。{2$注释可以在tt2}方法中创建 BioSeqAnn类。初始化BioSeqAnn类时不需要参数。但是,注释可以是 使用BioSQL数据库时创建速度明显更快。如果没有提供BioSQL数据库,则下载并解析最新的hla.dat文件。 包含所有IPD-IMGT/HLA的BioSQL数据库在DockerHub上可用,可以 在任何安装了docker的计算机上运行。在
安装
pip install seq-ann
参数
下面是初始化BioSeqAnn对象时使用的参数和默认值的列表。在
Parameter | Type | Default | Description |
---|---|---|---|
server | ^{tt6}$ | None | A BioSQL database containing all of the sequence data from IPD-IMGT/HLA. |
dbversion | ^{tt7}$ | Latest | The IPD-IMGT/HLA or KIR database release. |
datfile | ^{tt7}$ | None | The IPD-IMGT/HLA or KIR dat file to use in place of the server parameter. |
kir | ^{tt9}$ | False | Flag for indicating the input sequences are from the KIR gene system. |
align | ^{tt9}$ | False | Flag for producing the alignments along with the annotations. |
verbose | ^{tt9}$ | False | Flag for running in verbose mode. |
verbosity | ^{tt12}$ | None | Numerical value to indicate how verbose the output will be in verbose mode. |
debug | ^{tt13}$ | None | A dictionary containing a process names as the key and verbosity as the value |
使用
要对序列进行注释,请初始化新的BioSeqAnn对象,然后将该序列传递给 annotate方法。序列必须是BiopythonSeq。不需要序列的轨迹,但它将提高注释的准确性。在
^{pr2}$The packages ncbi-blast+ and clustalo are required to be installed on your system.
Set variables to BioSQL host/port if using BioSQL.
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")
依赖关系
- Clustal Omega1.2.0或更高版本
- Python 3.6
- blastn
- 项目
标签: