Вывести позиции генов из файла GenBank
Можно ли вывести местоположение гена для функции 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'])
будет выводить:
местоположение = <1,206
местоположение = 687..3158
для этого образца файла GenBank.
Эта функциональность возможна в BioPython (см. Эту ветку), где я могу выводить уже проанализированные позиции (например, start = 687, end = 3158).
Спасибо!
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 добавлен в ветки разработки.