Skip to content

arnold117/omics-ae-gnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Autoencoder and Graph Neural Networks for Multi-Omics Integration

Multi-evidence deep learning pipeline for identifying biosynthetic pathway genes using transcriptome-metabolome integration.

Python 3.8+ PyTorch License: MIT

Overview

This framework combines statistical correlation, deep learning feature importance (AutoEncoder + GNN), and homology search (BLAST/HMM) into a multi-evidence scoring system to rank candidate genes involved in target metabolite biosynthesis.

Three Evidence Lines:

  1. Correlation analysis β€” Pearson r between each gene and target metabolite abundance
  2. Deep learning importance β€” AutoEncoder reconstruction/gradient importance + GNN latent-to-gene mapping
  3. Homology search β€” BLAST/HMM hits against known gene families

Data Flow

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚                     RAW DATA (N samples)                               β”‚
 β”‚   Transcriptome (gene expression)        Metabolome (metabolite data)  β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚                                     β”‚
                β–Ό                                     β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚  Step 1: Data Preparation    β”‚  β”‚  01_prepare_data.py          β”‚
 β”‚  FPKM β†’ log2 β†’ z-score      β”‚  β”‚  intensity β†’ log2 β†’ z-score  β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚                                  β”‚
                β–Ό                                  β–Ό
        gene_expression_matrix.csv         metabolite_matrix.csv
          (genes Γ— samples)                  (metabolites Γ— samples)
                β”‚                                  β”‚
                β–Ό                                  β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚  Step 2: Model Training      β”‚  β”‚  02_train_models.py          β”‚
 β”‚  Gene AE: genes β†’ 64 latent β”‚  β”‚  Metab AE: metab β†’ 64 latentβ”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚                                  β”‚
                β–Ό                                  β–Ό
         gene_latent.csv                  metabolite_latent.csv
           (N Γ— 64)                          (N Γ— 64)
                β”‚                                  β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  GNN (Graph Attention Net)    β”‚
              β”‚  128-dim input (64+64 concat) β”‚
              β”‚  Multi-task classification:   β”‚
              β”‚    Tissue / Geography / etc.  β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚                           β”‚                                      β”‚
 β”‚  Step 3: Analysis         β”‚  03_analyze_results.py               β”‚
 β”‚  - Latent space viz (t-SNE, UMAP, PCA)                          β”‚
 β”‚  - Gene-metabolite correlations                                  β”‚
 β”‚  - Target metabolite correlation analysis                        β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                             β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚  Step 4: Feature Importance         04_ae_feature_importance.py  β”‚
 β”‚                                                                  β”‚
 β”‚  Evidence 2a: AE Importance                                      β”‚
 β”‚    - Reconstruction importance (per-gene MSE contribution)       β”‚
 β”‚    - Gradient importance (βˆ‚loss/βˆ‚input)                          β”‚
 β”‚    - Combined β†’ rank-normalized score                            β”‚
 β”‚                                                                  β”‚
 β”‚  Evidence 2b: GNN β†’ Gene Mapping                                 β”‚
 β”‚    - GNN perturbation importance on 128-dim latent               β”‚
 β”‚    - Map back to gene space via:                                 β”‚
 β”‚      gnn_gene_importance[j] = Ξ£_k(latent_imp[k] Γ—               β”‚
 β”‚                                    |corr(gene_j, latent_k)|)    β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                            β”‚
                                            β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚  Step 5: Multi-Evidence Ranking     05_multi_evidence_ranking.py β”‚
 β”‚                                                                  β”‚
 β”‚  Composite Score = 0.4 Γ— Correlation (rank-normalized)           β”‚
 β”‚                  + 0.3 Γ— AE importance (rank-normalized)         β”‚
 β”‚                  + 0.2 Γ— GNN importance (rank-normalized)        β”‚
 β”‚                  + 0.1 Γ— BLAST family bonus (binary)             β”‚
 β”‚                                                                  β”‚
 β”‚  β†’ All genes ranked by multi-evidence composite score            β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                            β”‚
                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β–Ό                  β–Ό                   β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚ Family Integr. β”‚  β”‚ Novel Cands.  β”‚  β”‚ Experiment Targets β”‚
              β”‚ FamilyA: N     β”‚  β”‚ Top genes for β”‚  β”‚ Prioritized by     β”‚
              β”‚ FamilyB: M     β”‚  β”‚ annotation    β”‚  β”‚ composite score    β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quick Start

