【问题标题】:Biopython Genbank.Record : trying to understand source codeBiopython Genbank.Record : 试图理解源代码
【发布时间】:2019-02-20 22:11:30
【问题描述】:

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

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

块引用 特点 地点/资格赛
HCDR1 27..35
HCDR2 50..66
HCDR3 99..109

我切换到 Bio.GenBank.Record 并拥有所需的字段,但现在注释格式错误。不能有多余的“type:”“location:”和“qualifiers:”文本,信息都应该在一行。

块引用 特点 地点/资格赛
类型:HCDR1
地点:[26:35]
限定词:
类型:HCDR2
地点:[49:66]
限定词:
类型:HCDR3
地点:[98:109]
限定词:

两个版本的拉注代码是一样的。只有班级发生了变化。

# 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 文件中的注释?

【问题讨论】:

    标签: biopython genbank


    【解决方案1】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2014-07-01
      • 1970-01-01
      • 2010-11-20
      • 2014-07-15
      • 2019-08-30
      • 1970-01-01
      • 2012-08-17
      • 2019-02-25
      • 1970-01-01
      相关资源
      最近更新 更多