Вывести позиции генов из файла 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 добавлен в ветки разработки.

Другие вопросы по тегам