1

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

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

Blockquote 特点 位置/限定符
HCDR1 27..35
HCDR2 50..66
HCDR3 99..109

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

Blockquote 功能 位置/限定符
类型: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 文件中的注释?

4

1 回答 1

0

再次阅读源代码后,我发现 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)
于 2019-02-21T02:23:48.633 回答