Domanda:
Come isolare i geni da interi genomi per l'analisi dell'albero filogenetico?
Daniel Harris
2017-07-05 19:20:22 UTC
view on stackexchange narkive permalink

Ho 446 genomi interi di Klebsiella Pneumoniae da cui voglio costruire un albero filogenetico. Dopo aver letto sulla costruzione di alberi filogenetici sembra che l'unica opzione per un gran numero di genomi sia isolare un gene con bassa variabilità di generazione in generazione e utilizzare questo gene per costruire un albero. Ad esempio, Lars Jensen consiglia di utilizzare "16S rRNA [o] tutti i geni codificanti proteine ​​ribosomiali" https://www.biostars.org/p/1930/. Quale programma isola questi geni di interesse dai file fasta dell'intero genoma e può inserirli in un file di allineamento multiplo? O le invia in un formiato pronto per un programma di allineamento multiplo come Muave? Il motivo per cui dico un file di allineamento multiplo è perché questo è il tipo di file che la maggior parte dei programmi di albero filogenetico accetta (ad esempio clonalframe).

Ciao Daniel, sarei cauto nel costruire una filogenesi su sequenze di rRNA 16s poiché la variabilità informativa è essenzialmente nulla. Suggerirei un buon punto di partenza essendo i geni MLST concatenati e lavorare da lì. Hai tutto il genoma sembra sbagliato concentrarsi sul gene meno variabile.
Sì. L'uso di 16S ha senso per specie lontane ma non per quelle strettamente imparentate. è estremamente probabile che non ci sarà quasi nessuna variabilità.
Se non hai ancora annotato i genomi, fallo con Prokka come suggerito in alcune delle altre risposte. Una volta ottenuto ciò, puoi facilmente estrarre le caratteristiche genetiche da un genbank per nome usando biopython, dopo aver identificato alcune sequenze che desideri utilizzare come base per la digitazione della sequenza.
Due risposte:
heathobrien
2017-07-05 19:50:17 UTC
view on stackexchange narkive permalink

Ci sono molti modi per farlo. Suggerisco di utilizzare Prokka / Roary per produrre un allineamento genomico di base. C'è un utile tutorial sul sito web Roary:

  per file in * do prokka --kingdom Bacteria --outdir "$ {file %%. *}" - -genus Listeria --locustag "$ {file %%. *}" "$ file" mv "$ {file %%. *}" / PROKKA_07052017.gff ​​GFF / "$ {file %%. *}". gff # usa l'attuale datato -f Alignment -e -n -v GFF / *. gff  

Alignment / core_gene_alignment.aln può essere usato come input per analisi filogenetiche

Roary è il mio obiettivo, ma non hai voce in capitolo su ciò che viene fuori dall'allineamento. Se vuoi selezionare il tuo contenuto genetico usa blast come ti suggerisco. Concatena l'output e utilizza un software di allineamento.
@terdon ho aggiunto uno snippet di codice per fare l'analisi. Può essere usato per isolare i geni (plurale). Se l'OP vuole solo costruire un albero filogenetico, non è necessario isolare geni specifici. Con quasi 500 genomi di una singola specie è improbabile che mi sia molto risoluta dalle analisi di un singolo gene o da una manciata di geni MLST.
AudileF
2017-07-05 19:54:52 UTC
view on stackexchange narkive permalink

Estrai le sequenze geniche desiderate utilizzando esplosione autonoma

Fornisci semplicemente un database di riferimento con l'output desiderato. Imposta il tuo comando e via. È possibile impostare la ricerca con un ciclo for per un batch di sequenze. Il comando può essere simile a

  per f in * .fasta; do f = $ (basename $ f .fasta) blastn \ -outfmt "6 sseqid qseq%" \ -query $ f.fasta \ -subject reference.fna \ > out / $ f.fasdone  

Guarda l'output mentre l'esplosione sputerà il gene rilevato nel senso + o -. Se vuoi raccogliere solo un senso positivo usa l'opzione -strand . L'output predefinito che ho qui è tab output che richiede alcuni comandi sed per essere trasformato in fasta.

  sed -i \ -e 's / \ s * $ // g' \ -e 's / ^ / > / g' \ -e 's / \ s \ + / \ n / g' \ *. fas 

I server di allineamento online sono un modo semplice per allineare piccoli set di dati ad es EBI

Potrebbe valere la pena ricordare che questo approccio funziona per le specie senza splicing (quindi dovrebbe andare bene per l'OP), ma non è molto utile per gli organismi eucarioti. Inoltre, perché dovresti eseguire più esplosioni in un ciclo come questo? Perché non dare un file di input multifasta per far saltare ed eseguirlo una volta?
Nella mia esperienza il blast out utilizza i nomi dei geni dal riferimento. e non aggiunge il nome del genoma originale. Eseguo alcuni bit di controllo qualità / analisi e quindi combino le sequenze.
Non sono sicuro di quali dovrebbero essere le mie "sequenze geniche desiderate". Qual è la mia domanda?
La tua domanda è: le sequenze genomiche che hai $ f inserirà il nome per ciascuna in un ciclo. le sequenze geniche desiderate saranno nel file di riferimento. Potrebbe trattarsi delle sequenze del gene 16s o MLST. Qualunque cosa tu voglia costruire una filogenesi.
La mia domanda è più come posso trovare quelle sequenze di geni MLST in primo luogo?
Un rapido Google ha portato questo su http://bigsdb.pasteur.fr/klebsiella/klebsiella.html. Dai un'occhiata, di solito c'è un file pieno di geni e alleli. Nella mia esperienza un set (allele) dei 7 geni dovrebbe essere sufficiente.
@DanielHarris prende un gene MLST e lo usa come query per trovare il resto.
@AudileF blast può prendere un file multifasta come una query ei risultati per ogni sequenza nel file di input verranno mostrati in una sezione separata "Query =". I nomi sono effettivamente i nomi presi dal file di input, ma non dovrebbe essere un problema fintanto che sono tutti univoci.
Quindi usa uno di questi geni MLST come da questo link http://bigsdb.pasteur.fr/perl/bigsdb/bigsdb.pl?db=pubmlst_klebsiella_seqdef_public&page=downloadAlleles come query. Due domande ora ... Uso l'intero file locus, ad esempio gapA ha molti> gapA _ # o solo uno> gapA_1? In secondo luogo, come viene utilizzato l'output di blast per costruire un albero filogenetico? L'output di Blast è lontano dal formato di allineamento multiplo, credo.
@terdon deve ammettere che non lo so mai. Funziona nel caso di assiemi di contig?
@DanielHarris 1) usa una copia di ciascuno dei 7 geni. 2) hai ragione, l'output può essere abbastanza confuso. Di solito uso l'opzione `-strand` per raccogliere le sequenze di rilevamento + e -. Dividili per nome taxa. Ordina le sequenze in ogni file per nome. rimuovere le intestazioni e lo spazio fasta. Crea una nuova intestazione fasta del nome del file. Quindi concatenali tutti. Per semplicità potresti usare un server msa online come su ebi. Lunga e confusa. Non sono un esperto biologo computazionale Terdon potrebbe avere un suggerimento migliore.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...