Domanda

Come posso recuperare sequenza genomica in modo efficiente utilizzando Python? Ad esempio, da un file .FA o qualche altro formato facilmente ottenuto? Io fondamentalmente voglio una fetch_seq un'interfaccia (cromo, filo, inizio, fine) che restituirà la sequenza [start, end] sulla data cromosoma sul filamento specificato.

Analogamente, c'è un'interfaccia Python programmatico per ottenere punteggi phastCons?

Grazie.

È stato utile?

Soluzione

Vedere la mia risposta alla tua domanda sopra a Biostar:

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

Usa SeqIO con i file Fasta e si otterrà indietro gli oggetti record per ogni voce nel file. Poi si può fare:

region = rec.seq[start:end]

per tirare fuori le fette. La cosa bella di utilizzare una libreria standard è che non devi preoccuparti per le interruzioni di riga nel file FASTA originale.

Altri suggerimenti

Recupero dati di sequenza da file di grandi dimensioni cromosoma umano può essere inefficiente della memoria-saggio, quindi, se siete alla ricerca di efficienza computazionale è possibile formattare i dati della sequenza in una stringa binaria imballato e la ricerca in base alla posizione di byte. Ho scritto routine per fare questo in Perl (disponibile qui ), e Python ha la stessa pacchetto e le routine di unpack - in modo che possa essere fatto, ma solo vale la pena se si sta correndo in a problemi con file di grandi dimensioni su una macchina limitata. In caso contrario, utilizzare Biopython SeqIO

Date un'occhiata a Biopython , che ha il supporto per diversi formati di sequenza del gene. In particolare, ha il supporto per FASTA e file di GenBank , per citarne coppia.

pyfasta è il modulo che stai cercando. Dalla descrizione

veloce, la memoria-efficiente, pythonic (e-riga di comando) l'accesso ai file di sequenza fasta

https://github.com/brentp/pyfasta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top