Wgcna R Tutorial

Wgcna R Tutorial

7 min read Jun 18, 2024
Wgcna R Tutorial

Tutorial WGCNA di R: Panduan Langkah demi Langkah untuk Analisis Jaringan Gen

Pendahuluan

Analisis jaringan gen, atau Weighted Gene Co-Expression Network Analysis (WGCNA), adalah teknik yang kuat untuk mengungkap hubungan kompleks antara gen dalam suatu set data ekspresi gen. WGCNA membangun jaringan gen berdasarkan korelasi ekspresi gen, yang memungkinkan kita mengidentifikasi modul gen yang berkorelasi dengan sifat atau kondisi tertentu.

R adalah bahasa pemrograman yang populer untuk analisis data dan bioinformatika, dan berbagai paket R tersedia untuk menjalankan analisis WGCNA.

Langkah-langkah untuk Melakukan Analisis WGCNA di R

Berikut adalah langkah-langkah yang terlibat dalam menjalankan analisis WGCNA menggunakan paket WGCNA di R:

  1. Instal dan Muat Paket WGCNA

    Pertama, Anda perlu menginstal dan memuat paket WGCNA di R:

    install.packages("WGCNA")
    library(WGCNA)
    
  2. Memuat Data Ekspresi Gen

    Muat data ekspresi gen Anda ke dalam R sebagai matriks atau data frame. Data harus memiliki baris yang mewakili gen dan kolom yang mewakili sampel.

    data <- read.csv("gene_expression_data.csv", row.names = 1)
    
  3. Pembersihan dan Pra-Pemrosesan Data

    Sebelum menjalankan analisis WGCNA, penting untuk membersihkan dan memproses data Anda. Ini termasuk:

    • Menghapus gen yang hilang: Hapus gen yang memiliki terlalu banyak nilai yang hilang.
    • Normalisasi data: Normalkan data Anda untuk memastikan semua gen memiliki skala yang sama.
    • Transformasi data: Anda mungkin perlu mentransformasikan data Anda, misalnya, dengan menggunakan transformasi logaritma, untuk menstabilkan varians.
    # Hapus gen dengan nilai yang hilang
    data <- data[rowSums(is.na(data)) < ncol(data) * 0.1, ]
    
    # Normalisasi data
    data <- normalize.quantiles(data)
    
    # Transformasi data
    data <- log2(data + 1)
    
  4. Membangun Matriks Korelasi

    Hitung matriks korelasi antara semua pasangan gen menggunakan metode pilihan Anda. WGCNA biasanya menggunakan korelasi Pearson.

    corMatrix <- cor(data, method = "pearson")
    
  5. Membangun Jaringan Gen

    Untuk membangun jaringan gen, WGCNA menggunakan konsep soft thresholding. Soft thresholding membantu mengoptimalkan pembobotan korelasi untuk menghasilkan jaringan scale-free. Ini berarti bahwa sebagian besar node (gen) dalam jaringan memiliki jumlah koneksi yang serupa, sementara beberapa node memiliki jumlah koneksi yang sangat tinggi.

    # Tentukan rentang daya untuk _soft thresholding_
    powers <- c(1:20)
    
    # Hitung metrik _scale-free topology_ untuk setiap daya
    sft <- pickSoftThreshold(corMatrix, powerVector = powers, verbose = 5)
    
    # Plot metrik _scale-free topology_
    plot(sft$fitIndices[, 1], -sign(sft$fitIndices[, 2])*sft$fitIndices[, 2],
    xlab = "Soft Threshold (Power)", ylab = "Scale Free Topology Model Fit, Signed R^2",
    type = "n", main = "Scale independence")
    text(sft$fitIndices[, 1], -sign(sft$fitIndices[, 2])*sft$fitIndices[, 2],
    labels = powers, cex = 0.8, col = "red")
    abline(h = 0.90, col = "blue")
    
    # Pilih nilai daya yang optimal berdasarkan plot
    power <- sft$powerEstimate
    
  6. Membangun Modul Gen

    WGCNA menggunakan algoritma hierarchical clustering untuk mengidentifikasi modul gen dalam jaringan gen. Modul gen adalah kelompok gen yang saling berkorelasi tinggi.

    # Bangun matriks kedekatan berdasarkan matriks korelasi
    TOM <- TOMsimilarity(corMatrix^power)
    
    # Hitung jarak disimilaritas
    dissTOM <- 1-TOM
    
    # Lakukan _hierarchical clustering_ pada jarak disimilaritas
    geneTree <- hclust(as.dist(dissTOM), method = "average")
    
    # Plot dendrogram _hierarchical clustering_
    plot(geneTree, main = "Gene Clustering", sub = "Tree based on dissimilarity of gene expression")
    
    # Potong dendrogram untuk mengidentifikasi modul gen
    minModuleSize <- 30
    dynamicMods <- cutreeDynamic(dendro = geneTree, distM = dissTOM,
    deepSplit = 2, pamRespectsDendro = FALSE,
    minClusterSize = minModuleSize)
    
    # Tampilkan modul gen pada dendrogram
    dynamicColors <- labels2colors(dynamicMods)
    plotDendroAndColors(geneTree, dynamicColors,
    "Dynamic Tree Cut", dendroLabels = FALSE, hang = 0.03,
    addGuide = TRUE, guideHang = 0.05)
    
  7. Analisis Modul Gen

    Setelah modul gen diidentifikasi, Anda dapat menganalisis sifat-sifat mereka. Ini termasuk:

    • Menghitung ukuran modul: Menghitung jumlah gen dalam setiap modul.
    • Mengidentifikasi hub gene: Mengidentifikasi gen yang paling terhubung dalam setiap modul.
    • Menghubungkan modul gen dengan sifat atau kondisi: Menyelidiki korelasi antara modul gen dan sifat atau kondisi yang menarik.
    # Hitung ukuran modul
    moduleSizes <- table(dynamicColors)
    
    # Identifikasi _hub gene_
    MEs <- moduleEigengenes(data, colors = dynamicColors)
    MEs <- MEs$eigengenes
    
    # Hubungkan modul gen dengan sifat atau kondisi
    trait <- read.csv("trait_data.csv")
    correlations <- cor(MEs, trait)
    
  8. Visualisasi Hasil

    Visualisasikan hasil Anda untuk mempermudah interpretasi. Ini termasuk:

    • Plot dendrogram hierarchical clustering: Plot dendrogram untuk menunjukkan hubungan antara gen.
    • Plot jaringan gen: Plot jaringan gen untuk menunjukkan hubungan antara gen dalam modul.
    • Plot heatmap: Plot heatmap untuk menunjukkan korelasi antara modul gen dan sifat atau kondisi.

Kesimpulan

WGCNA adalah alat yang kuat untuk mengungkap hubungan kompleks antara gen dalam set data ekspresi gen. Dengan mengikuti langkah-langkah yang diuraikan dalam tutorial ini, Anda dapat menggunakan WGCNA di R untuk mengidentifikasi modul gen, menganalisis sifat-sifat mereka, dan menemukan hub gene yang terlibat dalam sifat atau kondisi tertentu.