# Activate environment
conda activate omics-ae

# Run complete pipeline (all 5 steps)
python scripts/run_pipeline.py

# Or run individual steps:
python scripts/run_pipeline.py --steps prep           # Step 1 only
python scripts/run_pipeline.py --steps train          # Step 2 only
python scripts/run_pipeline.py --steps analyze        # Step 3 only
python scripts/run_pipeline.py --steps importance     # Step 4 only
python scripts/run_pipeline.py --steps rank           # Step 5 only

# Combine steps:
python scripts/run_pipeline.py --steps importance,rank

# Gene family integration (after BLAST/HMM results available):
python scripts/integrate_gene_family.py --family FamilyA --blast-file data/processed/blast_results/FamilyA_candidates.xlsx
python scripts/integrate_gene_family.py --batch       # All families in config

Directory Structure

omics-ae-gnn/
β”œβ”€β”€ config/                          # Configuration files
β”‚   β”œβ”€β”€ config.yaml                 # Samples, models, training params
β”‚   β”œβ”€β”€ paths.yaml                  # File paths (relative, portable)
β”‚   β”œβ”€β”€ hardware.yaml               # Device settings (MPS/CUDA/CPU)
β”‚   └── pipeline_params.yaml        # Evidence weights, thresholds
β”‚
β”œβ”€β”€ src/                             # Source code modules
β”‚   β”œβ”€β”€ core/                       # Core utilities
β”‚   β”‚   β”œβ”€β”€ config_loader.py       # YAML config loader
β”‚   β”‚   β”œβ”€β”€ device_manager.py      # Hardware abstraction (MPS/CUDA/CPU)
β”‚   β”‚   └── logger.py              # Logging setup
β”‚   β”‚
β”‚   β”œβ”€β”€ preprocessing/              # Data preprocessing
β”‚   β”‚   β”œβ”€β”€ gene_processor.py      # FPKM β†’ log2 β†’ z-score
β”‚   β”‚   β”œβ”€β”€ metabolite_processor.py # Intensity β†’ log2 β†’ z-score
β”‚   β”‚   └── sample_metadata.py     # Sample metadata generation
β”‚   β”‚
β”‚   β”œβ”€β”€ models/                     # Neural network architectures
β”‚   β”‚   β”œβ”€β”€ autoencoder.py         # AutoEncoder (symmetric, 64-dim latent)
β”‚   β”‚   └── gnn.py                 # GAT with attention export support
β”‚   β”‚
β”‚   β”œβ”€β”€ training/                   # Training utilities
β”‚   β”‚   β”œβ”€β”€ data_loader.py         # PyTorch datasets + graph construction
β”‚   β”‚   └── trainer.py             # Training loop, checkpoints, early stopping
β”‚   β”‚
β”‚   β”œβ”€β”€ analysis/                   # Analysis and interpretation
β”‚   β”‚   β”œβ”€β”€ correlation_analysis.py # Gene-metabolite correlations
β”‚   β”‚   β”œβ”€β”€ explainability.py      # AE/GNN feature importance
β”‚   β”‚   β”œβ”€β”€ multi_evidence_scorer.py # Multi-evidence composite scoring
β”‚   β”‚   β”œβ”€β”€ qc_validator.py        # Quality control validation
β”‚   β”‚   └── report_generator.py    # Automated report generation
β”‚   β”‚
β”‚   └── visualization/              # Visualization utilities
β”‚       β”œβ”€β”€ heatmaps.py            # Correlation heatmaps
β”‚       β”œβ”€β”€ plotters.py            # PCA, distribution plots
β”‚       └── latent_viz.py          # t-SNE, UMAP, latent space viz
β”‚
β”œβ”€β”€ scripts/                        # Pipeline scripts
β”‚   β”œβ”€β”€ run_pipeline.py            # Master pipeline runner (Steps 1-5)
β”‚   β”œβ”€β”€ 01_prepare_data.py         # Step 1: Preprocessing + QC
β”‚   β”œβ”€β”€ 02_train_models.py         # Step 2: AE + GNN training
β”‚   β”œβ”€β”€ 03_analyze_results.py      # Step 3: Visualization + correlations
β”‚   β”œβ”€β”€ 04_ae_feature_importance.py # Step 4: DL feature importance
β”‚   β”œβ”€β”€ 05_multi_evidence_ranking.py # Step 5: Multi-evidence ranking
β”‚   β”œβ”€β”€ integrate_gene_family.py   # Generic family integration
β”‚   └── find_target_genes.py       # Target metabolite correlation analysis
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ raw/                       # Original data files
β”‚   β”‚   β”œβ”€β”€ transcriptome/         # RNA-seq gene expression data
β”‚   β”‚   β”œβ”€β”€ metabolome/            # Metabolomics profiling data
β”‚   β”‚   └── integrated/            # Joint analysis data
β”‚   β”‚
β”‚   └── processed/
β”‚       β”œβ”€β”€ matrices/              # Normalized expression matrices
β”‚       β”œβ”€β”€ latent/                # Latent representations (N Γ— 64)
β”‚       β”œβ”€β”€ blast_results/         # BLAST/HMM family results (.xlsx)
β”‚       β”œβ”€β”€ models/                # Intermediate model artifacts
β”‚       └── results/               # Intermediate analysis results
β”‚
β”œβ”€β”€ outputs/                        # Final outputs
β”‚   β”œβ”€β”€ figures/                   # QC + analysis plots (PNG, 300 DPI)
β”‚   β”œβ”€β”€ tables/                    # Correlation tables (CSV)
β”‚   β”œβ”€β”€ logs/                      # Training logs + history (JSON)
β”‚   β”œβ”€β”€ checkpoints/               # Model checkpoints (.pt)
β”‚   β”‚   β”œβ”€β”€ gene/                  # Gene AE checkpoints
β”‚   β”‚   β”œβ”€β”€ metabolite/            # Metabolite AE checkpoints
β”‚   β”‚   └── gnn/                   # GNN checkpoints
β”‚   β”œβ”€β”€ ae_importance/             # Feature importance scores
β”‚   β”œβ”€β”€ target_analysis/           # Target metabolite correlations
β”‚   β”œβ”€β”€ multi_evidence/            # Multi-evidence ranked genes
β”‚   └── family_integration/        # Per-family integration results
β”‚
β”œβ”€β”€ examples/                       # Example workflows and simulated data
β”œβ”€β”€ docs/                           # Documentation
β”œβ”€β”€ tests/                          # Unit tests
└── README.md

