是否可以输出CDS功能的基因位置,或者我是否需要解析位置'或者'补充'我自己?
例如,
seq = Sequence.read(genbank_fp, format='genbank')
for feature in seq.metadata['FEATURES']:
if feature['type_'] == 'CDS':
if 'location' in feature:
print 'location = ', feature['location']
elif 'complement' in feature:
print 'location = ', feature['complement']
else:
raise ValueError('positions for gene %s not found' % feature['protein_id'])
会输出:
location =< 1..206
location = 687..3158
用于this样本GenBank文件。
BioPython中可以使用此功能(参见this thread),我可以输出已经解析的位置(例如,start = 687,end = 3158)。
谢谢!
答案 0 :(得分:1)
对于该示例,您可以使用以下代码仅获取该功能的Sequence
对象:
# column index in positional metadata
col = feature['index_']
loc = seq.positional_metadata[col]
feature_seq = seq[loc]
# if the feature is on reverse strand
if feature['rc_']:
feature_seq = feature_seq.reverse_complement()
注意:GenBank解析器是在开发分支中新添加的。