Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Giovanni Paolella » 5.Package e interfacce per la gestione di sequenze


Biotecnologie cellulari e molecolari

Package e interfacce per la gestione di sequenze

Prof. Giovanni Paolella

Dott. Leandra Sepe

Manipolazione di sequenze

I programmi utilizzati in bioinformatica sono molti, e variano per funzione e tipo di esecuzione. Nel solo ambito dei programmi di manipolazione di sequenze, esempi di semplici operazioni di uso comune sono:

  • Editing di sequenze, calcolo della sequenza complementare
  • Frequenza di parole (word) di più nucleotidi, frequenza dei codon
  • Traduzione
  • Visualizzazione grafica di Open Reading Frames (ORFs)
  • Ricerca di pattern, ricerca di siti di restrizione

Complemento

Il calcolo della sequenza del filamento complementare viene effettuato applicando la nota regola di appaiamento delle basi, per cui A è convertita in T, C in G, G in C, T in A. Inoltre, per rispettare la polarità dei filamenti, la sequenza è invertita in modo da risultare scritta in direzione 5′-3′.


Frequenza delle parole

Gruppi di più nucleotidi vengono definiti word (parole). La determinazione della frequenza relativa di word di 2, 3 o più nucleotidi permette a volte di dare una grossolana valutazione sull’origine e funzione di una sequenza; ad esempio, nell’ambito di sequenze genomiche umane, quelle ricche in AT, TA, AA etc, sono spesso non codificanti, mentre quelle in cui prevalgono le parole contenenti C e/o G sono spesso codificanti. Sequenze ricche in CG potrebbero indicare la presenza di isole CpG.

Il calcolo viene semplicemente effettuato determinando la frequenza di ciascuna parola. E’ utile confrontare i valori ottenuti con quelli attesi. Ad esempio, in figura, la frequenza attesa è 0,0625 (6.25%) per parole di due nucleotidi e se tutti i nucleotidi sono ugualmente rappresentati. Valori maggiori indicano una sovrarappresentazione, come per le word AA e TG in figura.


Esecuzione di programmi

L’esecuzione dei programmi può avvenire in modalità differenti, che dipendono dalle scelte dell’utilizzatore e dalle caratteristiche del programma. Ad esempio:

  • Programmi con interfaccia grafica per esecuzione locale possono essere installati ed eseguiti direttamente sul personal computer (PC) dell’utente (in alto in figura) In questo caso i dati in ingresso vengono processati e i risultati rappresentati sullo schermo.
  • Programmi con requisiti specifici che risiedono su macchine remote (server), possono ugualmente essere utilizzati attraverso il PC dell’utente trasferendo attraverso la rete i dati dalla macchina dell’utente a quella su cui il programma risiede, e facendo ritornare allo stesso modo i risultati dopo l’esecuzione.

Esecuzione remota di programmi

L’esecuzione remota permette di eseguire anche programmi che non possono essere eseguiti sulla macchina locale. Esempi sono programmi di difficile installazione, che richiedono un diverso sistema operativo o che hanno bisogno di accedere a collezioni di dati e risorse hardware non disponibili sulla macchina dell’utente. L’esecuzione remota amplia quindi notevolmente il panorama delle operazioni che è possibile eseguire e permette ad utenti diversi di accedere, anche contemporaneamente, alle stesse risorse di calcolo, indipendentemente dalle caratteristiche hardware e dal sistema operativo disponibile sulla macchina locale. In questo modo risulta più facile anche la gestione dei programmi, che devono essere installati e tenuti in funzione su una sola macchina.


Interfacce a linea di comando

Molti programmi sono stati sviluppati in ambiente Unix, un sistema operativo molto usato in ambito scientifico, e che prevede tipicamente l’accesso ai programmi attraverso un’interfaccia a linea di comando. Un esempio di esecuzione di tale tipo di programma è rappresentato in prima figura. La stringa:

/bioprogs/emboss/bin/transeq -sequence myseq -frame 1 -outseq my_seq.out

significa esegui il comando transeq sulla sequenza myseq traducendo il frame 1 e mettendo il risultato nel file my_seq.out.

Questo tipo di interfaccia può essere utilizzata per eseguire programmi sia direttamente sulla macchina su cui sono installati, che su un server remoto, e permette anche l’esecuzione in modalità interattiva: nella seconda figura è riportata la stessa esecuzione della prima figura, ma questa volta il programma fa richieste per la sequenza, il frame e il file di output .

L’interfaccia a linea di comando risulta però di non facile apprendimento, e richiede comunque la conoscenza degli specifici comandi necessari all’esecuzione.


