Limma
Limma (ang. Linear Models for Microarray Data) – zestaw metod statystycznych oraz oprogramowanie służące do analizy danych uzyskiwanych w technikach wysokoprzepustowych, takich jak mikroarray czy RNA‑seq. Nazwa wywodzi się od angielskiego słowa limma, będącego skrótem od linear models for microarray analysis. Paket R udostępnia go jako pakiet limma.
Definicja
Limma obejmuje szereg technik opartych na modelach liniowych, które pozwalają na:
- Normalizację i przetwarzanie surowych danych pomiarowych.
- Estymację wariancji przy użyciu metody empirycznej Bayesa.
- Testy statystyczne dla różnic w ekspresji genów pomiędzy grupami eksperymentalnymi.
- Wykrywanie i korygowanie efektów technicznych (batch effects) przy pomocy funkcji
removeBatchEffect.
Historia
Pierwsza wersja limmy została udostępniona w 2003 roku przez zespół pod kierownictwem Gordona Smitha z Harvard University. Od tego czasu pakiet jest regularnie rozwijany i obecnie jest integralną częścią Bioconductor – otwartego repozytorium oprogramowania bioinformatycznego.
Zastosowania
Limma znalazła szerokie zastosowanie w różnych dziedzinach:
- Medycynie – identyfikacja biomarkerów oraz badanie reakcji organizmu na leki.
- Biologii molekularnej – analiza zmian w ekspresji genów w odpowiedzi na czynniki stresowe.
- Ekologii – badanie wpływu warunków środowiskowych na profil transkryptomiczny organizmów.
- Onkologii – klasyfikacja nowotworów na podstawie ich podpisów genetycznych.
Metodologia
Podstawowym elementem limmy jest dopasowanie modelu liniowego do każdego genu oddzielnie:
fit <- lmFit(exprSet, design)
fit <- eBayes(fit)
Gdzie:
exprSet – macierz intensywności sygnału (geny w wierszach, próbki w kolumnach).
design – macierz projektu określająca grupy eksperymentalne.
- Funkcja
eBayes wprowadza empiryczną estymację wariancji, co zwiększa moc statystyczną przy małej liczbie replik.
Oprogramowanie
Pakiet limma jest dostępny w środowisku R oraz jako część platformy Bioconductor. Do najważniejszych funkcji należą:
lmFit – dopasowanie modelu liniowego.
contrasts.fit – definiowanie kontrastów pomiędzy grupami.
eBayes – empiryczna korekta wariancji.
topTable – generowanie tabeli najważniejszych genów.
voom – przekształcenie danych z RNA‑seq do postaci umożliwiającej użycie metod limmy.
Przykładowa analiza
Poniżej przedstawiono fragment kodu ilustrującego typowy przepływ pracy w limma:
# wczytanie danych
library(limma)
exprSet <- read.table("dane.txt", header=TRUE, row.names=1)
# projekt eksperymentalny
grupy <- factor(c("kontrola","kontrola","kartka","kartka"))
design <- model.matrix(~0+grupy)
colnames(design) <- levels(grupy)
# dopasowanie modelu i korekta Bayesa
fit <- lmFit(exprSet, design)
fit2 <- contrasts.fit(fit, makeContrasts(kartka-kontrola, levels=design))
fit2 <- eBayes(fit2)
# wyświetlenie wyników
topTable(fit2, adjust="BH", number=10)
Bibliografia
- Smyth, G. K. (2004). Linear models and empirical Bayes methods for assessing differential expression in microarray experiments. Statistical Applications in Genetics and Molecular Biology, 3(1).
- Ritchie, M. E. et al. (2015). limma powers differential expression analyses for RNA‑sequencing and microarray studies. Nucleic Acids Research, 43(7).
- Bioconductor Project – strona główna (dokumentacja pakietu limma).
Limma stała się jednym z najczęściej cytowanych narzędzi w bioinformatyce, a jej metoda empirycznej estymacji wariancji wyznaczyła nowe standardy w analizie danych genetycznych.
Limma (ang. Linear Models for Microarray Data) – zestaw metod statystycznych oraz oprogramowanie służące do analizy danych uzyskiwanych w technikach wysokoprzepustowych, takich jak mikroarray czy RNA‑seq. Nazwa wywodzi się od angielskiego słowa limma, będącego skrótem od linear models for microarray analysis. Paket R udostępnia go jako pakiet limma.
Definicja
Limma obejmuje szereg technik opartych na modelach liniowych, które pozwalają na:
- Normalizację i przetwarzanie surowych danych pomiarowych.
- Estymację wariancji przy użyciu metody empirycznej Bayesa.
- Testy statystyczne dla różnic w ekspresji genów pomiędzy grupami eksperymentalnymi.
- Wykrywanie i korygowanie efektów technicznych (batch effects) przy pomocy funkcji
removeBatchEffect.
Historia
Pierwsza wersja limmy została udostępniona w 2003 roku przez zespół pod kierownictwem Gordona Smitha z Harvard University. Od tego czasu pakiet jest regularnie rozwijany i obecnie jest integralną częścią Bioconductor – otwartego repozytorium oprogramowania bioinformatycznego.
Zastosowania
Limma znalazła szerokie zastosowanie w różnych dziedzinach:
- Medycynie – identyfikacja biomarkerów oraz badanie reakcji organizmu na leki.
- Biologii molekularnej – analiza zmian w ekspresji genów w odpowiedzi na czynniki stresowe.
- Ekologii – badanie wpływu warunków środowiskowych na profil transkryptomiczny organizmów.
- Onkologii – klasyfikacja nowotworów na podstawie ich podpisów genetycznych.
Metodologia
Podstawowym elementem limmy jest dopasowanie modelu liniowego do każdego genu oddzielnie:
fit <- lmFit(exprSet, design)
fit <- eBayes(fit)
Gdzie:
exprSet– macierz intensywności sygnału (geny w wierszach, próbki w kolumnach).design– macierz projektu określająca grupy eksperymentalne.- Funkcja
eBayeswprowadza empiryczną estymację wariancji, co zwiększa moc statystyczną przy małej liczbie replik.
Oprogramowanie
Pakiet limma jest dostępny w środowisku R oraz jako część platformy Bioconductor. Do najważniejszych funkcji należą:
lmFit– dopasowanie modelu liniowego.contrasts.fit– definiowanie kontrastów pomiędzy grupami.eBayes– empiryczna korekta wariancji.topTable– generowanie tabeli najważniejszych genów.voom– przekształcenie danych z RNA‑seq do postaci umożliwiającej użycie metod limmy.
Przykładowa analiza
Poniżej przedstawiono fragment kodu ilustrującego typowy przepływ pracy w limma:
# wczytanie danych
library(limma)
exprSet <- read.table("dane.txt", header=TRUE, row.names=1)
# projekt eksperymentalny
grupy <- factor(c("kontrola","kontrola","kartka","kartka"))
design <- model.matrix(~0+grupy)
colnames(design) <- levels(grupy)
# dopasowanie modelu i korekta Bayesa
fit <- lmFit(exprSet, design)
fit2 <- contrasts.fit(fit, makeContrasts(kartka-kontrola, levels=design))
fit2 <- eBayes(fit2)
# wyświetlenie wyników
topTable(fit2, adjust="BH", number=10)
Bibliografia
- Smyth, G. K. (2004). Linear models and empirical Bayes methods for assessing differential expression in microarray experiments. Statistical Applications in Genetics and Molecular Biology, 3(1).
- Ritchie, M. E. et al. (2015). limma powers differential expression analyses for RNA‑sequencing and microarray studies. Nucleic Acids Research, 43(7).
- Bioconductor Project – strona główna (dokumentacja pakietu limma).
Limma stała się jednym z najczęściej cytowanych narzędzi w bioinformatyce, a jej metoda empirycznej estymacji wariancji wyznaczyła nowe standardy w analizie danych genetycznych.