首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Biopython Genbank.Record :试图理解源代码

Biopython Genbank.Record :试图理解源代码
EN

Stack Overflow用户
提问于 2019-02-20 22:11:30
回答 1查看 82关注 0票数 1

我正在编写一个csv读取器来生成Genbank文件来捕获带有序列的注释。

首先,我使用了Bio.SeqRecord并获得了正确的格式化输出,但是SeqRecord类缺少我需要的字段。

块引号特性位置/限定符 HCDR1 27.35 HCDR2 50.. HCDR3 99..109

我切换到了Bio.GenBank.Record,并且有了所需的字段,除了现在注释格式是错误的。它不能有额外的类型:“位置:”和“限定符:”文本和信息都应该放在一行上。

块引号特性位置/限定符 类型: HCDR1 地点: 26:35 限定词: 类型: HCDR2 地点: 49:66 限定词: 类型: HCDR3 地点: 98:109 限定词:

对于这两个版本,提取注释的代码是相同的。只有班次变了。

代码语言:javascript
复制
# Read csv entries and create a container with the data
        container = Record()
        container.locus = row['Sample']
        container.size = len(row['Seq'])
        container.residue_type="PROTEIN"
        container.data_file_division="PRI"
        container.date = (datetime.date.today().strftime("%d-%b-%Y")) # today's date 
        container.definition = row['FullCloneName']
        container.accession = [row['Vgene'],row['HCDR3']]
        container.version = getpass.getuser()
        container.keywords = [row['ProjectName']]
        container.source = "test"
        container.organism = "Homo Sapiens"
        container.sequence = row['Seq']

        annotations = []
        CDRS = ["HCDR1", "HCDR2", "HCDR3"]
        for CDR in CDRS:
            start = row['Seq'].find(row[CDR])
            end = start + len(row[CDR])
            feature = SeqFeature(FeatureLocation(start=start, end=end), type=CDR)
            container.features.append(feature)

我看过Bio.Genbank.Record的源代码,但不明白为什么SeqFeature类的格式输出与Bio.SeqRecord不同。

是否有一个优雅的修补程序,或者我是否编写了一个单独的工具来重新格式化Genbank文件中的注释?

EN

回答 1

Stack Overflow用户

发布于 2019-02-21 02:23:48

在再次阅读源代码之后,我发现Bio.Genbank.Record有自己的特性方法,将键和位置作为字符串。这些文件在输出Genbank文件中被正确格式化。

代码语言:javascript
复制
CDRS = ["HCDR1", "HCDR2", "HCDR3"]
        for CDR in CDRS:
            start = row['Seq'].find(row[CDR])
            end = start + len(row[CDR])
            feature = Feature()
            feature.key = "{}".format(CDR)
            feature.location = "{}..{}".format(start, end)
            container.features.append(feature)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54796015

复制
相关文章

相似问题

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