Una delle operazioni più frequenti che faccio durante la giornata è la ricerca e il recupero di sequenze biologiche di interesse. Quindi penso che sia necessario parlarvi di come questo può essere fatto, soprattutto per i principianti, e quindi essere in grado di "giocare" con alcuni geni o proteine ​​recuperati. Ricordo che all'inizio dei miei studi bioinformatici mi divertivo a recuperare le sequenze geniche e fui felicissimo di osservare quella moltitudine di lettere (relative alle basi azotate) che si susseguivano all'interno della sequenza. Insomma, ottenere una sequenza biologica di interesse è una competenza fondamentale per un bioinformatico e con questo articolo spiegherò come farlo.

Partiamo da un semplice presupposto. Le sequenze biologiche di interesse possono essere recuperate ricercando in database generici o database dedicati alla specie in questione oppure utilizzando specifici comandi lanciati da terminale per ottenere la sequenza desiderata da file precedentemente scaricati. Ma facciamo subito alcuni esempi pratici per capire meglio come farlo.

RECUPERA LE SEQUENZE DAL DATABASE

Per quanto riguarda il recupero di una o più sequenze da un database, occorre fare due importanti premesse:

  1. Esistono diversi tipi di database, più o meno specializzati nel recupero di determinate sequenze, ed è possibile trovare in rete database specifici per alcune specie o famiglie come il database di sequenze relativo alla famiglia delle Solanaceae, ovvero Sol Genomics Network.
  2. Per velocizzare e ottimizzare la ricerca nel database è necessario utilizzare alcuni operatori booleani come:
    • AND, consente di collegare due o più stringhe di ricerca. Il suo significato logico può essere inteso come l'intersezione tra due query che ci interessa cercare in modo combinato.
    • OR, consente di cercare un elemento discriminando gli altri quando vengono cercati più elementi alla volta.
    • NOT, consente di cercare tutti gli elementi che non corrispondono a una determinata query. Ha quindi una funzione opposta all'operatore AND.

Ma facciamo alcuni esempi:

Quando vuoi cercare qualcosa in un database, devi sapere in quale database è più facile trovare una particolare sequenza. Mi spiego meglio. Se vuoi cercare una specifica proteina è utile interrogare e poi cercarla nel database UniProt, che è gestito da un consorzio privato, oppure sul database Protein ​​gestito da NCBI, di certo non avrebbe alcun senso cercare per la suddetta proteina nel database Gene. Giusto? O ancora, se la tua intenzione è quella di scaricare il genoma del pomodoro è più facile trovarlo nel database Genome piuttosto che nel database Assembly dove troviamo principalmente informazioni e statistiche relative all'assemblaggio di quel genoma. In breve, il messaggio da portare a casa riguardo alla ricerca di sequenze o dati nei database è:

Cerca ciò di cui hai bisogno nel database giusto per avere più successo nella tua ricerca.

Nessuno infatti uscirà mai a comprare una bistecca dal fruttivendolo e una mela dal macellaio… Capisci cosa intendo?

RECUPERARE LE SEQUENZE DAL FILE UTILIZZANDO I COMANDI ESEGUITI SUL TERMINALE

In alcuni casi troviamo nelle nostre mani un file contenente diverse informazioni e sequenze ma da questo vogliamo ricavare solo alcune informazioni o sequenze. Per fare questo siamo aiutati dai comandi che se eseguiti sul terminale ci permettono di raggiungere facilmente il nostro obiettivo.

Poniamo alcune situazioni ideali per capire meglio come possiamo fare quanto sopra.

  1. Scarichiamo il genoma di Arabidopsis thaliana dal database Phytozome e recuperiamo da questo la sequenza “TGTAGGGATGAAGTCTTTCTTCGTTGT”. Come possiamo farlo? grep può essere usato ma devi tenere presente che grep ti permette di estrapolare solo la sequenza data come query e la riga in cui si trova.

Nel video qui sotto ho mostrato come utilizzare questi tre strumenti:

Riguardo a grep ci sarebbe molto altro da dire ma preferisco non farlo adesso perché mi allontanerei dal vero obiettivo di questo articolo quindi mi limiterò a promettere di parlarne a fondo in un prossimo articolo.

  1. Consideriamo ora un'altra possibile situazione. Diciamo che abbiamo sempre il file del genoma di Arabidopsis thaliana e vogliamo estrapolare l'intero cromosoma 3 da esso. Per fare questo è utile utilizzare lo strumento samtools faidx . Guarda il video qui sotto per capire come:

  1. La situazione presentata al punto 2 è molto frequente nel lavoro di un bioinformatico ma come possiamo derivare più di una sequenza da un dato genoma? Diciamo di avere il set genetico del pomodoro e vogliamo estrapolare da esso tutti i geni che sono coinvolti in qualche modo nella sintesi e nell'attività del rubisco. Nel video qui sotto ti mostro come:
  1. Facciamo un altro esempio di una situazione che può essere abbastanza comune. Dato il genoma di Solanum tuberosum, trova l'impalcatura headers 1 a 3 e quindi estrapolare le sequenze. Per fare ciò è conveniente utilizzare espressioni regolari, guarda come nel video qui sotto:

Anche in questo caso l'uso di espressioni regolari va approfondito quindi, come nel caso di grep, cercherò di parlarne meglio in un articolo dedicato in futuro.

  1. Un'altra situazione molto comune per un bioinformatico. Abbiamo per le nostre “mani” un file vcf (variant calling format) cioè un file che mostra in una matrice, composta da righe e colonne, le varie informazioni (soprattutto posizionali) relative ai polimorfismi tracciati all'interno di un dato genoma. A volte può essere utile estrapolare da questo file solo informazioni specifiche e questo può essere fatto con il comando awk (ne parlerò anche in un articolo a parte per non annoiarvi troppo) o tramite l'uso delle nostre care espressioni regolari. Nel video qui sotto ho mostrato un esempio per awk.
  1. Infine è utile dire che con samtools faidx è anche possibile estrapolare una sequenza da un file fasta grazie alle coordinate di quest'ultimo e quindi alla sua posizione nel genoma considerato dato che questo strumento è in grado di annotare il genoma prima di cercare la sequenza.

Eccoci alla fine di questo articolo. Come sempre, spero di essere riuscito a spiegare concetti complessi nel modo più semplice possibile. Magari fammi sapere con un commento cosa ne pensi dell'articolo o se c'è qualcosa che ritieni debba essere aggiunto o corretto.

Ti auguro una buona giornata. A presto.

Fonte: