Microarray Data Analysis for Beginners: From Raw Data to Gene Expression Insights

Dr. Omics Edu Team ·

Introduction

Understanding how genes behave under different biological conditions is a major goal of modern molecular biology. Researchers investigate gene expression to understand disease mechanisms, identify potential biomarkers, study drug responses, and explore how cells respond to environmental changes. One technology that has contributed significantly to these investigations is the gene expression microarray.

A microarray allows researchers to measure the expression levels of thousands of genes simultaneously by detecting labelled nucleic acids that hybridize to probes on a solid surface. Although RNA sequencing has become widely used for transcriptomic research, microarray technology remains relevant for analysing existing datasets, comparing biological conditions, and investigating previously generated gene expression profiles.

However, raw microarray data cannot be interpreted directly without appropriate preprocessing, quality assessment, normalization, statistical analysis, and biological interpretation. This is where microarray data analysis and bioinformatics play an essential role.

For beginners, understanding the complete workflow—from raw data files to meaningful gene expression insights—is an important step toward developing practical transcriptomics skills. This microarray bioinformatics tutorial explains the major stages of microarray analysis, commonly used tools, normalization methods, differential expression analysis, and biological interpretation, with particular attention to Affymetrix platforms.

1. What Is Gene Expression Microarray Technology?

A gene expression microarray is a technology used to measure the relative expression of many genes in a biological sample. It consists of thousands of probes designed to detect specific RNA-derived sequences.

The general process begins with RNA extraction from samples such as tissues, cultured cells, or blood. The RNA is converted into labelled complementary DNA (cDNA) or complementary RNA (cRNA), depending on the platform and protocol. The labelled material is then hybridized to the microarray, washed, scanned, and converted into numerical intensity measurements.

The resulting data represent the strength of hybridization signals associated with individual probes or probe sets. These measurements provide information about gene expression, subject to platform characteristics, background signal, cross-hybridization, and other technical factors.

For example, a researcher might compare gene expression between healthy tissue and cancer tissue. If a particular gene consistently shows higher expression in cancer samples, it may be a candidate for further investigation. However, the difference must be evaluated statistically and interpreted in the context of the experimental design.

Common Microarray Platforms

Several microarray platforms have been used in gene expression research.

Affymetrix microarrays: These platforms use predefined probe sets to measure transcript abundance. Depending on the platform, raw data may be stored in CEL files and processed using methods such as Robust Multi-array Average (RMA).

Illumina expression microarrays: These platforms use probe-based detection and have their own data formats, annotation resources, and preprocessing procedures.

Agilent microarrays: These platforms use probe-based hybridization and commonly produce intensity data that require platform-specific quality assessment and normalization.

The correct analysis workflow depends on the platform, raw data format, array design, and experimental setup. Researchers should not apply the same preprocessing method to every microarray dataset without checking its technical characteristics.

2. Understanding Raw Microarray Data

Before beginning microarray data analysis, it is important to understand what the input files contain.

For Affymetrix gene expression arrays, the CEL file is a common raw data format. It contains measurements associated with the array's individual probe features. Multiple CEL files typically represent multiple biological samples.

For example, a study might contain:

  • Five healthy control samples.
  • Five disease samples.
  • One CEL file for each sample.

These files contain raw probe-level intensity measurements rather than a final table of gene expression values. Preprocessing is required to estimate expression levels, reduce technical variation, and make samples suitable for downstream comparisons.

Other studies may provide processed expression matrices, supplementary files, or normalized data rather than raw intensity files. Before analysing any dataset, researchers should review the study metadata and determine whether the data have already undergone preprocessing.

Why Is Metadata Important?

Metadata describes the biological and technical characteristics of each sample. It may include treatment group, disease status, tissue type, age category, batch, or other experimental variables.

A sample information table might contain the following fields:

  • Sample identifier.
  • Biological condition.
  • Experimental batch.
  • Tissue or cell type.
  • Relevant clinical or experimental characteristics.

Incorrectly matching samples to their conditions can lead to invalid conclusions. Therefore, sample identifiers and metadata must be checked carefully before normalization or statistical analysis.

3. Step-by-Step Microarray Data Analysis Workflow

A standard microarray workflow includes raw data inspection, preprocessing, normalization, probe annotation, differential expression analysis, visualization, and biological interpretation.

Step 1: Download and Organize the Dataset

Researchers can obtain publicly available microarray datasets from resources such as the NCBI Gene Expression Omnibus (GEO).

When selecting a dataset, examine its research objective, sample size, platform, experimental conditions, and available supplementary files.

For an Affymetrix dataset, download the raw CEL files when available, along with the sample metadata and platform annotation information. Organize the files so that each raw data file can be matched to the correct biological sample.

The first objective is to create a clear record of which samples belong to which experimental groups.

Step 2: Perform Quality Control

Quality control helps identify technical problems before performing statistical analysis. Poor-quality arrays can introduce misleading differences or reduce the reliability of downstream results.

Depending on the platform and available files, quality assessment may examine:

  • Overall intensity distributions.
  • Background signal and signal saturation.
  • Array image artifacts.
  • Spatial patterns across the array.
  • RNA degradation indicators where supported.
  • Relationships between samples and possible outliers.

For Affymetrix arrays, tools such as affy, oligo, and arrayQualityMetrics in R/Bioconductor can support different aspects of quality assessment, depending on the platform.

Boxplots and density plots are commonly used to compare signal distributions across samples. Principal component analysis (PCA) can also help reveal sample clustering, batch effects, or unusual profiles.

An outlier should not be removed automatically simply because it appears different. Researchers should investigate the underlying technical and biological evidence before deciding whether a sample should be excluded.

Step 3: Apply Microarray Normalization Methods

Normalization is a critical stage in microarray analysis. It aims to reduce systematic technical differences between arrays so that measured expression levels can be compared more reliably.

Technical variation can arise from differences in sample processing, labelling, hybridization, scanning, and other experimental factors. Without appropriate normalization, these differences may be mistaken for biological effects.

Several microarray normalization methods are used, depending on the platform and study design.

Robust Multi-array Average (RMA): RMA is widely used for suitable Affymetrix expression arrays. It combines background adjustment, quantile normalization, and probe-set summarization, typically producing log2-scale expression estimates.

Quantile normalization: This method adjusts sample intensity distributions to have the same empirical distribution. It is commonly used in microarray workflows and is part of the traditional RMA procedure.

MAS5: Affymetrix Microarray Suite 5.0 provides a different approach to background correction, normalization, and summarization. It can also generate detection calls under suitable workflows.

Variance stabilizing methods: Certain transformations are designed to stabilize variance across the intensity range. Their appropriateness depends on the platform, data characteristics, and intended analysis.

The choice of normalization method matters. For example, RMA is appropriate for many Affymetrix expression arrays but should not be applied blindly to every array platform or data type.

Normalization also cannot correct every experimental problem. If treatment groups are completely confounded with batch, computational normalization alone may not reliably separate biological and technical effects.

Step 4: Perform Probe Annotation

Microarray platforms measure probe-level signals, but researchers generally want to understand expression at the gene level.

Probe annotation connects probe identifiers or probe-set identifiers to biological information such as gene symbols, gene names, and relevant database accessions.

Affymetrix annotation resources and Bioconductor annotation packages can support this step. Depending on the platform, updated annotations may be available through resources such as Ensembl or manufacturer documentation.

Annotation requires care because multiple probes may map to the same gene, some probes may map ambiguously, and older probes may no longer correspond to current gene annotations.

Researchers should retain the original probe identifiers and document how probe sets are mapped or summarized. This makes the analysis more transparent and reproducible.

4. Affymetrix Data Analysis Using R

R and Bioconductor provide widely used tools for microarray preprocessing and statistical analysis. The following example illustrates the general structure of an Affymetrix workflow using raw CEL files.

The exact commands and package choices depend on the array platform. In particular, the oligo package supports many newer Affymetrix array designs, while the affy package supports several traditional Affymetrix expression array formats. Always confirm that the package and platform-specific annotation are compatible with your data.

Step 1: Install the Required Packages

In R programming, install Bioconductor and the required packages if they are not already available.

if (!requireNamespace("BiocManager", quietly = TRUE)) {

    install.packages("BiocManager")

}

 

BiocManager::install(c(

    "oligo",

    "arrayQualityMetrics",

    "limma"

))

For an older Affymetrix platform supported by affy, install that package and use the corresponding platform-specific workflow instead.

Package installation may require an internet connection and compatible versions of R and Bioconductor.

Step 2: Load Raw CEL Files

Place the CEL files in a single directory and set the working directory to that location.

library(oligo)

 

cel_files <- list.celfiles(

    path = "CEL_files",

    full.names = TRUE

)

 

length(cel_files)

The list.celfiles() function identifies CEL files in the specified directory. The length() function reports how many files were found.

For example, if the directory contains ten CEL files, the output will be:

[1] 10

This is a simple but important check. If the number of files is unexpected, inspect the directory and confirm that all required samples are present.

Step 3: Read and Normalize the Data

For an array design supported by oligo, the preprocessing workflow may look like this:

raw_data <- read.celfiles(cel_files)

 

normalized_data <- rma(raw_data)

 

expression_matrix <- exprs(normalized_data)

 

dim(expression_matrix)

Here:

  • read.celfiles() reads the raw CEL files.
  • rma() applies the RMA preprocessing workflow supported for the array design.
  • exprs() extracts the resulting expression matrix.
  • dim() reports the number of rows and columns.

The rows generally represent probe sets or features, while the columns represent samples. The exact row interpretation depends on the platform and preprocessing object.

A successful workflow should produce a matrix with expression estimates for the samples. The data are typically on a log2 scale following RMA.

Important: These commands are not universally interchangeable across all Affymetrix arrays. For traditional 3′ expression arrays supported by affy, the corresponding functions and array-specific annotation may differ. Consult the platform documentation before processing the dataset.

Step 4: Visualize the Normalized Expression Data

A boxplot provides a quick way to inspect expression distributions after preprocessing.

boxplot(

    expression_matrix,

    las = 2,

    main = "Normalized Microarray Expression",

    ylab = "Log2 Expression",

    col = "lightblue"

)

The boxplot() function displays the distribution of expression values for each sample.

  • las = 2 rotates the sample labels for readability.
  • main specifies the plot title.
  • ylab labels the y-axis.
  • col sets the boxplot colour.

After successful normalization, the distributions are often more comparable across arrays. However, similar boxplots do not prove that every technical issue has been resolved. Additional quality assessment is still necessary.

5. Differential Gene Expression Analysis

After preprocessing and quality assessment, researchers can identify genes whose expression differs between biological conditions.

Differential expression analysis estimates the magnitude of expression differences and evaluates whether the observed differences are supported by statistical evidence.

For microarray data, the limma package is commonly used. It fits linear models to expression values and uses empirical Bayes methods to moderate variance estimates across genes.

Suppose a study compares control and disease samples. The analysis may identify genes that are more highly expressed in disease samples and genes that are less highly expressed.

A typical workflow includes:

  1. Define the experimental groups.
  2. Construct a design matrix.
  3. Fit gene-wise linear models.
  4. Specify the comparison of interest.
  5. Apply empirical Bayes moderation.
  6. Adjust p-values for multiple testing.
  7. Examine effect sizes and biological relevance.

An example using a normalized expression matrix is shown below.

library(limma)

 

group <- factor(c(

    "Control", "Control", "Control",

    "Disease", "Disease", "Disease"

))

 

design <- model.matrix(~ 0 + group)

 

colnames(design) <- levels(group)

 

fit <- lmFit(expression_matrix, design)

 

contrast_matrix <- makeContrasts(

    Disease - Control,

    levels = design

)

 

fit2 <- contrasts.fit(

    fit,

    contrast_matrix

)

 

fit2 <- eBayes(fit2)

 

results <- topTable(

    fit2,

    number = Inf,

    adjust.method = "BH"

)

 

head(results)

This example assumes that the expression matrix has six columns in exactly the order specified in group: three control samples followed by three disease samples. In a real project, the group vector must be constructed from the actual sample metadata and matched to the expression matrix columns.

The lmFit() function fits the linear models. makeContrasts() defines the comparison, and eBayes() moderates the variance estimates. topTable() returns the ranked results, including statistics such as log-fold change, p-value, and adjusted p-value.

The Benjamini–Hochberg procedure controls the false discovery rate under its applicable assumptions and is commonly used when testing many genes simultaneously.

Researchers should interpret adjusted p-values together with effect sizes, sample size, experimental design, and biological context. A statistically significant result does not automatically indicate a biologically important gene.

6. Visualizing Gene Expression Insights

Visualization makes microarray results easier to understand and communicate. Different plots help answer different analytical questions.

Volcano Plot

A volcano plot displays the relationship between expression change and statistical significance. The x-axis typically represents log2 fold change, while the y-axis represents the negative logarithm of the p-value or adjusted p-value.

Genes with larger absolute expression changes and stronger statistical evidence appear farther from the centre and higher on the plot.

Volcano plots are useful for identifying candidate genes for further investigation, but the thresholds used to highlight genes should be selected and documented appropriately.

Heatmap

A heatmap represents expression patterns across genes and samples using colours. It can help reveal clusters of samples with similar expression profiles and groups of genes that show related patterns.

Before generating a heatmap, researchers may select genes based on statistical criteria and standardize expression values across genes for visualization. Such standardization should be clearly distinguished from the normalized expression values used for statistical testing.

Principal Component Analysis

PCA reduces a large set of expression measurements into a smaller number of dimensions that capture major sources of variation.

It can help researchers determine whether samples cluster by biological condition or whether technical factors, such as batch, may influence the data. PCA is exploratory and does not independently establish the cause of observed differences.

Together, these visualization methods provide complementary perspectives on microarray data and can help identify patterns requiring further investigation.

7. Functional Enrichment and Biological Interpretation

A list of differentially expressed genes is a starting point, not the final outcome of a microarray study. Researchers must investigate what the genes may reveal about the biological processes under study.

Functional enrichment analysis evaluates whether a set of genes is overrepresented in biological categories compared with an appropriate background gene set.

Common areas of investigation include:

  • Gene Ontology biological processes.
  • Molecular functions and cellular components.
  • KEGG pathway associations.
  • Disease-related gene sets.
  • Signalling pathways and cellular responses.

In R, packages such as clusterProfiler can support enrichment analyses when suitable gene identifiers and annotation resources are available.

For example, if genes associated with inflammation are enriched among genes showing increased expression in a disease group, this may support a hypothesis involving inflammatory processes. However, enrichment results depend on the quality of the gene list, identifier mapping, background selection, and multiple-testing correction.

Researchers should also consider the limitations of the microarray platform. Genes that were not represented adequately by its probes cannot be reliably assessed using that dataset.

Functional enrichment is therefore best treated as a method for generating and prioritizing biological hypotheses rather than proving that a pathway is active.

8. Common Challenges in Microarray Data Analysis

Beginners may encounter several difficulties while learning microarray analysis.

Incorrect platform selection: Applying an incompatible preprocessing package can produce errors or inappropriate results. Always identify the array design before selecting a workflow.

Poor sample annotation: Incorrectly matching sample identifiers to biological conditions can invalidate differential expression results.

Batch effects: Technical differences between processing batches may influence expression profiles. Experimental design and appropriate modelling are essential, and completely confounded batches may not be statistically separable from biological conditions.

Multiple testing: Testing thousands of genes creates a substantial risk of false-positive findings. Adjusted p-values and effect sizes should be considered rather than relying on unadjusted p-values alone.

Outdated gene annotations: Older microarray platforms may use probe sets that no longer map cleanly to current gene annotations.

Overinterpreting results: Differential expression and enrichment analyses identify statistical associations. They do not, on their own, establish causation or confirm a molecular mechanism.

Understanding these challenges helps researchers design more reliable studies and produce results that can be reproduced and independently assessed.

9. Microarray Analysis Versus RNA-seq

Microarrays and RNA sequencing are both used for transcriptomic research, but they measure gene expression differently.

Microarrays rely on hybridization to predefined probes, whereas RNA-seq sequences RNA-derived fragments and measures expression using sequencing reads. RNA-seq can provide broader transcript discovery, depending on the experimental design and sequencing strategy, while microarrays are limited to the sequences represented by their probes.

Microarray analysis remains useful for reanalysing historical datasets, comparing results across compatible studies, and working with existing experimental resources. RNA-seq is often preferred for new experiments requiring broader transcript coverage, although the best choice depends on the scientific objective, budget, sample requirements, and analysis plan.

Researchers should not directly combine raw microarray intensities and RNA-seq counts as though they were measured on the same scale. Cross-platform comparisons require appropriate study design and specialized integration methods.

Conclusion

Microarray technology remains an important resource for understanding gene expression and investigating biological differences between experimental conditions. By following a structured workflow, researchers can transform raw intensity measurements into interpretable expression profiles and identify genes associated with disease, treatment responses, or other biological processes.

A reliable microarray data analysis workflow includes dataset selection, metadata validation, quality control, platform-appropriate normalization, probe annotation, differential expression analysis, visualization, and functional interpretation. Each stage contributes to the quality and reproducibility of the final findings.

Understanding microarray normalization methods is particularly important because systematic technical variation can affect comparisons between samples. For Affymetrix datasets, RMA is widely used for compatible expression arrays, while other platforms may require different preprocessing strategies. Statistical methods such as those provided by limma can then help identify genes showing evidence of differential expression, with appropriate adjustment for multiple testing.

For students and aspiring bioinformaticians, this microarray bioinformatics tutorial provides a foundation for learning transcriptomic analysis and working with public gene expression datasets. Practical experience with R, Bioconductor, annotation resources, and biological interpretation can strengthen both research skills and professional portfolios.

Ultimately, successful microarray analysis involves more than running software. Researchers must understand the experimental design, select appropriate methods, validate their assumptions, and interpret findings cautiously. By combining computational skills with biological reasoning, beginners can develop the expertise needed to extract meaningful gene expression insights from microarray data.

 


WhatsApp