我正在编写一个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文件中的注释?
答案 0 :(得分: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)