WORD - BIOINFORMATICA home page

annuncio pubblicitario
Dchip e struttura dei files di output
Esistono oramai una gran quantità di programmi, in gran parte commerciali, per analizzare i risultati
prodotti dai GeneChip Affymetrix; ma per fortuna il free software sta invadendo anche il campo
della ricerca biologica. E sono proprio i ricercatori che programmano e che sviluppano programmi
per le proprie esigenze a rendere questi spesso liberamente disponibili in rete.
Dchip è probabilmente al momento il più completo (anche se non esente da bug) e utilizzato
programma per analizzare i GeneChip Affymetrix in locale, appartenente alla categoria del free
software (e non a quella open source).
Logicamente, quando si sviluppano programmi del genere, bisogna utilizzare algoritmi nuovi e
differenti, sia per migliorare la resa e l’affidabilità dei risultati, sia perché tutto ciò che riguarda il
campo dei software commerciali è brevettato e quindi protetto da licenze.
Modello
Gli autori di questo programma (ricercatori del dipartimento di biostatistica di Harvard) sono partiti
facendo una serie di considerazioni in seguito all’analisi dei risultati prodotti dagli array.
Facendo l’analisi della varianza delle differenze PM – MM su un grosso numero di array
Affymetrix sono giunti alla conclusione che tra gli array la varianza dovuta ad effetti “probe
specifici” è maggiore di quella dovuta agli array. Questa variazione è causata quindi maggiormente
da fattori indipendenti dall’espressione dei geni; ma dipendenti da elementi imputabili alle differenti
cinetiche d’ibridazione caratteristiche delle diverse sequenze che interrogano un unico trascritto.
Non dimentichiamo infatti che ogni Probe Set interroga 1 gene è costituito da 16-20 Probe Pair a
loro volta formati da un Perfect Match (PM) e un MisMatch (MM).
Probe:
oligonucleotide di DNA a singolo filamento disegnato per essere
complementare ad un’unica sequenza. Affymetrix utilizza oligonucleotidi
lunghi fino a 25 basi direttamente sintetizzati sulla superficie dell’array.
Probe Cell:
singolo quadratino dell’array contenente un unico probe. Un singolo Probe
Cell contiene circa 107 molecole dello stesso probe.
Perfect Match:
probe disegnata per essere complementare ad una specifica sequenza del 3’ di
un trascritto.
MisMatch:
probe disegnato per essere complementare ad una sequenza specifica del 3’
di un trascritto eccetto che per una base omomerica in posizione centrale.
Queste servono per valutare le cross-ibridazioni e come controllo negativo.
Probe Pair:
2 Probe Cell, un PM con il corrispondente MM diverso solo per la
tredicesima base. I Probe Pair di un determinato Probe Set sono distribuiti
omogeneamente sulla superficie dell’array.
Probe Set:
set di probe disegnato per interrogare un unico specifico trascritto.
Solitamente un Probe Set consiste di 16-20 Probe Pair.
Target:
cRNA biotinilato antisenso preparato dall’mRNA che deve essere analizzato.
Ogni Probe Pair in un Probe Set quindi interroga una diversa sequenza dello stesso trascritto che
quindi non ibriderà alla stessa maniera per tutti.
Gli autori di Dchip hanno quindi creato un modello per eliminare questo tipo di “rumore nei dati”
chiamato
Model Based Expression indexes
Abbiamo un numero I > 1 di campioni da analizzare e quindi di array.
Assumendo che ogni Probe Set sia costituito da 20 Probe Pair allora per ogni trascritto avremo il
livello d’espressione stimato sulla base di
2 x I x 20 differenti misurazioni dei valori di intensità dei PM e MM.
Il procedimento è basato comunque su un modello che stima come i valori di intensità dei segnali
variano in risposta alle variazioni di espressione.
Indichiamo con i l’indirizzo di espressione nel iesimo campione.
Assumiamo che l’intensità di un probe cresca linearmente con i, ma che la velocità di questa
relazione sia differente per differenti probe.
Assumiamo anche che entro lo stesso Probe Pair la velocità con cui cresce il PM sia maggiore di
quella con cui cresce il MM.
Da questo si ricava il seguente modello:
MMij = vj + ij + ij
PMij = vj + ij + ij + ij
In cui
i
indica l’array
vj
indica l’intensità dovuta ad ibridazioni aspecifiche
j
è la velocità di increase del segnale del MM
j
è l’addizionale velocità di increase del segnale del rispettivo PM

rappresenta un errore generico.
j
indica il Probe Pair
Per semplificare il modello utilizziamo la differenza PM-MM:
yij = PMij – MMij = ij + ij


Model Based Expression Index (MBEI) è caratteristico di 1 esperimento
Probe Sensitivity Index (PSI) è caratteristico di 1 Probe Set
Questo modello è però calcolabile solo se lo costringiamo in qualche modo (in quanto sono presenti
due incognite  e  e noi abbiamo una sola equazione).
Viene quindi posto
j2 = J (numero dei Probe Pair utilizzati nel computo)
ij = 2 (varianza nelle differenze PM – MM)
Perciò in seguito all’acquisizione del segnale per tutti i Probe Cell di tutti gli esperimenti viene
calcolato il valore per  (per ogni array) e  (per ogni Probe Pair) e costruita la curva di yij che
viene confrontata con la reale curva di PM – MM.
In base a alle differenze tra la curva reale e quella creata dal modello il programma tira fuori anche
l’errore standard delle misurazioni che sarà poi utilizzato nel computo degli outlier e della
precisione dei calcoli.
Idealmente  risultante dovrebbe essere indipendente dal tipo cellulare in esame e dal trattamento
subito, ma per avere un risultato veramente affidabile dobbiamo avere un numero alto di
esperimenti e di repliche.
Vediamo adesso come si utilizza il programma:
Come ho detto è gratuito ed è scritto in Visual C++
Questa è la schermata iniziale che registra nel pannello di destra tutte le operazioni che il
programma compie.
A questa si può accedere in qualsiasi momento durante le analisi cliccando “Analysis” nel pannello
di sinistra.
Il programma è in grado di lavorare su immagini provenienti da sistemi Affymetrix sia DAT sia
CEL; è inoltre in grado di lavorare su fogli excel opportunamente organizzati e in ogni caso, dopo
aver caricato un array, produce un proprio file (DCP) simile ai CEL per un accesso più veloce.
Per il momento il numero di array limite che può caricare è 400.
L’analisi del DAT file che opera è uguale a quella svolta dal MAS per la produzione del CEL.
Per inserire i dati quindi basta selezionare il menu “Analysis/Open Group”
La finestra che ci si presenta
Chiede di inserire una serie di informazioni:
Group name: il nome che vogliamo dare al gruppo di array che carichiamo
Data directory:
dobbiamo indicare la cartella in cui sono presenti i file DAT, CEL o DCP
Data file list:
nel caso in cui nella cartella ci sono più esperimenti di quanti dobbiamo
analizzare dobbiamo specificare con un file txt quali vogliamo analizzare
Working dir:
la cartella che utilizzeremo in cui il programma salverà i file .ini che produrrà
Data file:
il tipo dei file che stiamo immettendo
Nel caso in cui le analisi siano già state effettuate bisogna indicare al programma se deve tenere
conto dei risultati già ottenuti (normalizzazione e produzione dei DCP file) o se deve ripetere
l’analisi de novo selezionando le rimanenti 2 chiamate e cliccando su “Use saved setting”.
In “Other information”
Dobbiamo invece specificare essenzialmente:
CDF file:
localizzazione del file CDF (file delle librerie Affymetrix specifico per ogni
array)
Gene information:
localizzazione del file *geneinfo.xls file Excel compilato dagli autori che
contiene informazioni aggiuntive riguardanti Gene Ontology, Gene Bank e
Locus Link per ogni Probe Set quando possibile
A questo punto cliccando su OK il programma inizia a lavorare e a caricare tutti i file.
Alla fine un “array summary.xls” file è generato dal software. Questo contiene il nome dell’array,
l’intensità media e la percentuale dei trascritti presenti
Inoltre nel pannello a sinistra si presenteranno una serie di nuove caratteristiche
Oltre al file Excel c’è l’icona PM/MM Data che è la parte più interessante di tutto il programma
Qui si presentano sei griglie che mostrano i dati di ogni singolo Probe Cell all’interno di un Probe
Set.
N.B.: ci riferiremo alle griglie con la notazione griglia x,y chiamando la prima inalto a destra
griglia 1,1 e l’ultima in basso a destra griglia 2,3.
Ci possiamo muovere all’interno dell’array con i tasti PAGup e PAGdown per cambiare Probe Set e
tra gli array con i tasti HOME e END per cambiare array.
La griglia 2,1 è l’immagine del corrente Probe Set nel corrente array come scritto sopra di essa.
La griglia 1,1 mostra le curve dei dati reali di ibridazione dei PM (blue) e MM (verde) ordinandoli
sull’asse x da 1 a 20 e indicando sull’y le intensità relative ai segnali. Sopra le curve è scritto il
range in cui y varia (in questo caso 0-17281), la call del Probe Set e la percentuale delle call P per
quel Probe Set tra i differenti array caricati. Le linee azzurre inoltre presenti anche nelle griglie 1,2
e 1,3 indicano l’errore standard di .
Probe Pair con grande standard error sono Probe Pair che si comportano in maniera anomala
rispetto agli stessi sugli altri array.
N.B.: con  si tenta di calcolare un pattern per il comportamento di ogni Probe Set cioè la curva
del Model Based Expression Index che dovrebbe essere sempre la stessa indipendentemente dal
livello di espressione del trascritto; cioè i segnali DEVONO cambiare tra differenti esperimenti ma
non l’andamento delle curve.
La griglia 1,2 è la curva risultante dalla differenza PM – MM, con la linea orizzontale che
rappresenta il valore 0.
La griglia 1,3 sovrappone la curva rossa calcolata con l’applicazione del modello alla curva blue
delle differenze PM – MM reali per vedere quanto bene queste sono in accordo e quindi quanto
sono affidabili le rilevazioni fatte.
La curva in grigio rappresenta la differenza tra le 2.
Sopra le curve sono indicati:
%:
una misura statistica per indicare quanto in percentuale le 2 curve sono sovrapponibili.
Arr:
il numero di array considerati outlier, cioè se ci sono array in cui la maggior parte dei Probe
Set si comporta in disaccordo con le curve del modello.
Pro:
il numero di Probe Cell considerati outlier, cioè tutti quei Probe Cell che non “fittano” la
curva su alcun array.
Out:
il numero di singoli Probe Cell di quel set che in un singolo array non “fittano” il valore
corrispondente della curva.
La griglia 2,2 rappresenta lo scatterplot dell’errore standard di  (sulla y) verso i valori di  (sulla
x) calcolati per ogni array.
La griglia 2,3 mostra lo scatterplot dell’errore standard di  (sulla y) verso i valori di  (sulla x)
calcolati per ogni Probe Pair. Qui i pallini in blu rappresentano o Probe Pair provenienti da array
considerati outlier o comunque probe che non vengono utilizzati nel calcolo del modello.
Le icone blu nel pannello a sinistra della chiamata CEL Image attivano la visualizzazione dell’array
selezionato.
Nell’immagine è evidenziato in blue il Probe Set selezionato nella vista PM/MM Data. E’ inoltre
indicato nella barra inferiore: il nome dell’array, il Probe Set selezionato con il numero di Probe
Pair e la call, le coordinate e il segnale del punto in cui è posizionato il cursore al momento e se
l’array è stato normalizzato e modellato.
E’ possibile ingrandire l’immagine con i tasti FRECCIA.
Se non sono disponibili file DAT, CEL o DCP è possibile inserire file dati in formato Excel
opportunamente organizzati
Le colonne della “call” e dell’“errore standard” sono opzionali e vanno specificate all’inserimento.
N.B.: se si inizia l’analisi con l’immissione delle tabelle non è possibile visualizzare le immagini
degli array, ne le griglie PM/MM Data.
Adesso è possibile specificare un Array List File selezionando dal menu “Tools/ Array List File”
Gli array da usare vanno selezionati nella griglia di sinistra e aggiunti cliccando su “Add array” in
quella di destra. Questo è molto comodo nel caso in cui ci sono replicati o esperimenti che hanno
subito gli stessi trattamenti ecc. e noi vogliamo pullarli insieme nell’analisi.
Basta infatti passarli tutti a destra separandoli dai successivi con un “separator” adeguato.
Se introduciamo il separatore di replica otterremo in seguito all’analisi un’unica serie di valori per
tutti gli array del gruppo che saranno le medie pesate dei singoli valori.
Il separatore di standardizzazione fa invece si che gli array all’interno del gruppo siano trattati
anche qui come un singolo esperimento questa volta con media 0 e deviazione standard 1.
Per inserire i dati in tabella selezionare nel menu “Analysis/ Get External Data”
Inserire il percorso dei file e le caratteristiche richieste, ovvero se il file contiene call e standard
error.
Le tabelle devono avere nella prima riga i nomi degli array, nella prima colonna i nomi dei Probe
Set e non devono contenere ulteriori informazioni sui geni quindi bisogna eliminare tutte le colonne
che contengono descrizioni sui geni.
A questo punto si può iniziare ad analizzare gli esperimenti.
Per prima cosa i dati vanno normalizzati
dChip, come abbiamo visto è in grado di analizzare fino a 400 array contemporaneamente al
contrario del MAS che lavora su 2 array per volta.
La normalizzazione funziona in questo modo:
Il programma sceglie l’array (baseline) con un’intensità media più vicina alla media del gruppo, e
contro questo normalizza i rimanenti array (esperimenti).
Il metodo di normalizzazione utilizzato è chiamato Invariant Set Normalization Method. Questo
sceglie un subset di PM che sono più o meno costanti tra i due array e sulla base di questi costruisce
di normalizzazione su cui normalizzerà il resto della baseline.
Farà questo per ogni array da normalizzare.
E’ possibile, se sul computer è installato il pacchetto R e opportuni tool, visualizzare il grafico di
normalizzazione
In questo plot sulla x c’è l’array da normalizzare, sulla y la baseline, i puntini neri rappresentano i
PM e i MM degli array e quelli cerchiati in rosso sono i PM scelti dal programma come invariant
set.
Finalmente la linea verde è la curva scelta dal software per normalizzare l’array.
La linea blu è la diagonale x = y.
Il valore normalizzato di un probe sull’asse x è dato dal valore y corrispondente sulla curva verde.
Per normalizzare selezionare dal menu “Analysis/ Normalize”
Di default viene mostrato l’array con intensità media all’interno del gruppo (scritta in parentesi
quadre) contro il quale verranno normalizzati tutti gli altri; ma questo può anche essere cambiato
dall’utente.
Model Based Expression
I valori di model based expression della griglia 2,2 vengono calcolati al volo; ma per conservarli e
salvarli per tutti i Probe Set bisogna selezionare il menu “Analysis/Model-based Expression”
Di default nessuna opzione è selezionata.
Selezionare “Ignore Esisting...” per ricalcolare il modello invece di leggere le informazioni esistenti
all’interno del DCP.
Selezionare “Use Average Difference...” Per utilizzare i valori di espressione prodotti dal MAS
invece di calcolare il modello.
Inoltre si può scegliere di troncare o trasformare in logaritmo i valori di espressione.
Valori di espressione piccoli o negativi possono essere troncati a un valore fisso (0) o ad una
percentuale del valore a cui si trovano solitamente i geni chiamati Assenti tra gli array. Questo è
comodo se non vogliamo utilizzare successivamente i valori dell’ errore standard per filtrare.
Il concetto del Probe Sensitivity index è un po’ più complesso.
Nel caso in cui si dispone di un discreto numero di esperimenti (almeno 10 senza problemi di
ibridazione o di superfice del vetrino) tali da tirar fuori un PSI attendibile per ogni Probe Set è
possibile salvare questi in un file per poterlo riutilizzare nelle successive analisi fatte con altri array
o esperimenti.
Selezionando poi “Export” è possibile scegliere quali analisi esportare e il nome del file Excel di
output in cui queste saranno esportate.
Bisogna selezionare i nomi degli esperimenti da esportare con “Ctrl+click”, selezionare se si vuole
in output anche la call e lostandard error e se le informazioni sui geni (che di default sono piazzate
nella seconda colonna dell’output) si vogliono nell’ultima colonna.
Cliccando su OK si avvia l’analisi
Comparazione tra campioni
Un’altra analisi di alto livello performata da dChip è l’analisi di comparazione.
Dati 2 campioni o 2 gruppi di campioni è possibili identificare i geni che sono differenzialmente
espressi.
N.B.: se vengono utilizzati + campioni per ogni gruppo i valori utilizzati nelle analisi saranno la
media dei valori di ogni gruppo.
E’ anche possibile utilizzare una serie di criteri per filtrare i risultati sulla base di considerazioni
statistiche per tirare fuori i geni maggiormente interessanti.
Selezionare dal menu “Analisys/ Compare Samples”
In questa finestra vanno selezionati gli esperimenti che si vogliono comparare come esperimento e
baseline e in più i parametri di filtraggio per far si che il software tiri fuori, in seguito alle analisi,
solo i geni che li esaudiscono.
Il criterio (1) richiede che il fold change del gene superi un certo valore e si possono utilizzare
indipendentemente quello della baseline/esperimento e viceversa.
Inoltre possiamo chiedere al programma di calcolare l’intervallo di confidenza in cui il valore del
fold change calcolato è compreso al 90%, selezionando “Use lower 90%...”.
In questo modo la tabella di output conterrà gli estremi dell’intervallo.
Il calcolo di questo è eseguito utilizzando l’errore standard dei valori di espressione.
Viene cioè eseguito il test 2 sul calcolo del fold change.
Il test 2 è un test statistico che viene applicato per misurare la discrepanza tra i dati misurati e i dati
attesi da calcoli fatti a priori.
Per fare ciò gli autori hanno considerato
’b = k(b + SE2 b)
e
’e = k(e + SE2 e)
con ’b e ’e che rappresentano i valori di  misurati e b e e i valori di  calcolati dal modello.
Una volta determinati i valori osservati e i valori attesi risulta poi semplice applicare il test ad ogni
Probe Set
Il criterio di filtraggio (2) riguarda la differenza tra i due set, cioè si decide di far passare solo quei
geni la cui differenza di segnale va oltre un certo valore.
Il criterio di filtraggio (3) lascia passare solo i geni il cui valore di espressione è differente tra quello
dei 2 gruppi con una incertezza massima permessa dal valore che inseriremo nel quadratino.
Il test usato per il calcolo dell’incertezza è il t-test.
Il criterio di filtraggio (4) lascia passare solo quei geni che risultano presenti in almeno la
percentuale degli array specificata.
Il criterio di filtraggio (5) è uguale al (3); ma nel caso in cui abbiamo caricato più array per gruppo
esegue il t-test per ogni singolo array.
La diversa combinazione di questi parametri ci aiuta a tirare fuori dai dati un piccolo set di geni
altamente significativi.
E’ inoltre possibile combinare tra loro diverse comparazioni mediante l’utilizzo degli operatori
logici AND, OR, AND NOT, OR NOT aumentando così ancora ulteriormente le possibilità di
assortimento nella scelta del filtraggio. Questo tipo di filtraggio risulta, a mio avviso, anche
estremamente nel momento in cui abbiamo più di 2 gruppi di esperimenti da comparare, ad esempio
un time course.
Ci sono un bel po’ di altre cose che dChip può fare come clustering, ulteriori tipi di filtraggio ecc.;
ma penso che per questo corso sia meglio fermarci qui.
Ciò che volevo mostrarvi è che esistono diversi tipi di analisi e di algoritmi da utilizzare e ognuno
utilizza una determinata teoria o legge e necessariamente NESSUNO è migliore di un altro in
assoluto.
Bisogna però conoscerne il più possibile e possibilmente a fondo per poter fare la scelta giusta
e…………. la pubblicazione su Cell.
Scarica