Эффективно привлекать геномную последовательность в Python?

StackOverflow https://stackoverflow.com/questions/3191774

Вопрос

Как я могу эффективно получить геномную последовательность с помощью Python? Например, из файла .fa или какого -либо другого легко полученного формата? Я в основном хочу интерфейс fetch_seq (Chrom, Strand, Start, End), который вернет последовательность [Start, End] на данной хромосоме на указанной цепи.

Аналогично, есть ли программный интерфейс Python для получения баллов PhastCons?

Благодарю.

Это было полезно?

Решение

Смотрите мой ответ на ваш вопрос на BioStar:

http://biostar.stackexchange.com/questions/1639/getting-genomic-sesecences-and-phastcons-s-suning-python-from-ensembl-ucsc

Используйте Seqio с файлами FASTA, и вы вернете объекты записи для каждого элемента в файле. Тогда вы можете сделать:

region = rec.seq[start:end]

вытащить кусочки. Хорошая вещь об использовании стандартной библиотеки заключается в том, что вам не нужно беспокоиться о разрывах линии в оригинальном файле FASTA.

Другие советы

Получение данных последовательности из крупных хромосомных файлов человека может быть неэффективным по памяти, поэтому, если вы ищете вычислительную эффективность, вы можете отформатировать данные последовательности в упакованную двоичную строку и поиск на основе байта. Я написал процедуры, чтобы сделать это в Perl (доступно здесь ), а у Python есть то же самое упаковать и распаковывать процедуры - Так что это можно сделать, но того стоит, только если вы прибегаете к неприятностям с большими файлами на ограниченной машине. В противном случае используйте биопитон seqio

Взгляни на биопитон, который поддерживает несколько форматов последовательности генов. В частности, он поддерживает Файлы Fasta и Genbank, чтобы назвать пару.

Пиаста это модуль, который вы ищете. Из описания

Быстрый, эффективный память, питонический (и командная) доступ к файлам последовательности FASTA

https://github.com/brentp/pyfasta

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top