Installation

Prerequisites

  • macOS with Apple Silicon (M1/M2/M3) for MPS acceleration, or Linux/Windows with NVIDIA GPU
  • Python 3.8+, PyTorch 2.0+

Setup

# Clone the repository
git clone https://github.com/yourusername/omics-ae-gnn.git
cd omics-ae-gnn

# Create conda environment
conda env create -f environment.yaml
conda activate omics-ae

# Or install manually
pip install torch numpy pandas scipy scikit-learn matplotlib seaborn openpyxl pyyaml

# Optional
pip install umap-learn                     # UMAP visualization
pip install shap                           # SHAP explainability

# Verify
python -c "import torch; print(f'PyTorch: {torch.__version__}, MPS: {torch.backends.mps.is_available()}')"

Pipeline Steps

Step 1: Data Preparation (01_prepare_data.py)

  • Loads gene expression (FPKM) and metabolite intensity data
  • Applies log2(x+1) transformation + z-score normalization
  • Generates sample metadata, QC plots
Output Description
data/processed/matrices/gene_expression_matrix.csv Normalized gene expression matrix
data/processed/matrices/metabolite_matrix.csv Normalized metabolite matrix
outputs/figures/qc_*.png QC plots

Step 2: Model Training (02_train_models.py)

  • Trains gene AE and metabolite AE with configurable latent dimensions
  • Extracts latent representations for all samples
  • Trains GAT on concatenated latents with multi-task classification
Output Description
data/processed/latent/gene_latent.csv Gene latent representations
data/processed/latent/metabolite_latent.csv Metabolite latent representations
outputs/checkpoints/{gene,metabolite,gnn}/ Model checkpoints (.pt)

Step 3: Results Analysis (03_analyze_results.py)

  • Latent space visualization (t-SNE, UMAP, PCA)
  • Gene-metabolite correlations
  • Target metabolite correlation analysis
Output Description
outputs/figures/analysis_*.png Visualization plots
outputs/tables/top_gene_metabolite_correlations.csv Significant gene-metabolite pairs
outputs/target_analysis/all_gene_correlations.csv All gene-target correlations

Step 4: Feature Importance (04_ae_feature_importance.py)