Interfacce web

La diffusione delle tecniche necessarie al world wide web, ha promosso lo sviluppo di interfacce grafiche che utilizzano browser come Internet Explorer o Firefox per effettuare il dialogo con l’utente ed eseguire i programmi in maniera remota, senza richiedere all’utente la conoscenza dei comandi come nell’interfaccia a linea di comando. Nelle figure sono rappresentati esempi di utilizzazione dello stesso programma, Translate, attraverso due diverse interfacce web, PISE (A) e CAPRI (B), sviluppata localmente e utilizzata anche per le esercitazioni nell’ambito del presente corso. Altri esempi sono le interfacce disponibili presso i siti web di EBI (C) e NCBI (D) per l’esecuzione del programma Blast.


Packages

I programmi sviluppati in ambiente unix seguono la filosofia di effettuare una singola operazione anche se con un gran numero di modalità differenti. Per questo motivo più programmi che complessivamente svolgono operazioni diverse ma finalizzate ad un obiettivo comune, sono riuniti in package. I programmi di uno stesso package rimangono separati, ma tipicamente utilizzano nei comandi una sintassi simile e permettono di scambiare dati con facilità.

Esempi di package che contengono programmi per analisi di sequenza sono:

  • GCG sviluppato originariamente dal Genetics Computer Group della university of Wisconsin e poi divenuto un prodotto commerciale
  • Staden sviluppato presso l’ MRC di Cambridge, UK, nel corso dei primi progetti di sequenziamento
  • Emboss sviluppato all’ EBI nell’ambito di un progetto open source

EMBOSS

Emboss è stato sviluppato per rispondere alle esigenze tipiche della comunità scientifica in ambito di biologia molecolare. E’ costituito da un gran numero di programmi originali, sviluppati nell’ambito del progetto, ma integra anche diversi programmi generati separatamente e di uso comune. Le aree di interesse sono piuttosto ampie e sono riportate nella prima figura. Nell’ambito del package, i vari programmi sono organizzati in gruppi omogenei per funzione, come indicato nella seconda figura.


Emboss: nucleic composition

Il gruppo definito nucleic composition (A) è costituito da programmi che analizzano la composizione in basi di una sequenza e fanno predizioni su questa base.

Programmi come wordcount (B) e compseq (C) permettono di determinare le frequenze di parole costituite da due, tre o più nucleotidi, mentre programmi come banana e btwisted sono usati per predire vari aspetti della topologia di sequenze di DNA. Dan può essere utilizzato per la stima della temperatura di melting.


Emboss: nucleic translation

La traduzione di sequenze nucleotidiche in proteine può essere effettuata con diverse modalità attraverso il gruppo chiamato nuclei translation, ad esempio:

  • Traduzione contemporanea in più frame di lettura (sixpack)
  • Rappresentazione grafica di Open Reading Frames (plotorf)
  • Estrazione delle sequenze proteiche tradotte a partire dalle ORF presenti nella sequenza nucleotidica (getorf)
  • Traduzione inversa (backtranseq)
  • Rappresentazione, in diversi formati per la pubblicazione, della sequenza tradotta assieme a quella nucleotidica, anche evidenziando siti di restrizione e altre caratteristiche.
Nucleic translationsixpack
Sixpack
Plotorf
Getorf

Emboss: nucleic restriction

Il gruppo nucleic restriction contiene programmi utili alla ricerca di siti di restrizione come ad esempio:

  • restrict che esegue la ricerca di siti di restrizione in una sequenza;
  • remap e showseq utili alla rappresentazione della sequenza insieme ai siti di restrizione e altre caratteristiche;
  • redata e restover che permettono di ricercare enzimi di restrizione sulla base delle caratteristiche del sito di taglio (sequenza, overhang);
  • recoder e silent che consentono di progettare mutazioni che rimuovomo o introducono siti di restrizione in una sequenza nucleotidica senza modificare la sequenza proteica codificata.

Emboss: display

Di questo gruppo fanno parte programmi capaci di rappresentare sequenze e altri dati in forma grafica di qualità adatta alla pubblicazione. Esempi sono:

  • showseq, prettyseq e remap per la rappresnetazione di sequenza nucleotidiche unitamente ad altre caratteristiche;
  • cirdna e lindna per la rappresentazione di sequenze sotto forma di mappe grafiche circolari e lineari;
  • showalign e prettyplot per la rappresentazione di allineamenti;
  • pepwheel e pepnet per la rappresentazione schematica di proteine mettendo in evidenza aspetti strutturali.

Gruppo display
Cirdna
Lindna

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion