Pregunta

¿Cómo puedo ir a buscar la secuencia genómica de manera eficiente usando Python? Por ejemplo, a partir de un archivo .fa o algún otro formato fácilmente obtenido? Básicamente quiero un fetch_seq interfaz (chrom, filamento, inicio, fin) que devolverá la secuencia [principio, fin] en el cromosoma dado en la cadena especificada.

De forma análoga, no es una interfaz de programación Python para obtener las puntuaciones phastCons?

gracias.

¿Fue útil?

Solución

Ver mi respuesta a su pregunta sobre Biostar en:

http://biostar.stackexchange.com/questions/1639/getting-genomic-sequences-and-phastcons-scores-using-python-from-ensembl-ucsc

Uso SeqIO con archivos FASTA y que pondremos en objetos de registro para cada elemento en el archivo. A continuación, puede hacer:

region = rec.seq[start:end]

para sacar rodajas. Lo bueno de usar una biblioteca estándar es que usted no tiene que preocuparse por los saltos de línea en el archivo original, FASTA.

Otros consejos

Recuperación de datos de secuencias de archivos de gran tamaño humano de cromosomas puede ser ineficiente en cuanto a la memoria, por lo que si usted está buscando la eficiencia computacional puede dar formato a los datos de la secuencia de una cadena binaria para llevar y las operaciones de búsqueda basado en la ubicación de bytes. Escribí rutinas para hacer esto en Perl (disponible aquí ), y Python tiene el mismo paquete y rutinas de desempaquetado - por lo que se puede hacer, pero sólo vale la pena si se está ejecutando en problemas con archivos de gran tamaño en una máquina limitada. De lo contrario usar Biopython SeqIO

Tome un vistazo a Biopython , que tiene soporte para varios formatos de secuencias de genes. En concreto, se tiene soporte para FASTA y GenBank archivos , por nombrar Pareja.

pyfasta es el módulo que está buscando. A partir de la descripción

acceso rápido y eficaz memoria, Pythonic (y de línea de comandos) a los archivos de secuencias FASTA

https://github.com/brentp/pyfasta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top