This step closes the loop between deep learning and gene selection. It retrains models if checkpoints are missing.

  • AE importance: Reconstruction importance + gradient importance per gene, combined via rank-normalization
  • GNN-to-gene mapping: Perturbation-based latent importance mapped to gene space via correlation matrix: gnn_gene_importance[j] = Ξ£_k(latent_imp[k] Γ— |corr(gene_j, latent_k)|)
  • Latent-correlation importance: Supplementary metric not requiring checkpoints
Output Description
outputs/ae_importance/gene_ae_importance.csv AE importance for all genes
outputs/ae_importance/gene_gnn_importance.csv GNN-mapped importance for all genes
outputs/ae_importance/gene_latent_corr_importance.csv Latent-correlation importance
outputs/ae_importance/importance_analysis.png Importance distribution plots

Step 5: Multi-Evidence Ranking (05_multi_evidence_ranking.py)

Combines all evidence into a single composite ranking using rank-based normalization:

Composite = 0.4 Γ— Correlation + 0.3 Γ— AE importance + 0.2 Γ— GNN importance + 0.1 Γ— BLAST bonus

Weights are configurable in config/pipeline_params.yaml.

Output Description
outputs/multi_evidence/multi_evidence_ranked_genes.csv All genes ranked
outputs/multi_evidence/multi_evidence_ranked_genes.xlsx Top genes + BLAST hits + details
outputs/multi_evidence/multi_evidence_visualization.png 6-panel summary figure
outputs/multi_evidence/MULTI_EVIDENCE_SUMMARY.txt Text summary

Gene Family Integration (integrate_gene_family.py)

Standalone script for integrating BLAST/HMM results with pipeline outputs. Supports any gene family.

# Single family
python scripts/integrate_gene_family.py --family FamilyA \
    --blast-file data/processed/blast_results/FamilyA_candidates.xlsx

# All families defined in config
python scripts/integrate_gene_family.py --batch

# With AE importance overlay
python scripts/integrate_gene_family.py --family FamilyA \
    --blast-file data/processed/blast_results/FamilyA_candidates.xlsx \
    --ae-importance outputs/ae_importance/gene_ae_importance.csv

Outputs to outputs/family_integration/{family_name}/.

Configuration

All parameters in config/:

File Contents
config.yaml Sample definitions, model architecture, training params
paths.yaml File paths (relative, portable)
hardware.yaml Device preferences (MPS/CUDA/CPU)
pipeline_params.yaml Evidence weights, gene families, thresholds

Key configurable parameters in pipeline_params.yaml:

gene_ranking:
  multi_evidence_weights:
    correlation: 0.4      # Pearson r with target metabolite
    ae_importance: 0.3    # AutoEncoder feature importance
    gnn_importance: 0.2   # GNN latent-to-gene mapped importance
    blast_bonus: 0.1      # Known family membership bonus

  alkaloid_genes:
    reference_genes:      # Families for batch integration
      - "FamilyA"
      - "FamilyB"
      - "FamilyC"

Hardware Acceleration

Automatically detects and uses MPS (macOS), CUDA (Linux/Windows), or CPU. Configure in config/hardware.yaml.

Methodology

Multi-Evidence Scoring

The pipeline generates three independent lines of evidence, then combines them:

  1. Statistical correlation: Direct Pearson correlation between gene expression and target metabolite abundance across all samples
  2. Deep learning importance: AutoEncoder identifies genes that contribute most to learned latent representations; GNN validates that latent space captures biological structure (tissue/geography classification), then maps latent importance back to gene space
  3. Homology search: BLAST/HMM hits against known biosynthetic gene families provide a binary bonus

Rank-based normalization ensures each evidence type contributes proportionally regardless of scale differences.

Why This Works

  • GNN's high classification accuracy validates that AE latent spaces capture real biological signal
  • Therefore, AE-derived gene importance scores are biologically meaningful
  • Cross-validation between statistical and deep learning evidence reduces false positives
  • BLAST provides orthogonal sequence-based evidence

Citation

If you use this framework in your research, please cite:

@software{omics_ae_gnn,
  author = {Arnold},
  title = {Autoencoder and Graph Neural Networks for Multi-Omics Integration},
  year = {2026},
  url = {https://github.com/arnold117/omics-ae-gnn}
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contact

For questions or collaborations, please open an issue on GitHub.


Pipeline version: 3.0.0

About

Autoencoder and Graph Neural Networks for Multi-Omics Integration: Latent space fusion of transcriptomic and metabolomic data for biosynthetic gene discovery

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages