prova.esameIA201112 - Home di homes.di.unimi.it

annuncio pubblicitario
Progetto software d'esame per il corso di Informatica Avanzata 2011-12
Analisi monovariata della variazione di espressione .
Il progetto ha l'obiettivo di individuare all'interno di una popolazione specifica, quei campioni (array)
caratterizzati da variazioni significative dell'espressione di un insieme predefinito di geni. L'analisi
e' monovariata, cioe' ogni gene viene trattato separatamente.
Il progetto si articola in 3 parti:
1. Statistiche d'ordine per la ricerca di campioni caratterizzati da variazione d'espressione di geni
specifici.
Dato un insieme di microarray con un numero predeterminato di geni, utilizzare statistiche d'ordine
(mediane, quartili) per individiduare, per ogni gene considerato, quali campioni hanno livello di
espressione superiore o inferiore alla mediana, superiore al III quartile o inferiore al I quartile.
Progettare ed implemetare una funzione R con le seguenti caratteristiche:
Ingresso: una matrice M le cui n righe corrispondono ai campioni e le cui m colonne ai livelli di espressione
di m geni. Il numero delle righe o colonne non e' predeterminato.
Uscita: Una lista con due elementi:
a. Una tabella (data frame) OrderStat con un numero di righe n pari a quello della matrice M e nello
stesso ordine e avente gli stessi nomi della righe di M (se la matrice M e' una named matrix) e con un
numero di colonne m*2 (m e' il numero di colonne di M).
Per ogni gene g la tabella OrderStat prevede due colonne. La prima riporta se il gene g ha un livello
di espressione superiore (H) o inferiore (L) rispetto alla mediana per ogni campione. La seconda riporta
se il gene g ha un livello di espressione inferiore al primo quartile (L), superiore al III quartile
(H) o intermedio fra il I e III quartile (I).
La codifica di questa informazioni si puo' scegliere liberamente purche' sia chiaramente descritta nella
documentazione. Si consiglia inoltre inoltre di associare nomi anche alle colonne di OrderStat.
b. Una named matrix Summary le cui m righe corrispondono ai geni e le cui colonne riportino le seguenti
statistiche: minimo, I quartile, mediana, III quartile, massimo.
2. Z-test per la ricerca di campioni caratterizzati da variazioni di espressione significative di geni
specifici.
Ipotizzando per ogni gene una distribuzione normale dei livelli di espressione, individuare tramitez-test
per quali campioni il livello di espressione differisce significativamente dalla media della popolazione.
Progettare ed implementare una funzione R con le seguenti caratteristiche:
Ingresso:
- una matrice M le cui n righe corrispondono ai campioni e le cui m colonne ai livelli di espressione
di m geni. Il numero delle righe o colonne non e' predeterminato.
- alpha: livello di significativita' (varia fra 0 e 1).
- type: tre valori possibili: "upper", "lower", "two-sided":
“upper”: lt test seleziona i campioni la cui variazione di espressione e' significativamente superiore
rispetto alla media della popolazione a livello di significativita' alpha
“lower”: seleziona i campioni la cui variazione di espressione e' significativamente inferiore rispetto
alla media della popolazione a livello di significativita' alpha
“two-sided”: seleziona i campioni la cui variazione di espressione e' significativamente superiore
o inferiore rispetto alla media della popolazione a livello di significativita' alpha
- SE.corr: valore logico. Se TRUE il calcolo degli z-score va effettuato nel modo standard, cioe'
considerando lo standard error. Se SE.corr=FALSE, la deviazione standard NON viene divisa per la radice
quadrata di n (numero di righe della matrice M), cioe' si divide semplicemente per la deviazione standard.
Uscita: una matrice Res con un numero di righe pari al numero n dei campioni ed un numero di colonne
m pari al numero dei geni della matrice di ingresso M.
Se il gene j del campione i e' significativamente espresso (in accordo con i parametri alpha e type),
allora Res[i,j] = 1, altrimenti Res[i,j] = 0.
Suggerimenti: progettare una funzione z.test che implementi uno z-test applicato ad un singolo gene
arbitrario. Scrivere poi una funzione multiple.z.test che applichi z.test alle colonne della matrice
M (ad es: con un ciclo for o con un apply). Per implementare la funzione z.test e' utile la funzione
pnorm del package stats (v. documentazione).
3. Analisi del data set ALL (Acute Lymphoblastic Leukemia) .
Dal dataset ALL (v. package ALL di Bioconductor) che contiene i dati di 128 pazienti (ahime' bambini)
affetti da leucemia linfoblastica acuta, estrarre gli 81 probeset Affymetrix elencati nel file
AffyID-ALL.txt nella directory http://homes.dsi.unimi.it/~valenti/esameIA201112. Dal data set ALL
dovete cioe' estrarre i dati di espressione (una matrice) relativi ai soli probeset elencati nel file
AffyID-ALL.txt.
Applicare le funzioni sviluppate ai punti 1 e 2 a tale matrice . In particolare per la funzione implementata
al punto 2, provare ad applicare diversi valori di alpha, e cosiderare "upper", "lower" e "two-sided"
z-test. Si ottengono risultati differenti settando SE.corr a TRUE o FALSE? Se la risposta e' affermativa,
spiegare perche'. Vengono selezionati gli stessi campioni dalla funzione implementate al punto 1 ed al
punto 2? Se riuscite, cercate di interpretare i risultati ottenuti.
4. Scrivere un report sintetico che illustri i metodi implementati ai punti 1 e 2 ed i risultati ottenuti
al punto 3. Il codice va commentato: il codice di ogni funzione deve essere preceduto da commenti che
spieghino sinteticamente a cosa serve la funzione stessa, il tipo ed il significato di ogni argomento
di ingresso, il tipo ed il significato dell'output della funzione.
Scarica