首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从gff3文件中提取基因组特征

从gff3文件中提取基因组特征
EN

Stack Overflow用户
提问于 2016-07-11 07:59:43
回答 1查看 486关注 0票数 7

在scikit-Bio中,是否有可能从基因组fasta文件中提取存储在gff3格式文件中的基因组特征?

示例:

genome.fasta

代码语言:javascript
复制
>sequence1
ATGGAGAGAGAGAGAGAGAGGGGGCAGCATACGCATCGACATACGACATACATCAGATACGACATACTACTACTATGA

annotation.gff3

代码语言:javascript
复制
#gff-version 3
sequence1   source  gene    1   78  .   +   .   ID=gene1
sequence1   source  mRNA    1   78  .   +   .   ID=transcript1;parent=gene1
sequence1   source  CDS 1   6   .   +   0   ID=CDS1;parent=transcript1
sequence1   source  CDS 73  78  .   +   0   ID=CDS2;parent=transcript1

mRNA特性(transcript1)所需的序列将是两个子CDS特性的连接。在这种情况下,这将是'ATGGAGCTATGA'

EN

回答 1

Stack Overflow用户

发布于 2017-12-15 16:02:15

这一特性已经被添加到scikit-bio中,但是生物added中提供的版本还不支持它(2017-12-15)。gff3的格式文件存在于Github储存库中。

您可以使用以下方法克隆回购并在本地安装:

代码语言:javascript
复制
$ git clone https://github.com/biocore/scikit-bio.git
$ cd scikit-bio
$ python setup.py install

按照文件中给出的示例,下面的代码应该可以工作:

代码语言:javascript
复制
import io
from skbio.metadata import IntervalMetadata
from skbio.io import read

gff = io.StringIO(open("annotations.gff3", "r").read())
im = read(gff, format='gff3', into=IntervalMetadata, seq_id="sequence1")

print(im)

对我来说,这会引发一个FormatIdentificationWarning,但是正确地报告了条目:

代码语言:javascript
复制
4 interval features
-------------------
Interval(interval_metadata=<140154121000104>, bounds=[(0, 78)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'gene', 'score': '.', 'strand': '+', 'ID': 'gene1'})
Interval(interval_metadata=<140154121000104>, bounds=[(0, 78)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'mRNA', 'score': '.', 'strand': '+', 'ID': 'transcript1', 'parent': 'gene1'})
Interval(interval_metadata=<140154121000104>, bounds=[(0, 6)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'CDS', 'score': '.', 'strand': '+', 'phase': 0, 'ID': 'CDS1', 'parent': 'transcript1'})
Interval(interval_metadata=<140154121000104>, bounds=[(72, 78)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'CDS', 'score': '.', 'strand': '+', 'phase': 0, 'ID': 'CDS2', 'parent': 'transcript1'})

在代码中的示例中,GFF3和FASTA文件连接在用于读取函数的输入字符串中。也许这能解决这个问题。另外,我不能100%确定如何使用返回的间隔来提取特征。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38301880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档