Crandore Hub

XYomics

Analysis of Sex Differences in Omics Data for Complex Diseases

Tools to analyze sex differences in omics data for complex diseases. It includes functions for differential expression analysis using the 'limma' method <doi:10.1093/nar/gkv007>, interaction testing between sex and disease, pathway enrichment with 'clusterProfiler' <doi:10.1089/omi.2011.0118>, and gene regulatory network (GRN) construction and analysis using 'igraph'. The package enables a reproducible workflow from raw data processing to biological interpretation.

README

# XYomics - R package for the analysis of condition-specific sex differences in omics data

## Table of contents
- [Introduction](#introduction)
- [Content](#content)
- [Data](#data)
- [Requirements](#requirements)
- [License](#license)
- [Instructions](#instructions)

## Introduction

This R package provides tools for analyzing condition-specific molecular sex differences in omics data. It enables identification of sex-specific, sex-dimorphic, and sex-modulated genes through differential expression and interaction analyses, accompanied by pathway enrichment and gene regulatory network analysis capabilities.

## Downloads

### Package File

You can download the latest version of the XYomics package here:

- [XYomics_0.1.1.tar.gz](https://gitlab.com/uniluxembourg/lcsb/bds/xyomics/-/raw/main/XYomics_0.1.1.tar.gz)

### Checksum

MD5 Checksum: `2c1bba2aa8291e4edfbb0e50c86b52a4`

## Content

Five main analysis modules (+ dedicated implementations for single-cell data analysis):

1.  **Differential Expression Analysis**: Identifies sex-specific and sex-dimorphic genes across conditions in bulk and single-cell data.

2.  **Sex Interaction Analysis**: Detects sex-modulated genes through interaction analysis in bulk and single-cell data.

3.  **Pathway Enrichment Analysis**: Performs pathway analysis on sex-biased gene sets for bulk and single-cell data.

4.  **Gene Regulatory Network (GRN) Analysis**: Constructs and analyzes condition-specific gene regulatory networks for single-cell data.

5.  **Plotting and Reporting Functions**: Generates visualizations and comprehensive analysis reports.

## Data

Includes example datasets and supports various omics data types (RNA-seq, microarray, proteomics). Input data should be formatted as described in the vignettes.

## Example output
 Please find below the vignettes for the XYomics R-packages:

- Vignette for sex-dependent analysis of bulk RNA-seq data: [XYomics_bulk_example](https://gitlab.com/uniluxembourg/lcsb/bds/xyomics/-/blob/main/xyomics/vignettes/XYomics_bulk_example.Rmd)
- Vignette for sex-dependent analysis of single-cell RNA-seq data: [XYomics_sc_example](https://gitlab.com/uniluxembourg/lcsb/bds/xyomics/-/blob/main/xyomics/vignettes/XYomics_sc_example.Rmd)

## Requirements

Required R version: ≥ 4.2.0

Key dependencies:

- **Bioconductor:** DESeq2, limma, edgeR, clusterProfiler, org.Hs.eg.db, ReactomePA  
- **CRAN:** ggplot2, dplyr, igraph  

## License

MIT License

## Instructions

### Install from GitLab

- For Ubuntu users, please install the following dependencies before running the installation script:
```
apt-get install libcurl-dev libcurl4-openssl-dev libudunits2-dev libgdal-dev libharfbuzz-dev libfribidi-dev libharfbuzz-dev libfribidi-dev
```

#### 1. Install the dependencies:

```{r}
install_XYpackages <- function() {
  # Helper to check which packages are not installed
  not_installed <- function(pkgs) {
    setdiff(pkgs, rownames(installed.packages()))
  }
  # Ensure BiocManager is installed
  if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
  }
  # Install Bioconductor packages
  bioc_pkgs <- c("clusterProfiler", "org.Hs.eg.db", "ReactomePA", "topGO", "edgeR", "DESeq2")
  to_install <- not_installed(bioc_pkgs)
  if (length(to_install) > 0) {
    BiocManager::install(to_install, update = FALSE, ask = FALSE)
    message(paste(to_install, collapse = ", "), " packages added...")
  }
  # Install CRAN helper packages
  cran_pkgs <- c("devtools", "remotes", "DT", "kableExtra")
  to_install_cran <- not_installed(cran_pkgs)
  if (length(to_install_cran) > 0) {
    install.packages(to_install_cran)
  }
  if (!requireNamespace("sf", quietly = TRUE)) {
    os_type <- Sys.info()[["sysname"]]
    message("Installing 'sf' package...")

    if (os_type == "Darwin") {
      # macOS
      install.packages("sf", type = "binary")
    } else if (os_type == "Linux" || os_type == "Windows") {
      # Linux or Windows
      install.packages("sf", type = "source")
    } else {
      warning("Unknown OS. Please install 'sf' manually.")
    }
  }
  # Install GitHub packages if missing
  github_pkgs <- list(
    PCSF = "IOR-Bioinformatics/PCSF",
    multienrichjam = "jmw86069/multienrichjam"
  )
  for (pkg in names(github_pkgs)) {
    if (pkg %in% not_installed(pkg)) {
      remotes::install_github(github_pkgs[[pkg]], upgrade = "never")
    }
  }
  # Message if nothing was added
  if (length(to_install) == 0 && length(to_install_cran) == 0 &&
      all(!names(github_pkgs) %in% not_installed(names(github_pkgs)))) {
    message("No new packages added...")
  }
}

install_XYpackages()
```
Install from GitLab:

    devtools::install_url("https://gitlab.com/uniluxembourg/lcsb/bds/xyomics/-/raw/main/XYomics_0.1.1.tar.gz")

Install from Local Download:
1. Download the package file: [XYomics_0.1.1.tar.gz](https://gitlab.com/uniluxembourg/lcsb/bds/xyomics/-/raw/main/XYomics_0.1.1.tar.gz)
2. Install using R:
   
   install.packages("path/to/XYomics_0.1.1.tar.gz", repos = NULL, type = "source")

The package installation is tested on the following operating systems 
- Windows 11
- MAC OS 
- Ubuntu 20.4

Versions across snapshots

VersionRepositoryFileSize
0.1.3 rolling linux/jammy R-4.5 XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 rolling linux/noble R-4.5 XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 rolling source/ R- XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 latest linux/jammy R-4.5 XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 latest linux/noble R-4.5 XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 latest source/ R- XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 2026-04-26 source/ R- XYomics_0.1.3.tar.gz 1.7 MiB
0.1.3 2026-04-23 source/ R- XYomics_0.1.3.tar.gz 1.7 MiB

Dependencies (latest)

Imports

LinkingTo

Suggests